Merged d550d7de8e2d and 99a40df6afb8 (branch default - CVS HEAD) jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 31 May 2013 00:35:44 +0100
branchjv
changeset 12807 ba8c5416aa28
parent 12806 d550d7de8e2d (current diff)
parent 12785 99a40df6afb8 (diff)
child 12808 1b7c88d91de8
Merged d550d7de8e2d and 99a40df6afb8 (branch default - CVS HEAD)
AbstractFileBrowser.st
AbstractFileFinderApplicationComponent.st
AbstractLauncherApplication.st
AbstractSettingsApplication.st
BrowserView.st
CVSSourceCodeManagementSettingsAppl.st
ChangesBrowser.st
ContextInspectorView.st
DebugView.st
Diff.st
DiffListUtility.st
FileBrowser.st
FileBrowserV2.st
FileOperation.st
FindFileApplication.st
InspectorView.st
Make.proto
Make.spec
MemoryMonitorView.st
NewLauncher.st
PerforceSourceCodeManagerUtilities.st
ProcessMonitorV2.st
SettingsDialog.st
SmalltalkCodeGeneratorTool.st
SyntaxHighlighter2.st
SystemBrowser.st
Tools__AbstractTestRunner.st
Tools__ChangeSetBrowser2.st
Tools__CodeView2.st
Tools__HierarchicalPackageFilterList.st
Tools__InlineMessageDialog.st
Tools__Inspector2.st
Tools__NewSystemBrowser.st
Tools__Tag.st
Tools__TagList.st
Tools__TagsBrowser.st
Tools__TestRunnerEmbedded.st
WorkspaceApplication.st
bc.mak
extensions.st
libInit.cc
libtool.rc
resources/de.rs
stx_libtool.st
--- a/AbstractFileBrowser.st	Tue May 28 22:46:27 2013 +0100
+++ b/AbstractFileBrowser.st	Fri May 31 00:35:44 2013 +0100
@@ -98,7 +98,6 @@
 "
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'accessing'!
 
 currentSelection
@@ -147,7 +146,6 @@
     RootHolder := aRoot
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'accessing-bookmarks'!
 
 addBookmark:aDirectoryPath
@@ -306,7 +304,6 @@
     self saveBookmarksIn:(self defaultBookMarksFileDirectory construct:self defaultBookMarksFilename)
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'accessing-classes'!
 
 directoryHistoryClass
@@ -315,7 +312,6 @@
     "Modified: / 21-11-2012 / 08:46:34 / cg"
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'defaults'!
 
 commandHistory
@@ -340,15 +336,17 @@
     DefaultFilters isNil ifTrue:[
         DefaultFilters := #(        '*'
                                     '*.st' 
-                                    '*.htm*' 
-                                    '*.txt' 
-                                    '*.gif' 
-                                    '*.xpm' 
-                                    '*.jpg' 
                                     '*.[h,c]*' 
+                                    '*.txt; *.htm*' 
+                                    '*.gif; *.xpm; *.jpg; *.png' 
+                                    '~*o; ~*.obj; ~*.dll;' 
                                 )
     ].
     ^ DefaultFilters.
+
+    "
+     DefaultFilters := nil
+    "
 !
 
 initialCommandFor:fileName in:aDirectory intoBox:aBox
@@ -565,7 +563,6 @@
     "Modified: / 11-05-2012 / 09:22:04 / cg"
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'help specs'!
 
 basicFlyByHelpSpec
@@ -720,7 +717,6 @@
     "Modified: / 03-11-2007 / 12:05:01 / cg"
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'image specs'!
 
 clearHistoryIcon
@@ -932,7 +928,6 @@
     ^ ToolbarIconLibrary shell20x20Icon
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'interface specs'!
 
 encodingDialogSpec
@@ -1282,7 +1277,6 @@
     "Modified: / 28-02-2012 / 11:12:38 / cg"
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'menu specs'!
 
 baseBookmarksMenuSpec
@@ -2594,7 +2588,6 @@
       )
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'menu specs-scm'!
 
 cvsMenu
@@ -2772,21 +2765,18 @@
     "Created: / 15-01-2012 / 13:12:30 / cg"
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'misc'!
 
 newLock
     ^ CodeExecutionLock new
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'resources'!
 
 classResources
     ^ FileBrowser classResources
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'utilities'!
 
 contentsOfBytesAsHexDump:data numberOfAddressDigits:addrDigits addressStart:virtualStart
@@ -2955,7 +2945,6 @@
     "Modified: / 13-02-2012 / 15:01:19 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'actions'!
 
 askForCommandFor:fileName thenDo:aBlock
@@ -3307,7 +3296,6 @@
     ]
 ! !
 
-
 !AbstractFileBrowser methodsFor:'actions bookmarks'!
 
 addBookmark
@@ -3353,7 +3341,6 @@
      self class saveBookmarks
 ! !
 
-
 !AbstractFileBrowser methodsFor:'actions history'!
 
 addToCommandHistory:aCommandString for:aFilename
@@ -3406,7 +3393,6 @@
     ].
 ! !
 
-
 !AbstractFileBrowser methodsFor:'applications'!
 
 applicationNamed:anApplicationName ifPresentDo:aBlock
@@ -3423,7 +3409,6 @@
     ^ self applications at:#DirectoryContentsBrowser ifAbsent:nil.
 ! !
 
-
 !AbstractFileBrowser methodsFor:'aspects'!
 
 applications
@@ -3780,7 +3765,6 @@
     self aspectFor:#rootHolder put:aHolder
 ! !
 
-
 !AbstractFileBrowser methodsFor:'aspects handling'!
 
 aspectFor:something ifAbsent:aBlock
@@ -3890,7 +3874,6 @@
     "Modified: / 14-10-2010 / 19:16:38 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'aspects-filter'!
 
 filter:aString
@@ -3932,39 +3915,62 @@
     "return a two-arg filterblock on the files path- and base-name. This block should return true for files
      to be shown"
 
-    | filterString filterStrings filters showHidden yesOrNo filterBlock ignoreCase|
+    | filterString filterStrings filters notFilters showHidden filterBlock ignoreCase|
 
     filterString := self filterModel value.
     filterString = '' ifTrue:[filterString := '*'].
     ignoreCase := "ignoreCaseInPattern ? "(Filename isCaseSensitive not).
 
     filterStrings := filterString asCollectionOfSubstringsSeparatedBy:$;.
+    filterStrings := filterStrings
+                select:[:eachFilter | eachFilter withoutSeparators notEmpty].
+
     filters := filterStrings
-                collect:[:eachPattern |
+                reject:[:eachFilter | eachFilter withoutSeparators startsWith:'~']
+                thenCollect:
+                    [:eachPattern |
                         |pattern|
 
                         pattern := eachPattern withoutSeparators.
-                        yesOrNo := true.
-                        (pattern startsWith:'~') ifTrue:[
-                            yesOrNo := false.
-                            pattern := pattern copyFrom:2.
-                        ].
                         "JV@2012-03-05: Add implict star at the beggining and at the end of pattern,
                          that's how most of the other applications behave - do what most users expect"
                         pattern first == $* ifFalse:[pattern := '*' , pattern].
                         pattern last  == $* ifFalse:[pattern := pattern , '*'].
 
-                        yesOrNo ifTrue:[
-                            [:name :baseName | pattern match:baseName ignoreCase:ignoreCase]
-                        ] ifFalse:[
-                            [:name :baseName | (pattern match:baseName ignoreCase:ignoreCase) not]
-                        ].
+                        [:name :baseName | pattern match:baseName ignoreCase:ignoreCase]
                     ].
 
-    filters size == 1 ifTrue:[ 
+    notFilters := filterStrings
+                select:[:eachFilter | eachFilter withoutSeparators startsWith:'~']
+                thenCollect:
+                    [:eachPattern |
+                        |pattern|
+
+                        pattern := eachPattern withoutSeparators.
+                        pattern := (pattern copyFrom:2) withoutSeparators.
+                        [:name :baseName | pattern match:baseName ignoreCase:ignoreCase]
+                    ].
+
+
+    (filters size == 1 and:[notFilters isEmpty]) ifTrue:[ 
         filterBlock := filters first 
     ] ifFalse:[
-        filterBlock := [:name :baseName | filters contains:[:aFilter | aFilter value:name value:baseName ]].
+        filters isEmpty ifTrue:[
+            filterBlock := [:name :baseName | 
+                               (notFilters contains:[:aFilter | aFilter value:name value:baseName ]) not
+                           ].
+        ] ifFalse:[
+            notFilters isEmpty ifTrue:[
+                filterBlock := [:name :baseName | 
+                                   (filters contains:[:aFilter | aFilter value:name value:baseName ])
+                               ].
+            ] ifFalse:[
+                filterBlock := [:name :baseName | 
+                                   (filters contains:[:aFilter | aFilter value:name value:baseName ])
+                                   and:[ (notFilters contains:[:aFilter | aFilter value:name value:baseName ]) not ]
+                               ].
+            ]
+        ]
     ].
 
     showHidden := self showHiddenFiles value.
@@ -3982,7 +3988,6 @@
     ^ self aspectFor:#shownFiles ifAbsent:['-/-' asValue]
 ! !
 
-
 !AbstractFileBrowser methodsFor:'aspects-history'!
 
 dirHistory
@@ -4013,7 +4018,6 @@
     ^ self aspectFor:#fileHistory ifAbsent:[OrderedSet new]
 ! !
 
-
 !AbstractFileBrowser methodsFor:'aspects-visibility'!
 
 activityVisibilityChannel
@@ -4243,7 +4247,6 @@
     ^ self directoryContentsBrowser viewType
 ! !
 
-
 !AbstractFileBrowser methodsFor:'background processing'!
 
 executeCommand:cmd
@@ -4326,7 +4329,6 @@
     process resume.
 ! !
 
-
 !AbstractFileBrowser methodsFor:'change & update'!
 
 currentFileNameHolderChanged
@@ -4454,7 +4456,6 @@
     self updateCurrentDirectory
 ! !
 
-
 !AbstractFileBrowser methodsFor:'clipboard'!
 
 canPaste
@@ -4506,7 +4507,6 @@
     self canPaste value:true.
 ! !
 
-
 !AbstractFileBrowser methodsFor:'drag & drop'!
 
 canDropFiles:dropedObjects for:filename 
@@ -4638,7 +4638,6 @@
     "Created: / 13-10-2006 / 18:26:41 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'file operations'!
 
 copyFile:aSourceFile to:aDestFile
@@ -5152,7 +5151,6 @@
     "Modified: / 04-12-2006 / 13:15:24 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu accessing'!
 
 bookmarksMenu
@@ -5387,7 +5385,6 @@
     "Modified: / 09-09-2012 / 13:07:45 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu actions'!
 
 doCompareTwoFiles
@@ -5478,7 +5475,6 @@
     "Created: / 29-12-2010 / 11:03:00 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu actions-file'!
 
 copyFiles
@@ -5525,7 +5521,6 @@
     ].
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu actions-help'!
 
 openAboutThisApplication
@@ -5538,9 +5533,18 @@
     HTMLDocumentView openFullOnDocumentationFile:relativeDocPath
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu actions-scm-cvs'!
 
+commitFilesToCVS:files
+    |numFiles|
+
+    (numFiles := files size) > 0 ifTrue:[
+        self withActivityIndicationDo:[
+            self cvsCommitFiles:files
+        ]
+    ]
+!
+
 cvsAddAndCommit
     self cvsAddAndCommitAsBinary:false
 !
@@ -5606,16 +5610,23 @@
 !
 
 cvsCommit
-    |nSel log logArg msg cmd selectedFiles sel executionBlock nameString|
+    |selectedFiles|
 
     selectedFiles:= self currentSelectedFiles.
-    nSel := selectedFiles size.
-
-    nSel == 1 ifTrue:[
-        msg := resources string:'Enter log message for checkIn of "%1"' with:(selectedFiles first baseName)
+    self cvsCommitFiles:selectedFiles
+!
+
+cvsCommitFiles:files
+    |nFiles log logTmp s logArg msg executionBlock nameString |
+
+    nFiles := files size.
+    nFiles == 0 ifTrue:[^ self].
+
+    nFiles == 1 ifTrue:[
+        msg := resources string:'Enter log message for checkIn of "%1"' with:(files first baseName)
     ] ifFalse:[
-        nSel > 1 ifTrue:[
-            msg := resources string:'Enter log message for %1 files to checkIn' with:nSel printString
+        nFiles > 1 ifTrue:[
+            msg := resources string:'Enter log message for %1 files to checkIn' with:nFiles printString
         ] ifFalse:[
             msg := resources string:'Enter log message for checkIn'
         ]
@@ -5628,34 +5639,37 @@
         initialAnswer:nil.
 
     log isNil ifTrue:[^ self].
+    log := log replChar:$"  withString:'\"'.
 
     OperatingSystem isMSWINDOWSlike ifTrue:[
-        logArg := '-m "' , log , '"'.
+        "/ save the log message into another tempFile ...
+        logTmp := Filename newTemporary.
+        s := logTmp writeStream.
+        s nextPutAll:log.
+        s close.
+
+        logArg := '-F "', logTmp pathName, '"'.
     ] ifFalse:[
         logArg := '-m ''' , log , ''''.
     ].
 
-    sel := self currentSelectedObjects.
-    sel isEmpty ifTrue:[ ^ self ].
-
     executionBlock := [:stream |
-        log notNil ifTrue:[
-            sel size > 0 ifTrue:[
-                sel do:[:fn |
-                    | dir nameArg |
-
-                    nameArg := '"',fn baseName,'"'.
-                    dir := fn directory.
-                    cmd := 'cvs commit ',logArg,' ' , nameArg.
-                    (self getExecutionBlockForCommand:cmd inDirectory:dir) value:stream.
-                ]
+        [
+            files do:[:fn |
+                | dir nameArg cmd |
+
+                nameArg := '"',fn baseName,'"'.
+                dir := fn directory.
+                cmd := 'cvs commit ',logArg,' ' , nameArg.
+stream showCR:fn pathName.
+                (self getExecutionBlockForCommand:cmd inDirectory:dir) value:stream.
             ] 
-        ]
+        ] ensure:[
+            logTmp notNil ifTrue:[ logTmp remove ].
+        ].
     ].
     nameString := 'Command> cvs commit'.
     self makeExecutionResultProcessFor:executionBlock withName:nameString.
-
-    "Modified: / 04-12-2006 / 13:16:39 / cg"
 !
 
 cvsCompareWithNewest
@@ -5866,7 +5880,6 @@
     ]
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu actions-scm-mercurial'!
 
 mercurialAdd
@@ -6016,7 +6029,6 @@
     "Created: / 15-01-2012 / 19:43:08 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu actions-tools'!
 
 allFilesInSelectedDirectoriesForWhich:aBlock
@@ -6553,12 +6565,12 @@
         path := dir baseName , '/' , path.
         dir := dir directory.
         dir isNil ifTrue:[
-            Dialog warning:'Could not find a path from "stx" to the current directory.'.
+            Dialog warn:'Could not find a path from "stx" to the current directory.'.
             "/ should ask the user for a packageID and proceed...
             ^  self.
         ].
     ].
-    packageID := path copyWithoutLast:1.
+    packageID := path copyButLast:1.
     Smalltalk loadPackage:packageID fromDirectory:packageDir asAutoloaded:true
 !
 
@@ -7982,7 +7994,7 @@
         |sig msg label labels values action proceedValue isRedef redefKind|
 
         isRedef := false.
-        sig := ex signal.
+        sig := ex creator.
         (dontAskSignals notNil and:[dontAskSignals includesKey:sig]) ifTrue:[
             action := #continue    
         ] ifFalse:[
@@ -8176,7 +8188,6 @@
     "Modified: / 04-12-2006 / 13:15:28 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu queries-cvs'!
 
 canCvsAddAndCommit
@@ -8198,7 +8209,6 @@
         ].
 ! !
 
-
 !AbstractFileBrowser methodsFor:'menu queries-tools'!
 
 anySTFilesOrDirectoriesPresent
@@ -8388,7 +8398,6 @@
     ^ false
 ! !
 
-
 !AbstractFileBrowser methodsFor:'presentation'!
 
 getModeString:modeBits
@@ -8428,7 +8437,6 @@
     ^ modeString
 ! !
 
-
 !AbstractFileBrowser methodsFor:'private'!
 
 theSingleSelectedDirectoryOrHomeDir
@@ -8447,7 +8455,6 @@
     ^ dirs anElement.
 ! !
 
-
 !AbstractFileBrowser methodsFor:'queries'!
 
 cBrowserLoaded
@@ -8600,7 +8607,6 @@
     ^ OperatingSystem isUNIXlike
 ! !
 
-
 !AbstractFileBrowser methodsFor:'queries-file'!
 
 allItemsOfCurrentDirectory
@@ -8801,7 +8807,6 @@
     ^ self recursiveAnyFilesPresentWithSuffix:'st'
 ! !
 
-
 !AbstractFileBrowser methodsFor:'selection'!
 
 currentSelectedDirectories
@@ -8855,7 +8860,6 @@
     "Modified: / 04-12-2006 / 13:15:04 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'sorting'!
 
 currentSortOrder
@@ -8938,7 +8942,6 @@
     "Modified: / 18-09-2007 / 09:42:47 / cg"
 ! !
 
-
 !AbstractFileBrowser methodsFor:'startup & release'!
 
 makeDependent
@@ -8980,7 +8983,6 @@
     "Modified: / 25-07-2006 / 09:12:45 / cg"
 ! !
 
-
 !AbstractFileBrowser::Clipboard methodsFor:'accessing'!
 
 files
@@ -9007,7 +9009,6 @@
     method := something.
 ! !
 
-
 !AbstractFileBrowser::CodeExecutionLock methodsFor:'accessing'!
 
 locked
@@ -9019,7 +9020,6 @@
     ^ locked
 ! !
 
-
 !AbstractFileBrowser::CodeExecutionLock methodsFor:'actions'!
 
 doIfUnLocked:aBlock
@@ -9037,21 +9037,18 @@
     ]
 ! !
 
-
 !AbstractFileBrowser::DirectoryHistory class methodsFor:'defaults'!
 
 defaultHistorySize
     ^ 50
 ! !
 
-
 !AbstractFileBrowser::DirectoryHistory class methodsFor:'instance creation'!
 
 new
     ^ (super new) initializeHistory.
 ! !
 
-
 !AbstractFileBrowser::DirectoryHistory methodsFor:'accessing'!
 
 historySize
@@ -9063,7 +9060,6 @@
     historySize := aNumber
 ! !
 
-
 !AbstractFileBrowser::DirectoryHistory methodsFor:'actions'!
 
 addToHistory:aPath
@@ -9072,7 +9068,7 @@
     pathToAdd := aPath.
     (pathToAdd endsWith:(Filename separator)) ifTrue:[
         pathToAdd asFilename isRootDirectory ifFalse:[
-            pathToAdd := pathToAdd copyWithoutLast:(Filename separator asString size).    
+            pathToAdd := pathToAdd copyButLast:(Filename separator asString size).    
         ]    
     ].
 
@@ -9157,7 +9153,6 @@
     ].
 ! !
 
-
 !AbstractFileBrowser::DirectoryHistory methodsFor:'initialization'!
 
 initializeHistory
@@ -9169,7 +9164,6 @@
     backForwardIndex := backForwardList size.
 ! !
 
-
 !AbstractFileBrowser::DirectoryHistory methodsFor:'queries'!
 
 canBackward
@@ -9255,7 +9249,6 @@
     ^ retPath.
 ! !
 
-
 !AbstractFileBrowser::DirectoryHistory::DirectoryHistoryItem class methodsFor:'instance creation'!
 
 path:aPath
@@ -9263,7 +9256,6 @@
     ^ self new path:aPath
 ! !
 
-
 !AbstractFileBrowser::DirectoryHistory::DirectoryHistoryItem methodsFor:'accessing'!
 
 asFilename
@@ -9299,7 +9291,6 @@
     ^ self path asString
 ! !
 
-
 !AbstractFileBrowser::SaveAspectItem class methodsFor:'instance creation'!
 
 withValue:aValue isHolder:aBoolean
@@ -9312,7 +9303,6 @@
     ^ instance
 ! !
 
-
 !AbstractFileBrowser::SaveAspectItem methodsFor:'accessing'!
 
 isHolder
@@ -9339,15 +9329,14 @@
     value := something.
 ! !
 
-
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.517 2013-03-31 20:12:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.521 2013-05-28 10:34:21 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.517 2013-03-31 20:12:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.521 2013-05-28 10:34:21 cg Exp $'
 !
 
 version_HG
--- a/AbstractFileFinderApplicationComponent.st	Tue May 28 22:46:27 2013 +0100
+++ b/AbstractFileFinderApplicationComponent.st	Fri May 31 00:35:44 2013 +0100
@@ -37,7 +37,6 @@
 "
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'accessing'!
 
 accessLock
@@ -58,7 +57,6 @@
     "Modified (format): / 11-01-2012 / 22:41:01 / cg"
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'actions'!
 
 changeInformationTo:aString
@@ -187,7 +185,7 @@
     (task := searchTask) notNil ifTrue:[
         searchTask := nil.
 
-        Object errorSignal handle:[:ex|
+        Error handle:[:ex|
             Dialog warn:ex description.
         ]do:[
             task isDead ifFalse:[
@@ -198,7 +196,6 @@
     ].
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'aspects'!
 
 autoSelectInBrowser
@@ -290,7 +287,6 @@
     ^ shownListHolder.
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -307,7 +303,6 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'drag & drop'!
 
 getDisplayObjects:anArgument
@@ -350,7 +345,6 @@
         ].
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'event handling'!
 
 fileDoubleClick:entries
@@ -439,7 +433,6 @@
     ^ false
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'initialization'!
 
 initialize
@@ -452,7 +445,6 @@
     "Modified: / 12-01-2012 / 01:39:27 / cg"
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'queries'!
 
 hasOneFileSelected
@@ -468,7 +460,6 @@
     ^ sel notEmptyOrNil
 ! !
 
-
 !AbstractFileFinderApplicationComponent methodsFor:'tasks'!
 
 stopSearchTaskOrAbort
@@ -484,15 +475,14 @@
     "Created: / 12-01-2012 / 01:48:42 / cg"
 ! !
 
-
 !AbstractFileFinderApplicationComponent class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.9 2013-03-28 16:48:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.10 2013-04-27 12:27:47 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.9 2013-03-28 16:48:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.10 2013-04-27 12:27:47 cg Exp $'
 !
 
 version_HG
--- a/AbstractLauncherApplication.st	Tue May 28 22:46:27 2013 +0100
+++ b/AbstractLauncherApplication.st	Fri May 31 00:35:44 2013 +0100
@@ -19,6 +19,18 @@
 	category:'Interface-Smalltalk'
 !
 
+AbstractLauncherApplication class instanceVariableNames:'SettingsList UserSettingsList'
+
+"
+ The following class instance variables are inherited by this class:
+
+	ToolApplicationModel - history fileHistory clipboard settings showingHelp instances
+	ApplicationModel - ClassResources
+	Model - 
+	Object - 
+"
+!
+
 Object subclass:#LauncherDialogs
 	instanceVariableNames:''
 	classVariableNames:''
@@ -725,13 +737,11 @@
                         ^ nil
                     ]
                 ].
-                "/self halt.
+                "/ self halt.
             ].
         ].
     ].
     ^ cls
-
-    "Modified: / 24-04-2013 / 12:08:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 findWindow:title
@@ -7012,11 +7022,11 @@
 !AbstractLauncherApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.426 2013-03-28 18:18:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.429 2013-05-14 10:27:57 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.426 2013-03-28 18:18:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.429 2013-05-14 10:27:57 cg Exp $'
 !
 
 version_HG
@@ -7025,6 +7035,6 @@
 !
 
 version_SVN
-    ^ '§Id: AbstractLauncherApplication.st 7796 2011-06-23 16:01:32Z vranyj1 §'
+    ^ '$Id: AbstractLauncherApplication.st,v 1.429 2013-05-14 10:27:57 cg Exp $'
 ! !
 
--- a/AbstractSettingsApplication.st	Tue May 28 22:46:27 2013 +0100
+++ b/AbstractSettingsApplication.st	Fri May 31 00:35:44 2013 +0100
@@ -28,22 +28,22 @@
 
 AbstractSettingsApplication subclass:#ByteCodeCompilerSettingsAppl
 	instanceVariableNames:'warnings warnSTX warnDollar warnOldStyle warnCommonMistakes
-		warnUnderscore warnCompatibility warnUnusedVars
-		warnAboutWrongVariableNames warnAboutBadComments
-		warnInconsistentReturnValues
-		warnAboutNonLowercaseLocalVariableNames allowQualifiedNames
-		allowDollar allowReservedWordsAsSelectors allowOldStyleAssignment
-		allowUnderscore allowDolphinExtensions allowSqueakExtensions
-		allowVisualAgeESSymbolLiterals allowVisualAgePrimitives
-		allowFixedPointLiterals justInTimeCompilation canLoadBinaries
-		constantFoldingSelection keepSource constantFolding
-		constantFoldingOptions fullDebugSupport immutableArrays
-		enableUnderscore enableDollar allowEmptyStatements
-		warnAboutPossibleSTCCompilationProblems
-		warnAboutReferenceToPrivateClass warnAboutShortLocalVariableNames
-		warnAboutPossiblyUnimplementedSelectors
-		allowExtendedBinarySelectors warnAboutMissingMethodComment
-		allowAssignmentToPoolVariable warnPlausibilityChecks'
+                warnUnderscore warnCompatibility warnUnusedVars
+                warnAboutWrongVariableNames warnAboutBadComments
+                warnInconsistentReturnValues
+                warnAboutNonLowercaseLocalVariableNames allowQualifiedNames
+                allowDollar allowReservedWordsAsSelectors allowOldStyleAssignment
+                allowUnderscore allowDolphinExtensions allowSqueakExtensions
+                allowVisualAgeESSymbolLiterals allowVisualAgePrimitives
+                allowFixedPointLiterals justInTimeCompilation canLoadBinaries
+                constantFoldingSelection keepSource constantFolding
+                constantFoldingOptions fullDebugSupport immutableArrays
+                immutableStrings enableUnderscore enableDollar
+                allowEmptyStatements warnAboutPossibleSTCCompilationProblems
+                warnAboutReferenceToPrivateClass warnAboutShortLocalVariableNames
+                warnAboutPossiblyUnimplementedSelectors
+                allowExtendedBinarySelectors warnAboutMissingMethodComment
+                allowAssignmentToPoolVariable warnPlausibilityChecks'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication
@@ -194,7 +194,8 @@
 		selectOnRightClick popUpMenuOnRelease
 		showRightButtonMenuOnRelease formatHostNameWindowLabel1
 		formatHostNameWindowLabel2 allowMouseWheelZoom
-		forceWindowsIntoMonitorBounds button2WithAltKey'
+		forceWindowsIntoMonitorBounds button2WithAltKey
+		autoRaiseOnFocusIn'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication
@@ -255,7 +256,7 @@
 	instanceVariableNames:'cc ccOptions stcIncludes linkCommand stc linkArgs linkSharedArgs
 		canLoadBinaries stcDefines stcLibraries stcOptions stcLibraryPath
 		stcCompilationSelection stcCompilationList makeCommand
-		stcKeepCIntermediate supportedCCompilerSelection'
+		stcKeepCIntermediate supportedCCompilerSelection verbose'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication
@@ -411,7 +412,6 @@
 "
 ! !
 
-
 !AbstractSettingsApplication class methodsFor:'defaults'!
 
 classResources
@@ -434,14 +434,12 @@
     "Created: / 25-10-2010 / 09:37:21 / cg"
 ! !
 
-
 !AbstractSettingsApplication class methodsFor:'interface specs'!
 
 windowSpec
     self subclassResponsibility
 ! !
 
-
 !AbstractSettingsApplication class methodsFor:'queries'!
 
 isVisualStartable
@@ -452,7 +450,6 @@
     ^ super isVisualStartable
 ! !
 
-
 !AbstractSettingsApplication methodsFor:'accessing'!
 
 requestor:anotherApplication
@@ -471,7 +468,6 @@
     "Modified: / 12-05-2010 / 18:44:09 / cg"
 ! !
 
-
 !AbstractSettingsApplication methodsFor:'actions'!
 
 evaluateModified
@@ -547,7 +543,6 @@
     self modifiedChannel value:self hasUnsavedChanges
 ! !
 
-
 !AbstractSettingsApplication methodsFor:'aspects'!
 
 modifiedChannel
@@ -558,7 +553,6 @@
     ^ modifiedChannel
 ! !
 
-
 !AbstractSettingsApplication methodsFor:'helpers'!
 
 hasChangedAspectIn:aListOfAspects asComparedTo:anAspectProvider
@@ -630,7 +624,6 @@
     "Modified: / 24-08-2010 / 16:52:42 / sr"
 ! !
 
-
 !AbstractSettingsApplication methodsFor:'initialization'!
 
 initialize
@@ -647,14 +640,12 @@
     currentUserPrefs := UserPreferences current.
 ! !
 
-
 !AbstractSettingsApplication methodsFor:'menu'!
 
 settingsDialogPopUpMenu
     ^ nil
 ! !
 
-
 !AbstractSettingsApplication methodsFor:'protocol'!
 
 askForChangeOnRelease
@@ -694,7 +685,6 @@
     ^ nil.
 ! !
 
-
 !AbstractSettingsApplication methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -712,7 +702,6 @@
     ^ settingsDialog getNameOfApplication:self.
 ! !
 
-
 !AbstractSettingsApplication::BuildSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -723,7 +712,6 @@
     "Modified: / 17-09-2007 / 11:35:02 / cg"
 ! !
 
-
 !AbstractSettingsApplication::BuildSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -882,7 +870,6 @@
     "Modified: / 22-01-2012 / 10:59:44 / cg"
 ! !
 
-
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -945,7 +932,6 @@
     ].
 ! !
 
-
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'aspects'!
 
 buildDirectory
@@ -984,14 +970,12 @@
     "Created: / 22-01-2012 / 10:59:30 / cg"
 ! !
 
-
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/buildSetup.html'
 ! !
 
-
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'initialization'!
 
 postBuildDirectoryField:aField
@@ -1000,7 +984,6 @@
 	with:(Filename currentDirectory construct:'stx_build') pathName)
 ! !
 
-
 !AbstractSettingsApplication::BuildSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -1018,7 +1001,6 @@
     "Modified: / 22-01-2012 / 10:50:15 / cg"
 ! !
 
-
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'defaults'!
 
 constantFoldingOptions
@@ -1031,6 +1013,80 @@
     ^ #('disabled' 'level1 (always safe)' 'level2 (usually safe)' 'full')
 ! !
 
+!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'help specs'!
+
+flyByHelpSpec
+    "This resource specification was automatically generated
+     by the UIHelpTool of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIHelpTool may not be able to read the specification."
+
+    "
+     UIHelpTool openOnClass:AbstractSettingsApplication::ByteCodeCompilerSettingsAppl    
+    "
+
+    <resource: #help>
+
+    ^ super flyByHelpSpec addPairsFrom: self helpPairs
+!
+
+helpPairs
+    "This resource specification was automatically generated
+     by the UIHelpTool of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIHelpTool may not be able to read the specification."
+
+    "
+     UIHelpTool openOnClass:AbstractSettingsApplication::ByteCodeCompilerSettingsAppl    
+    "
+
+    <resource: #help>
+
+    ^ #(
+
+#arraysAreImmutable
+'Array literals are readonly objects, which cannot be modified.
+Prevents constant arrays as returned from a method to be modified elsewhere by accident.'
+
+#fullDebugInfo
+'Include more debug support in the generated code.
+Especially restartability and returnability of methods in the debugger are improved.'
+
+#stringsAreImmutable
+'String literals are readonly objects, which cannot be modified.
+Prevents constant strings as returned from a method to be modified elsewehere by accident.'
+
+)
+!
+
+helpSpec
+    "This resource specification was automatically generated
+     by the UIHelpTool of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIHelpTool may not be able to read the specification."
+
+    "
+     UIHelpTool openOnClass:AbstractSettingsApplication::ByteCodeCompilerSettingsAppl    
+    "
+
+    <resource: #help>
+
+    ^ super helpSpec addPairsFrom:#(
+
+#arraysAreImmutable
+''
+
+#fullDebugInfo
+''
+
+#stringsAreImmutable
+''
+
+)
+! !
 
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'image specs'!
 
@@ -1118,7 +1174,6 @@
 @@PC@@LD@@P@@0PDA@PC@0LC@0LD@0LC@0LC@@LC@0LC@0PD') ; colorMapFromArray:#[255 189 23 127 127 127 236 233 216 0 0 0 255 255 255 194 194 194 161 161 165]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@A @@C0@@33@A?? A?? @??@@??@C??0G??8G??8C??0@??@@??@A?? A?? @33@@C0@O5+<HT*DHTJDO7;<') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -1136,431 +1191,438 @@
 
     <resource: #canvas>
 
-    ^
+    ^ 
      #(FullSpec
-	name: windowSpec
-	window:
+        name: windowSpec
+        window: 
        (WindowSpec
-	  label: 'Byte Code Compiler Settings'
-	  name: 'Byte Code Compiler Settings'
-	  min: (Point 10 10)
-	  bounds: (Rectangle 0 0 665 706)
-	)
-	component:
+          label: 'Byte Code Compiler Settings'
+          name: 'Byte Code Compiler Settings'
+          min: (Point 10 10)
+          bounds: (Rectangle 0 0 665 706)
+        )
+        component: 
        (SpecCollection
-	  collection: (
-	   (VerticalPanelViewSpec
-	      name: 'VerticalPanel1'
-	      layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-	      horizontalLayout: fit
-	      verticalLayout: top
-	      horizontalSpace: 3
-	      verticalSpace: 3
-	      component:
-	     (SpecCollection
-		collection: (
-		 (CheckBoxSpec
-		    label: 'Just in Time Compilation to Machine Code'
-		    name: 'JustInTimeCompilation'
-		    model: justInTimeCompilation
-		    translateLabel: true
-		    extent: (Point 665 25)
-		  )
-		 (DividerSpec
-		    name: 'Separator3'
-		    extent: (Point 665 3)
-		  )
-		 (ViewSpec
-		    name: 'Box1'
-		    component:
-		   (SpecCollection
-		      collection: (
-		       (VerticalPanelViewSpec
-			  name: 'VerticalPanel1_1'
-			  layout: (LayoutFrame 0 0 0 0 -20 0.5 0 1)
-			  horizontalLayout: fit
-			  verticalLayout: top
-			  horizontalSpace: 3
-			  verticalSpace: 0
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'Allow Underscore in Identifiers'
-				name: 'AllowUnderscoreInIdentifiers'
-				model: allowUnderscoreInIdentifier
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow Dollar in Identifiers'
-				name: 'AllowDollarInIdentifiers'
-				model: allowDollarInIdentifier
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow VW3 QualifiedNames'
-				name: 'AllowVW3QualifiedNames'
-				model: allowQualifiedNames
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow OldStyle Assignment (_)'
-				name: 'AllowOldStyleAssignment'
-				model: allowOldStyleAssignment
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow Reserved Words as Selector (self)'
-				name: 'AllowReservedWordsAsSelector'
-				model: allowReservedWordsAsSelectors
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow Extended Binary Selectors'
-				name: 'CheckBox4'
-				model: allowExtendedBinarySelectors
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow Assignment to Pool Variable'
-				name: 'CheckBox6'
-				model: allowAssignmentToPoolVariable
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     )
-
-			  )
-			)
-		       (VerticalPanelViewSpec
-			  name: 'VerticalPanel1_2'
-			  layout: (LayoutFrame 0 0.5 0 0 0 1 0 1)
-			  horizontalLayout: left
-			  verticalLayout: top
-			  horizontalSpace: 3
-			  verticalSpace: 0
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'Allow Squeak Extensions'
-				name: 'AllowSqueakExtensions'
-				model: allowSqueakExtensions
-				translateLabel: true
-				extent: (Point 665 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow Dolphin Extensions'
-				name: 'AllowDolphinExtensions'
-				model: allowDolphinExtensions
-				translateLabel: true
-				extent: (Point 665 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow VisualAge ES-Symbols'
-				name: 'AllowVisualAgeESSymbolLiterals'
-				model: allowVisualAgeESSymbolLiterals
-				translateLabel: true
-				extent: (Point 665 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow VisualAge Primitives'
-				name: 'CheckBox8'
-				model: allowVisualAgePrimitives
-				translateLabel: true
-				extent: (Point 665 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow FixedPoint-Number Literals'
-				name: 'AllowFixedPointLiterals'
-				model: allowFixedPointLiterals
-				translateLabel: true
-				extent: (Point 665 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Allow Empty Statements'
-				name: 'AllowEmptyStatements'
-				model: allowEmptyStatements
-				translateLabel: true
-				extent: (Point 665 22)
-			      )
-			     )
-
-			  )
-			)
-		       )
-
-		    )
-		    extent: (Point 665 157)
-		  )
-		 (DividerSpec
-		    name: 'Separator4'
-		    extent: (Point 665 1)
-		  )
-		 (CheckBoxSpec
-		    label: 'Warnings'
-		    name: 'Warnings'
-		    model: warnings
-		    translateLabel: true
-		    extent: (Point 665 22)
-		  )
-		 (ViewSpec
-		    name: 'Box2'
-		    component:
-		   (SpecCollection
-		      collection: (
-		       (VerticalPanelViewSpec
-			  name: 'VerticalPanel2_1'
-			  layout: (LayoutFrame 20 0 0 0 0 0.5 0 1)
-			  horizontalLayout: fit
-			  verticalLayout: top
-			  horizontalSpace: 3
-			  verticalSpace: 0
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'ST/X Extensions'
-				name: 'STXExtensions'
-				enableChannel: warnings
-				model: warnSTXSpecials
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Reference to Private Class'
-				name: 'CheckBox1'
-				enableChannel: warnings
-				model: warnAboutReferenceToPrivateClass
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Underscores in Identifiers'
-				name: 'UnderscoresInIdentifiers'
-				enableChannel: enableUnderscore
-				model: warnUnderscoreInIdentifier
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Dollars in Identifiers'
-				name: 'DollarsInIdentifiers'
-				enableChannel: enableDollar
-				model: warnDollarInIdentifier
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'OldStyle Assignment'
-				name: 'OldStyleAssignment'
-				enableChannel: warnings
-				model: warnOldStyleAssignment
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Possible Incompatibilities'
-				name: 'PossibleIncompatibilities'
-				enableChannel: warnings
-				model: warnPossibleIncompatibilities
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Possible STC Compilation Problems'
-				name: 'PossibleSTCCompilationProblems'
-				enableChannel: warnings
-				model: warnAboutPossibleSTCCompilationProblems
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Possibly Unimplemented Selectors'
-				name: 'CheckBox3'
-				enableChannel: warnings
-				model: warnAboutPossiblyUnimplementedSelectors
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Plausibility Checks'
-				name: 'CheckBox7'
-				enableChannel: warnings
-				model: warnPlausibilityChecks
-				translateLabel: true
-				extent: (Point 313 22)
-			      )
-			     )
-
-			  )
-			)
-		       (VerticalPanelViewSpec
-			  name: 'VerticalPanel2_2'
-			  layout: (LayoutFrame -1 0.5 0 0 0 1 0 1)
-			  horizontalLayout: left
-			  verticalLayout: top
-			  horizontalSpace: 3
-			  verticalSpace: 0
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'Unused Method Variables'
-				name: 'UnusedMethodVariables'
-				enableChannel: warnings
-				model: warnUnusedVars
-				translateLabel: true
-				extent: (Point 600 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Bad (non-English) Variable Names'
-				name: 'BadVariableNames'
-				enableChannel: warnings
-				model: warnAboutWrongVariableNames
-				translateLabel: true
-				extent: (Point 600 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Bad (Non-Lowercase) Local Variable Names'
-				name: 'BadLocalVariableNames'
-				enableChannel: warnings
-				model: warnAboutNonLowercaseLocalVariableNames
-				translateLabel: true
-				extent: (Point 600 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Bad (Short) Local Variable Names'
-				name: 'CheckBox2'
-				enableChannel: warnings
-				model: warnAboutShortLocalVariableNames
-				translateLabel: true
-				extent: (Point 600 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Bad (empty) Comments'
-				name: 'BadComments'
-				enableChannel: warnings
-				model: warnAboutBadComments
-				translateLabel: true
-				extent: (Point 600 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Method-Comment Missing '
-				name: 'CheckBox5'
-				enableChannel: warnings
-				model: warnAboutMissingMethodComment
-				translateLabel: true
-				extent: (Point 600 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Inconsistent Return Values'
-				name: 'InconsistentReturnValues'
-				enableChannel: warnings
-				model: warnInconsistentReturnValues
-				translateLabel: true
-				extent: (Point 600 22)
-			      )
-			     (CheckBoxSpec
-				label: 'Common Mistakes'
-				name: 'CommonMistakes'
-				enableChannel: warnings
-				model: warnCommonMistakes
-				translateLabel: true
-				extent: (Point 600 22)
-			      )
-			     )
-
-			  )
-			)
-		       )
-
-		    )
-		    extent: (Point 665 206)
-		  )
-		 (ViewSpec
-		    name: 'Box4'
-		    component:
-		   (SpecCollection
-		      collection: (
-		       (ActionButtonSpec
-			  label: 'Reenable Suppressed Warnings Now'
-			  name: 'Button1'
-			  layout: (LayoutOrigin 0 0.5 0 0)
-			  translateLabel: true
-			  model: reenableSuppressedWarnings
-			)
-		       )
-
-		    )
-		    extent: (Point 665 30)
-		  )
-		 (DividerSpec
-		    name: 'Separator5'
-		    extent: (Point 665 2)
-		  )
-		 (CheckBoxSpec
-		    label: 'Literal Arrays are Immutable'
-		    name: 'LiteralArraysAreImmutable'
-		    model: arraysAreImmutable
-		    translateLabel: true
-		    extent: (Point 665 22)
-		  )
-		 (CheckBoxSpec
-		    label: 'Full Debug Info'
-		    name: 'FullDebugInfo'
-		    model: fullDebugSupport
-		    translateLabel: true
-		    extent: (Point 665 22)
-		  )
-		 (DividerSpec
-		    name: 'Separator6'
-		    extent: (Point 665 2)
-		  )
-		 (ViewSpec
-		    name: 'Box3'
-		    component:
-		   (SpecCollection
-		      collection: (
-		       (LabelSpec
-			  label: 'Constant Folding:'
-			  name: 'ConstantFoldingLabel'
-			  layout: (LayoutFrame 0 0 0 0 306 0 22 0)
-			  translateLabel: true
-			  adjust: right
-			)
-		       (PopUpListSpec
-			  label: 'PopUp List'
-			  name: 'ConstantFolding'
-			  layout: (LayoutFrame 313 0 0 0 -5 1 22 0)
-			  tabable: true
-			  model: constantFoldingSelection
-			  menu: constantFolding
-			  useIndex: true
-			)
-		       )
-
-		    )
-		    extent: (Point 665 22)
-		  )
-		 )
-
-	      )
-	    )
-	   )
-
-	)
+          collection: (
+           (VerticalPanelViewSpec
+              name: 'VerticalPanel1'
+              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              horizontalLayout: fit
+              verticalLayout: top
+              horizontalSpace: 3
+              verticalSpace: 3
+              component: 
+             (SpecCollection
+                collection: (
+                 (CheckBoxSpec
+                    label: 'Just in Time Compilation to Machine Code'
+                    name: 'JustInTimeCompilation'
+                    model: justInTimeCompilation
+                    translateLabel: true
+                    extent: (Point 665 25)
+                  )
+                 (DividerSpec
+                    name: 'Separator3'
+                    extent: (Point 665 3)
+                  )
+                 (ViewSpec
+                    name: 'Box1'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (VerticalPanelViewSpec
+                          name: 'VerticalPanel1_1'
+                          layout: (LayoutFrame 0 0 0 0 -20 0.5 0 1)
+                          horizontalLayout: fit
+                          verticalLayout: top
+                          horizontalSpace: 3
+                          verticalSpace: 0
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'Allow Underscore in Identifiers'
+                                name: 'AllowUnderscoreInIdentifiers'
+                                model: allowUnderscoreInIdentifier
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow Dollar in Identifiers'
+                                name: 'AllowDollarInIdentifiers'
+                                model: allowDollarInIdentifier
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow VW3 QualifiedNames'
+                                name: 'AllowVW3QualifiedNames'
+                                model: allowQualifiedNames
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow OldStyle Assignment (_)'
+                                name: 'AllowOldStyleAssignment'
+                                model: allowOldStyleAssignment
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow Reserved Words as Selector (self)'
+                                name: 'AllowReservedWordsAsSelector'
+                                model: allowReservedWordsAsSelectors
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow Extended Binary Selectors'
+                                name: 'CheckBox4'
+                                model: allowExtendedBinarySelectors
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow Assignment to Pool Variable'
+                                name: 'CheckBox6'
+                                model: allowAssignmentToPoolVariable
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             )
+                           
+                          )
+                        )
+                       (VerticalPanelViewSpec
+                          name: 'VerticalPanel1_2'
+                          layout: (LayoutFrame 0 0.5 0 0 0 1 0 1)
+                          horizontalLayout: left
+                          verticalLayout: top
+                          horizontalSpace: 3
+                          verticalSpace: 0
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'Allow Squeak Extensions'
+                                name: 'AllowSqueakExtensions'
+                                model: allowSqueakExtensions
+                                translateLabel: true
+                                extent: (Point 665 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow Dolphin Extensions'
+                                name: 'AllowDolphinExtensions'
+                                model: allowDolphinExtensions
+                                translateLabel: true
+                                extent: (Point 665 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow VisualAge ES-Symbols'
+                                name: 'AllowVisualAgeESSymbolLiterals'
+                                model: allowVisualAgeESSymbolLiterals
+                                translateLabel: true
+                                extent: (Point 665 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow VisualAge Primitives'
+                                name: 'CheckBox8'
+                                model: allowVisualAgePrimitives
+                                translateLabel: true
+                                extent: (Point 665 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow FixedPoint-Number Literals'
+                                name: 'AllowFixedPointLiterals'
+                                model: allowFixedPointLiterals
+                                translateLabel: true
+                                extent: (Point 665 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Allow Empty Statements'
+                                name: 'AllowEmptyStatements'
+                                model: allowEmptyStatements
+                                translateLabel: true
+                                extent: (Point 665 22)
+                              )
+                             )
+                           
+                          )
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 665 157)
+                  )
+                 (DividerSpec
+                    name: 'Separator4'
+                    extent: (Point 665 1)
+                  )
+                 (CheckBoxSpec
+                    label: 'Warnings'
+                    name: 'Warnings'
+                    model: warnings
+                    translateLabel: true
+                    extent: (Point 665 22)
+                  )
+                 (ViewSpec
+                    name: 'Box2'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (VerticalPanelViewSpec
+                          name: 'VerticalPanel2_1'
+                          layout: (LayoutFrame 20 0 0 0 0 0.5 0 1)
+                          horizontalLayout: fit
+                          verticalLayout: top
+                          horizontalSpace: 3
+                          verticalSpace: 0
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'ST/X Extensions'
+                                name: 'STXExtensions'
+                                enableChannel: warnings
+                                model: warnSTXSpecials
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Reference to Private Class'
+                                name: 'CheckBox1'
+                                enableChannel: warnings
+                                model: warnAboutReferenceToPrivateClass
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Underscores in Identifiers'
+                                name: 'UnderscoresInIdentifiers'
+                                enableChannel: enableUnderscore
+                                model: warnUnderscoreInIdentifier
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Dollars in Identifiers'
+                                name: 'DollarsInIdentifiers'
+                                enableChannel: enableDollar
+                                model: warnDollarInIdentifier
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'OldStyle Assignment'
+                                name: 'OldStyleAssignment'
+                                enableChannel: warnings
+                                model: warnOldStyleAssignment
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Possible Incompatibilities'
+                                name: 'PossibleIncompatibilities'
+                                enableChannel: warnings
+                                model: warnPossibleIncompatibilities
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Possible STC Compilation Problems'
+                                name: 'PossibleSTCCompilationProblems'
+                                enableChannel: warnings
+                                model: warnAboutPossibleSTCCompilationProblems
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Possibly Unimplemented Selectors'
+                                name: 'CheckBox3'
+                                enableChannel: warnings
+                                model: warnAboutPossiblyUnimplementedSelectors
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Plausibility Checks'
+                                name: 'CheckBox7'
+                                enableChannel: warnings
+                                model: warnPlausibilityChecks
+                                translateLabel: true
+                                extent: (Point 313 22)
+                              )
+                             )
+                           
+                          )
+                        )
+                       (VerticalPanelViewSpec
+                          name: 'VerticalPanel2_2'
+                          layout: (LayoutFrame -1 0.5 0 0 0 1 0 1)
+                          horizontalLayout: left
+                          verticalLayout: top
+                          horizontalSpace: 3
+                          verticalSpace: 0
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'Unused Method Variables'
+                                name: 'UnusedMethodVariables'
+                                enableChannel: warnings
+                                model: warnUnusedVars
+                                translateLabel: true
+                                extent: (Point 600 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Bad (non-English) Variable Names'
+                                name: 'BadVariableNames'
+                                enableChannel: warnings
+                                model: warnAboutWrongVariableNames
+                                translateLabel: true
+                                extent: (Point 600 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Bad (Non-Lowercase) Local Variable Names'
+                                name: 'BadLocalVariableNames'
+                                enableChannel: warnings
+                                model: warnAboutNonLowercaseLocalVariableNames
+                                translateLabel: true
+                                extent: (Point 600 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Bad (Short) Local Variable Names'
+                                name: 'CheckBox2'
+                                enableChannel: warnings
+                                model: warnAboutShortLocalVariableNames
+                                translateLabel: true
+                                extent: (Point 600 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Bad (empty) Comments'
+                                name: 'BadComments'
+                                enableChannel: warnings
+                                model: warnAboutBadComments
+                                translateLabel: true
+                                extent: (Point 600 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Method-Comment Missing '
+                                name: 'CheckBox5'
+                                enableChannel: warnings
+                                model: warnAboutMissingMethodComment
+                                translateLabel: true
+                                extent: (Point 600 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Inconsistent Return Values'
+                                name: 'InconsistentReturnValues'
+                                enableChannel: warnings
+                                model: warnInconsistentReturnValues
+                                translateLabel: true
+                                extent: (Point 600 22)
+                              )
+                             (CheckBoxSpec
+                                label: 'Common Mistakes'
+                                name: 'CommonMistakes'
+                                enableChannel: warnings
+                                model: warnCommonMistakes
+                                translateLabel: true
+                                extent: (Point 600 22)
+                              )
+                             )
+                           
+                          )
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 665 206)
+                  )
+                 (ViewSpec
+                    name: 'Box4'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (ActionButtonSpec
+                          label: 'Reenable Suppressed Warnings Now'
+                          name: 'Button1'
+                          layout: (LayoutOrigin 0 0.5 0 0)
+                          translateLabel: true
+                          model: reenableSuppressedWarnings
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 665 30)
+                  )
+                 (DividerSpec
+                    name: 'Separator5'
+                    extent: (Point 665 2)
+                  )
+                 (CheckBoxSpec
+                    label: 'Literal Strings are Immutable'
+                    name: 'LiteralStringsAreImmutable'
+                    activeHelpKey: stringsAreImmutable
+                    model: stringsAreImmutable
+                    translateLabel: true
+                    extent: (Point 665 22)
+                  )
+                 (CheckBoxSpec
+                    label: 'Literal Arrays are Immutable'
+                    name: 'CheckBox9'
+                    activeHelpKey: arraysAreImmutable
+                    model: arraysAreImmutable
+                    translateLabel: true
+                    extent: (Point 665 22)
+                  )
+                 (CheckBoxSpec
+                    label: 'Full Debug Info'
+                    name: 'FullDebugInfo'
+                    activeHelpKey: fullDebugInfo
+                    model: fullDebugSupport
+                    translateLabel: true
+                    extent: (Point 665 22)
+                  )
+                 (DividerSpec
+                    name: 'Separator6'
+                    extent: (Point 665 2)
+                  )
+                 (ViewSpec
+                    name: 'Box3'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (LabelSpec
+                          label: 'Constant Folding:'
+                          name: 'ConstantFoldingLabel'
+                          layout: (LayoutFrame 0 0 0 0 306 0 22 0)
+                          translateLabel: true
+                          adjust: right
+                        )
+                       (PopUpListSpec
+                          label: 'PopUp List'
+                          name: 'ConstantFolding'
+                          layout: (LayoutFrame 313 0 0 0 -5 1 22 0)
+                          tabable: true
+                          model: constantFoldingSelection
+                          menu: constantFolding
+                          useIndex: true
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 665 22)
+                  )
+                 )
+               
+              )
+            )
+           )
+         
+        )
       )
-
-    "Modified: / 08-03-2012 / 10:26:26 / cg"
-! !
-
+! !
 
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'actions'!
 
@@ -1620,42 +1682,43 @@
 !
 
 simpleAspects
-    ^
-	    #(
-		warnings
-		warnCommonMistakes
-		warnPossibleIncompatibilities
-		warnDollarInIdentifier
-		warnOldStyleAssignment
-		warnSTXSpecials
-		warnUnderscoreInIdentifier
-		warnUnusedVars
-		warnAboutWrongVariableNames
-		warnAboutBadComments
-		warnInconsistentReturnValues
-		warnAboutNonLowercaseLocalVariableNames
-		warnAboutShortLocalVariableNames
-		warnAboutPossibleSTCCompilationProblems
-		warnAboutReferenceToPrivateClass
-		warnAboutPossiblyUnimplementedSelectors
-		warnPlausibilityChecks
-
-		allowDollarInIdentifier
-		allowDolphinExtensions
-		allowOldStyleAssignment
-		allowQualifiedNames
-		allowReservedWordsAsSelectors
-		allowSqueakExtensions
-		allowUnderscoreInIdentifier
-		allowVisualAgeESSymbolLiterals
-		allowVisualAgePrimitives
-		allowFixedPointLiterals
-		allowEmptyStatements
-		allowExtendedBinarySelectors
-
-		arraysAreImmutable
-		allowAssignmentToPoolVariable
-	    )
+    ^ 
+            #( 
+                warnings
+                warnCommonMistakes
+                warnPossibleIncompatibilities
+                warnDollarInIdentifier
+                warnOldStyleAssignment
+                warnSTXSpecials
+                warnUnderscoreInIdentifier
+                warnUnusedVars
+                warnAboutWrongVariableNames
+                warnAboutBadComments
+                warnInconsistentReturnValues
+                warnAboutNonLowercaseLocalVariableNames
+                warnAboutShortLocalVariableNames
+                warnAboutPossibleSTCCompilationProblems
+                warnAboutReferenceToPrivateClass
+                warnAboutPossiblyUnimplementedSelectors
+                warnPlausibilityChecks
+
+                allowDollarInIdentifier
+                allowDolphinExtensions
+                allowOldStyleAssignment
+                allowQualifiedNames
+                allowReservedWordsAsSelectors
+                allowSqueakExtensions
+                allowUnderscoreInIdentifier
+                allowVisualAgeESSymbolLiterals
+                allowVisualAgePrimitives
+                allowFixedPointLiterals
+                allowEmptyStatements
+                allowExtendedBinarySelectors
+
+                arraysAreImmutable
+                stringsAreImmutable
+                allowAssignmentToPoolVariable
+            )
 
     "Created: / 20-11-2006 / 22:37:17 / cg"
 !
@@ -1665,7 +1728,6 @@
     AbstractLauncherApplication::LauncherDialogs stcCompilerSettings
 ! !
 
-
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'aspects'!
 
 allowAssignmentToPoolVariable
@@ -1874,6 +1936,15 @@
     ^ justInTimeCompilation.
 !
 
+stringsAreImmutable
+
+    immutableStrings isNil ifTrue:[
+        immutableStrings := ParserFlags arraysAreImmutable asValue.
+        immutableStrings onChangeSend:#updateModifiedChannel to:self.
+    ].
+    ^ immutableStrings.
+!
+
 warnAboutBadComments
     warnAboutBadComments isNil ifTrue:[
 	warnAboutBadComments := ParserFlags warnAboutBadComments asValue.
@@ -2044,7 +2115,6 @@
     ^ warnings.
 ! !
 
-
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -2066,14 +2136,12 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/compilerSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2097,7 +2165,6 @@
     ^ ObjectMemory supportsJustInTimeCompilation
 ! !
 
-
 !AbstractSettingsApplication::ChangeFileSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2126,7 +2193,6 @@
 A@PDA@PDA@PDB@(JB (HB@ HB@ HB@ HB@ HB@ HB@ JB @a') ; colorMapFromArray:#[240 160 80 192 80 0 64 0 0 240 208 160 0 0 0 240 240 240 192 192 192 240 128 0 208 208 208 48 48 48 160 160 160]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@_?? _??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0O??0') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::ChangeFileSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -2221,7 +2287,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::ChangeFileSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -2241,7 +2306,6 @@
     "Modified: / 09-02-2011 / 20:32:47 / cg"
 ! !
 
-
 !AbstractSettingsApplication::ChangeFileSettingsAppl methodsFor:'aspects'!
 
 changeFileName
@@ -2274,14 +2338,12 @@
     "Modified (format): / 25-11-2011 / 15:43:45 / cg"
 ! !
 
-
 !AbstractSettingsApplication::ChangeFileSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/messageSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::ChangeFileSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2293,7 +2355,6 @@
     "Modified: / 27-10-2010 / 10:17:21 / cg"
 ! !
 
-
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2322,7 +2383,6 @@
 A@PDA@PDA@PDB@(JB (HB@ HB@ HB@ HB@ HB@ HB@ JB @a') ; colorMapFromArray:#[240 160 80 192 80 0 64 0 0 240 208 160 0 0 0 240 240 240 192 192 192 240 128 0 208 208 208 48 48 48 160 160 160 255 248 248 207 216 240 240 240 248 239 232 240 48 88 176 224 224 232 240 144 24 255 248 48 255 248 96 255 248 24 240 208 24 255 248 152 255 248 88 255 248 136 255 248 176 255 248 200]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@_?? _??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0O??0') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -2401,7 +2461,6 @@
     "Modified: / 04-07-2011 / 16:58:44 / cg"
 ! !
 
-
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -2416,7 +2475,6 @@
 	to:currentUserPrefs.
 ! !
 
-
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'aspects'!
 
 aspectSelectors
@@ -2451,14 +2509,12 @@
     ^ generateCommentsForSetters.
 ! !
 
-
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/codeGeneratorSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::CodeGeneratorSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2469,7 +2525,6 @@
     "Modified: / 25-11-2011 / 15:22:51 / cg"
 ! !
 
-
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2529,7 +2584,6 @@
 @@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 32 96 80 240 240 240 192 192 192 64 144 128 80 80 80 48 112 112 48 128 128 32 96 96 48 128 112 224 224 224 32 80 80 64 96 96 0 80 128]; mask:((Depth1Image new) width: 17; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@_?<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??<@??8@@@@@@@@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -2594,7 +2648,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'actions'!
 
 aspectsFromUserPreferences
@@ -2616,7 +2669,6 @@
 	to:currentUserPrefs.
 ! !
 
-
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'aspects'!
 
 logHTTPRequests
@@ -2635,14 +2687,12 @@
     ^ logSOAPRequests.
 ! !
 
-
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/comLoggingSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::CommunicationLoggingSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2651,7 +2701,6 @@
 	asComparedTo:currentUserPrefs
 ! !
 
-
 !AbstractSettingsApplication::DebuggerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2660,7 +2709,6 @@
     ^ ToolbarIconLibrary bugReporter24x24Icon
 ! !
 
-
 !AbstractSettingsApplication::DebuggerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -2796,7 +2844,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -2824,7 +2871,6 @@
     "Modified: / 10-06-2012 / 21:23:32 / cg"
 ! !
 
-
 !AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'aspects'!
 
 allowSendMailFromDebugger
@@ -2874,14 +2920,12 @@
     ^ verboseBacktraceInDebugger.
 ! !
 
-
 !AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/debuggerSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::DebuggerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -2895,7 +2939,6 @@
     "Modified: / 10-06-2012 / 21:23:54 / cg"
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'defaults'!
 
 clipEncodingStrings
@@ -2928,7 +2971,6 @@
     ^ #(ordered floydSteinberg)
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -2937,7 +2979,6 @@
     ^ ToolbarIconLibrary displayScreenIcon
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -3145,7 +3186,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -3205,7 +3245,6 @@
     screen clipboardEncoding:(self class clipEncodingSyms at:self clipEncodingListSelection value).
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'aspects'!
 
 clipEncodingList
@@ -3381,7 +3420,6 @@
     ^ visualIsPseudoColor.
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'change & update'!
 
 monitorSelectionChanged
@@ -3423,14 +3461,12 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/screenSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -3466,7 +3502,6 @@
 
 ! !
 
-
 !AbstractSettingsApplication::DisplaySettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -3484,7 +3519,6 @@
     ^ false
 ! !
 
-
 !AbstractSettingsApplication::EditSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -3527,7 +3561,6 @@
     "Created: / 17-03-2012 / 11:37:51 / cg"
 ! !
 
-
 !AbstractSettingsApplication::EditSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -3536,7 +3569,6 @@
     ^ ToolbarIconLibrary editorIcon
 ! !
 
-
 !AbstractSettingsApplication::EditSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -3662,7 +3694,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -3714,7 +3745,6 @@
     "Modified: / 07-03-2012 / 14:33:40 / cg"
 ! !
 
-
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'aspects'!
 
 enforceContentsDropForFiles
@@ -3810,14 +3840,12 @@
     ^ whitespaceWordSelectMode.
 ! !
 
-
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/editSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::EditSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -3836,7 +3864,6 @@
     "Modified: / 25-11-2011 / 15:23:02 / cg"
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'defaults'!
 
 widgetList
@@ -3851,7 +3878,6 @@
        )
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -3894,7 +3920,6 @@
     "Created: / 17-03-2012 / 11:37:51 / cg"
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -3926,7 +3951,6 @@
 P @@@@@@@@@@@DQ@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 150 150 150 213 213 213 215 48 48 134 54 54 240 240 240]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@G @OG0@O''<@O7>@O<?@A>? A?? A??@A<?@A<>@A<>@A<>@A=>@C?>@G<>@C<\@@8D@@H@@@@@@@@@@@@@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'instance creation'!
 
 fontForEncoding:encodingMatch
@@ -3939,7 +3963,6 @@
     self open.
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -4361,7 +4384,6 @@
     "Modified: / 17-03-2012 / 11:44:29 / cg"
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'accessing'!
 
 encodingMatch:aEncodingMatch
@@ -4372,7 +4394,6 @@
     ].
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'actions'!
 
 basicReadFontSettings
@@ -4608,7 +4629,6 @@
     "Created: / 17-03-2012 / 11:22:18 / cg"
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'aspects'!
 
 allFontLabelHolder
@@ -4768,7 +4788,6 @@
     ^ textFontLabelHolder.
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -4829,14 +4848,12 @@
     self updateModifiedChannel
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/fontSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'initialization & release'!
 
 postBuildAllFontLabel:aWidget
@@ -4880,7 +4897,6 @@
     super postBuildWith:aBuilder
 ! !
 
-
 !AbstractSettingsApplication::FontSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -4898,7 +4914,6 @@
     "Modified: / 10-10-2011 / 12:14:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'defaults'!
 
 keepSourceOptions
@@ -4911,7 +4926,6 @@
     ^ #('Keep as String' 'Reference to Filename' 'Reference to Full Path' 'Append and Ref in `st.src''' 'Discard' )
 ! !
 
-
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -4971,7 +4985,6 @@
 A@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PDA@PD') ; colorMapFromArray:#[255 189 23 127 127 127 236 233 216 0 0 0 255 255 255 194 194 194 161 161 165]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@A @@C0@@33@A?? A?? @??@@??@C??0G??8G??8C??0@??@@??@A?? A?? @33@@C0@@A @@@@@@@@@@@@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -5131,7 +5144,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -5180,7 +5192,6 @@
     "Modified: / 08-07-2011 / 10:26:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'aspects'!
 
 canLoadBinaries
@@ -5279,14 +5290,12 @@
     "Modified: / 04-08-2010 / 18:37:53 / cg"
 ! !
 
-
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/compilerSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::GeneralCompilerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -5303,7 +5312,6 @@
     "Modified: / 08-07-2011 / 10:25:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'image specs'!
 
 defaultIcon
@@ -5332,7 +5340,6 @@
 JB (JCX6AS@@@@@@@@@@@@@@J28AM#XAJCX(M T0@@@@@@@a') ; colorMapFromArray:#[0 0 0 144 144 144 112 144 112 16 96 16 0 80 0 128 128 128 0 144 0 0 112 64 0 224 16 0 240 0 0 64 160 16 16 224 64 64 192 128 144 128 0 160 0 0 208 32 0 0 240 0 32 208 0 112 128 0 0 224 48 48 96 0 128 32 0 96 128 0 80 160 0 16 224 0 208 0 64 112 64 32 128 32 0 96 112 48 48 112 0 96 144 0 192 32 48 48 64 0 192 0 64 112 144 64 96 144 64 192 64 64 160 96 64 128 112 80 96 80 160 160 160 16 32 64 0 48 192 96 96 96 0 160 80 208 208 208 192 192 192 224 224 224 48 48 48 0 16 48 0 64 176 0 176 64 192 176 192 176 192 176 176 176 176 0 0 80 0 144 80 0 32 192 16 16 16 208 192 208 208 144 144 96 192 96 176 160 176 48 48 128 0 112 112 0 0 144 0 144 64 160 160 64 144 144 80 48 112 48 0 0 208 208 208 224 48 48 80 32 32 144 224 208 224 176 176 224 176 176 240 192 176 208]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C? @G?0@O?8@_?<@??<@??>@???@???@???@???@???@???@???@_??@O??@G??@A??@@??@@??@@??@@??@@??@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -5499,7 +5506,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication class methodsFor:'servers access'!
 
 addCreatedServer:aServer
@@ -5521,7 +5527,6 @@
     self createdServers remove:aServer ifAbsent:nil.
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'actions'!
 
 basicReadSettings
@@ -5739,7 +5744,6 @@
     "Modified: / 26-08-2012 / 10:26:20 / cg"
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'aspects'!
 
 hasCreatedServerChannel
@@ -5779,7 +5783,6 @@
     ^ portNumberChannel.
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'change & update'!
 
 createdServerChanged
@@ -5806,14 +5809,12 @@
     "Modified: / 25-01-2007 / 16:38:52 / cg"
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'help'!
 
 helpFilename
     ^ 'HTTPServer/index.html'
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'initialization & release'!
 
 release
@@ -5827,7 +5828,6 @@
     "Modified: / 25-01-2007 / 16:39:23 / cg"
 ! !
 
-
 !AbstractSettingsApplication::HTTPStartServerSettingsApplication methodsFor:'queries'!
 
 hasCreatedServer
@@ -5875,7 +5875,6 @@
     "Created: / 25-01-2007 / 17:16:46 / cg"
 ! !
 
-
 !AbstractSettingsApplication::KbdMappingSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -5884,7 +5883,6 @@
     ^ ToolbarIconLibrary keyboardMappingIcon
 ! !
 
-
 !AbstractSettingsApplication::KbdMappingSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -5991,7 +5989,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -6002,7 +5999,6 @@
     "nothing done here"
 ! !
 
-
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'aspects'!
 
 functionKeyList
@@ -6052,7 +6048,6 @@
     ^ selectedRawKey.
 ! !
 
-
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'change & update'!
 
 changeFunctionKeySelection
@@ -6129,14 +6124,12 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/keyboardSetting.html'
 ! !
 
-
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -6151,7 +6144,6 @@
     self labelTextHolder value:(resources at:'KEY_MSG2' default:'keyboard mapping:') withCRs.
 ! !
 
-
 !AbstractSettingsApplication::KbdMappingSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -6159,7 +6151,6 @@
     ^ false
 ! !
 
-
 !AbstractSettingsApplication::LanguageSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -6168,7 +6159,6 @@
     ^ ToolbarIconLibrary languagesIcon
 ! !
 
-
 !AbstractSettingsApplication::LanguageSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -6277,7 +6267,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'accessing'!
 
 languageList
@@ -6286,7 +6275,6 @@
     ^ languageList
 ! !
 
-
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -6448,7 +6436,6 @@
     self setNoticeLabel.
 ! !
 
-
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'aspects'!
 
 currentFlagAndLanguageChannel
@@ -6514,14 +6501,12 @@
 	value: ((resources at:'LANG_MSG' default:'Select a Language') withCRs).
 ! !
 
-
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/languageSetting.html'
 ! !
 
-
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -6668,7 +6653,6 @@
     aWidget scrolledView backgroundColor:self window viewBackground.
 ! !
 
-
 !AbstractSettingsApplication::LanguageSettingsAppl methodsFor:'queries'!
 
 currentLanguage
@@ -6708,7 +6692,6 @@
     "Modified: / 24-08-2010 / 18:50:11 / sr"
 ! !
 
-
 !AbstractSettingsApplication::MemorySettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -6765,7 +6748,6 @@
 )
 ! !
 
-
 !AbstractSettingsApplication::MemorySettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -6774,7 +6756,6 @@
     ^ ToolbarIconLibrary memoryIcon
 ! !
 
-
 !AbstractSettingsApplication::MemorySettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -7340,7 +7321,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -7391,7 +7371,6 @@
     "Modified: / 12-08-2010 / 15:34:47 / cg"
 ! !
 
-
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'aspects'!
 
 codeLimit
@@ -7517,14 +7496,12 @@
     ^ warningLabelHolder.
 ! !
 
-
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/memorySettings.html'
 ! !
 
-
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -7536,7 +7513,6 @@
 	       ).
 ! !
 
-
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -7564,7 +7540,6 @@
     "Modified: / 12-08-2010 / 15:33:12 / cg"
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -7590,7 +7565,6 @@
 P"DQ]PU%@@@@@EBUHQU5U%@@@@@@@B !!YHU%@@@@@@@E@ UFY%@@@@@@@@APIH@@@@@@@@@@@@T@@@@@@@@b') ; colorMapFromArray:#[0 0 0 224 224 224 64 64 64 96 96 96 128 128 128 192 192 192 32 32 32 96 96 96 160 160 160 96 96 96]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'G@C O G0_0O8?8_<?(W<?8_<???<=:^<???<???<???<_??<O??<O??<B?=\@?<8@?=0@?? @O?@@W>@@K @@D@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -7972,7 +7946,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -8086,7 +8059,6 @@
     "Modified: / 20-09-2007 / 16:05:01 / cg"
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'aspects'!
 
 acceptChannel
@@ -8241,7 +8213,6 @@
     ^ windowMigrationPassword.
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'change & update'!
 
 selectedSmallTeamHostChanged
@@ -8262,14 +8233,12 @@
     "Created: / 12-11-2006 / 19:09:40 / cg"
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/communicationsSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -8277,7 +8246,6 @@
     self readSettings.
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'queries'!
 
 addHostEnabled
@@ -8329,7 +8297,6 @@
     ^ WindowMigrationServer notNil
 ! !
 
-
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl methodsFor:'user actions'!
 
 addSmallTeamHost
@@ -8368,7 +8335,6 @@
     "Modified: / 12-11-2006 / 19:15:05 / cg"
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -8397,7 +8363,6 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 96 80 240 240 240 192 192 192 64 144 128 80 80 80 48 112 112 48 128 128 32 96 96 48 128 112 224 224 224 32 80 80 64 96 96 0 80 128 128 128 128 16 144 192 16 128 176 16 128 160 0 112 160 0 112 144 0 96 144 16 112 144 0 96 128 0 80 112 100 100 100 127 127 127 255 255 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@8@@@8@@@P@@@P_?<P??<P??<P??<P??<8??=<???<??>8??<8??<8??=<??=<??=<??=<??9<@@@8@@@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -8533,7 +8498,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'actions'!
 
 aspectsFromUserPreferences
@@ -8614,7 +8578,6 @@
     "Modified: / 24-08-2010 / 17:27:25 / sr"
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'aspects'!
 
 displaySupportsNativeDialogs
@@ -8697,14 +8660,12 @@
     ^ shadows.
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/miscSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplay2SettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -8740,7 +8701,6 @@
      ^ Screen current platformName = 'WIN32'
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplaySettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -8758,13 +8718,59 @@
 
     ^ super flyByHelpSpec addPairsFrom:#(
 
+#showAccelerators
+'Show shortcut-key bindings (if any) in popup menus'
+
+#focusFollowsMouse
+'Keyboard focus follows the mouse position (no need to click into fields for focus)'
+
+#mouseWheelFocusFollowsMouse
+'Mousewheel focus follows the mouse position (no need to click into fields for focus)'
+
+#allowMouseWheelZoom
+'Turning the mousewheel while CTRL is pressed zooms in/out (i.e. changes magnification).
+Not all views support zooming.'
+
+#takeFocus
+'Windows automatically fetch the focus when opened 
+(usually not needed, as done by window manager)'
+
+#returnFocus
+'Dialog boxes return the focus to the original view when closed 
+(usually not needed, as done by window manager)'
+
+#activateOnClick
+'Raise and activate a window when clicked into it 
+(usually not needed, as done by window manager)'
+
 #button2WithAltKey
 'Use with single button mice to get a right-button emulation'
 
+#selectOnRightClick
+'Right click changes the selection (before the menu is opened).
+This is the Windows behavior. Under X11, selection and menu activation are done by different mouse buttons.'
+
+#showRightButtonMenuOnRelease
+'Activate popup menus when the mouse button is released; not when pressed.
+Usually better, as it allows for the mouse pointer to be moved away,
+in case you change your mind'
+
+#hostNameInLabel
+'Show additional session, host and user information in each of the ST/X
+windows. Useful, if you have multiple, possibly remote ST/X sessions running on the same
+screen, to not loose track of which window belongs to which session.'
+
+#autoRaiseOnFocusIn
+'Automatic raise of a window after a short delay, whenever it gets the focus (via the window manager).
+Most useful on systems where the focus follows the mouse.
+(sometimes not needed, as done by the window manager)'
+
+#forceWindowsIntoMonitorBounds
+'Restrict the position and size of windows to ensure they are (at least partially)
+within the screen''s bounds. Especially useful when switching the screen''s resolution.'
 )
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplaySettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -8793,7 +8799,6 @@
 B (JB (E@@@@@@@@APTEAPTEAPTEAPTEAPTEAP@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 96 80 240 240 240 192 192 192 64 144 128 80 80 80 48 112 112 48 128 128 32 96 96 48 128 112 224 224 224 32 80 80 64 96 96 0 80 128 128 128 128 16 144 192 16 128 176 16 128 160 0 112 160 0 112 144 0 96 144 16 112 144 0 96 128 0 80 112]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@C@@@G @@O0@@_8@@?<@A?>@C??@G??0O??0G??8???0??? ???@??>@??<@??<@??<@??<@??<@??<@??<@??<@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplaySettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -8846,6 +8851,7 @@
                     label: 'Show Accelerator Keys in Menus'
                     name: 'showAccelerators'
                     model: showAccelerators
+                    activeHelpKey: showAccelerators
                     translateLabel: true
                     extent: (Point 435 22)
                   )
@@ -8865,6 +8871,7 @@
                     label: 'Keyboard Focus Follows Mouse'
                     name: 'focusFollowsMouse'
                     model: focusFollowsMouse
+                    activeHelpKey: focusFollowsMouse
                     translateLabel: true
                     extent: (Point 435 22)
                   )
@@ -8872,6 +8879,7 @@
                     label: 'Views Catch Focus when Mapped'
                     name: 'takeFocus'
                     model: takeFocus
+                    activeHelpKey: takeFocus
                     translateLabel: true
                     extent: (Point 435 22)
                   )
@@ -8879,6 +8887,7 @@
                     label: 'Boxes Return Focus to Previously Active View'
                     name: 'returnFocus'
                     model: returnFocus
+                    activeHelpKey: returnFocus
                     translateLabel: true
                     extent: (Point 435 22)
                   )
@@ -8888,6 +8897,15 @@
                     model: activateOnClick
                     translateLabel: true
                     extent: (Point 435 22)
+                    activeHelpKey: activateOnClick
+                  )
+                 (CheckBoxSpec
+                    label: 'Autoraise Windows on FocusIn'
+                    name: 'CheckBox4'
+                    model: autoRaiseOnFocusIn
+                    activeHelpKey: autoRaiseOnFocusIn
+                    translateLabel: true
+                    extent: (Point 435 22)
                   )
                  (CheckBoxSpec
                     label: 'Force Windows into Monitor''s Bounds'
@@ -8914,6 +8932,7 @@
                     name: 'mouseWheelFocusFollowsMouse'
                     enableChannel: mouseWheelFocusFollowsMouseEnabled
                     model: mouseWheelFocusFollowsMouse
+                    activeHelpKey: mouseWheelFocusFollowsMouse
                     translateLabel: true
                     extent: (Point 435 22)
                   )
@@ -8921,6 +8940,7 @@
                     label: 'CTRL-MouseWheel is Zoom'
                     name: 'CheckBox1'
                     model: allowMouseWheelZoom
+                    activeHelpKey: allowMouseWheelZoom
                     translateLabel: true
                     extent: (Point 435 22)
                   )
@@ -8950,6 +8970,7 @@
                     model: selectOnRightClick
                     translateLabel: true
                     extent: (Point 435 21)
+                    activeHelpKey: selectOnRightClick
                   )
                  (CheckBoxSpec
                     label: 'Menu on Right-Button-Release'
@@ -8957,6 +8978,7 @@
                     model: showRightButtonMenuOnRelease
                     translateLabel: true
                     extent: (Point 435 21)
+                    activeHelpKey: showRightButtonMenuOnRelease
                   )
                  (ViewSpec
                     name: 'SeparatingSpace7'
@@ -8978,11 +9000,12 @@
                        (LabelSpec
                           label: 'Label'
                           name: 'Label1'
-                          layout: (LayoutFrame 0 0 0 0 170 0 17 0)
+                          layout: (LayoutFrame 0 0 0 0 193 0 18 0)
                           translateLabel: true
                           labelChannel: formatHostNameWindowLabel
                           adjust: right
                           useDefaultExtent: true
+                    activeHelpKey: hostNameInLabel
                         )
                        (LabelSpec
                           label: 'Label'
@@ -8991,6 +9014,7 @@
                           translateLabel: true
                           labelChannel: formatHostNameWindowLabel1
                           adjust: left
+                    activeHelpKey: hostNameInLabel
                         )
                        (LabelSpec
                           label: 'Label'
@@ -8999,6 +9023,7 @@
                           translateLabel: true
                           labelChannel: formatHostNameWindowLabel2
                           adjust: left
+                    activeHelpKey: hostNameInLabel
                         )
                        )
                      
@@ -9015,6 +9040,7 @@
                           name: 'hostNameInLabelHolder'
                           layout: (LayoutFrame 0 0 -22 1 216 0 0 1)
                           model: hostNameInLabelHolder
+                    activeHelpKey: hostNameInLabel
                           translateLabel: true
                         )
                        (InputFieldSpec
@@ -9027,6 +9053,7 @@
                           acceptOnTab: true
                           acceptOnLostFocus: true
                           acceptOnPointerLeave: true
+                    activeHelpKey: hostNameInLabel
                         )
                        )
                      
@@ -9043,7 +9070,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'actions'!
 
 aspectsFromUserPreferences
@@ -9072,6 +9098,8 @@
     self takeFocus value:StandardSystemView takeFocusWhenMapped.
     self activateOnClick value:(Display activateOnClick:nil).
     self showAccelerators value:MenuView showAcceleratorKeys.
+
+    self autoRaiseOnFocusIn value: (currentUserPrefs autoRaiseOnFocusInDelay notNil).
 !
 
 basicSaveSettings
@@ -9110,6 +9138,11 @@
 
     MenuView showAcceleratorKeys:self showAccelerators value.
 
+    self autoRaiseOnFocusIn value ~= (currentUserPrefs autoRaiseOnFocusInDelay notNil) ifTrue:[
+        currentUserPrefs autoRaiseOnFocusInDelay:(
+            self autoRaiseOnFocusIn value ifTrue:[ 750 ] ifFalse:[nil]).
+    ].
+
     "Modified: / 16.12.2002 / 18:06:31 / penk"
 !
 
@@ -9126,7 +9159,6 @@
     ]
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'aspects'!
 
 activateOnClick
@@ -9145,6 +9177,14 @@
     ^ allowMouseWheelZoom.
 !
 
+autoRaiseOnFocusIn
+    autoRaiseOnFocusIn isNil ifTrue:[
+        autoRaiseOnFocusIn := true asValue.
+        autoRaiseOnFocusIn onChangeSend:#updateModifiedChannel to:self
+    ].
+    ^ autoRaiseOnFocusIn.
+!
+
 beepEnabled
     beepEnabled isNil ifTrue:[
 	beepEnabled := true asValue.
@@ -9297,14 +9337,12 @@
     ^ takeFocus.
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/miscSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::MiscDisplaySettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -9318,10 +9356,10 @@
     self takeFocus value ~= StandardSystemView takeFocusWhenMapped ifTrue:[^ true].
     self activateOnClick value ~= (Display activateOnClick:nil) ifTrue:[^ true].
     self showAccelerators value ~= MenuView showAcceleratorKeys ifTrue:[^ true].
+    self autoRaiseOnFocusIn value ~= (currentUserPrefs autoRaiseOnFocusInDelay notNil) ifTrue:[^ true].
     ^ false
 ! !
 
-
 !AbstractSettingsApplication::OsiSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -9330,7 +9368,6 @@
     ^ AbstractSettingsApplication::MiscCommunicationSettingsAppl defaultIcon.
 ! !
 
-
 !AbstractSettingsApplication::OsiSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -9551,7 +9588,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::OsiSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -9592,7 +9628,6 @@
     ].
 ! !
 
-
 !AbstractSettingsApplication::OsiSettingsAppl methodsFor:'aspects'!
 
 osiACSEConnectionLogging
@@ -9675,14 +9710,12 @@
     ^ osiROSEResponseLogging.
 ! !
 
-
 !AbstractSettingsApplication::OsiSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/communicationsSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::OsiSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -9701,7 +9734,6 @@
 	self osiCMISEMessageLogging value ~= OSI::CMISE messageLogging]]])
 ! !
 
-
 !AbstractSettingsApplication::PrinterSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -9710,7 +9742,6 @@
     ^ ToolbarIconLibrary printerIcon
 ! !
 
-
 !AbstractSettingsApplication::PrinterSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -10034,7 +10065,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -10089,7 +10119,6 @@
     ].
 ! !
 
-
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'aspects'!
 
 bottomMargin
@@ -10364,7 +10393,6 @@
     ^ unitList.
 ! !
 
-
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'change & update'!
 
 printerTypeSelectionChanged
@@ -10448,14 +10476,12 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/printerSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::PrinterSettingsAppl methodsFor:'queries'!
 
 commandList
@@ -10516,7 +10542,6 @@
     ^ possiblePrinters
 ! !
 
-
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -10542,7 +10567,6 @@
 DQDQDQI@@@@@P!!DQDQDQI@@@@@@DH"DQD"I@@@@@@@ADP"H$Q@@@@@@@@@@DQD@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255 128 128 128 0 128 128 192 192 192]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@G @@?<@A?>@C??@G?? O??0O??0O??0_??8_??8_??8_??8O??0O??0O??0G?? C??@A?>@@?<@@G @@@@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -10618,7 +10642,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -10640,7 +10663,6 @@
     ].
 ! !
 
-
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'aspects'!
 
 dynamicPrios
@@ -10659,14 +10681,12 @@
     ^ preemptive.
 ! !
 
-
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/miscSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::ProcessorSchedulerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -10675,7 +10695,6 @@
     ^ false
 ! !
 
-
 !AbstractSettingsApplication::RDoItServerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -10701,7 +10720,6 @@
 !!B D @A%T@@@@@BBP$IH @@@@@@@@HPHHB"@@@@@@@@@@@!!H@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 64 80 96 240 240 0 80 112 112 240 240 240 64 64 64 48 64 80 64 96 96 128 128 0 128 128 128 48 80 80 80 96 96 112 112 112 64 80 80 80 96 112]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@G??0G??0G??8G??8G??8G??8G??8G??8G??8G??8G??8G??8G??8A??8@O?@@O?@@G>@@A0@@@@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::RDoItServerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -11042,7 +11060,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -11159,7 +11176,6 @@
     ^ portOrPath
 ! !
 
-
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'aspects'!
 
 rDoitEnabledOnlyViaLocalConnection
@@ -11283,7 +11299,6 @@
     ^ scriptingServerPortOrPath.
 ! !
 
-
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'change & update'!
 
 rDoitsEnabledChanged
@@ -11296,14 +11311,12 @@
     ]
 ! !
 
-
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/communicationsSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::RDoItServerSettingsAppl methodsFor:'queries'!
 
 hasRDoitServer
@@ -11347,7 +11360,6 @@
     "Modified: / 20-05-2010 / 14:48:52 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SQLServerSettingsAppl class methodsFor:'image specs'!
 
 dbIcon1
@@ -11411,7 +11423,6 @@
     ^ self dbIcon2.
 ! !
 
-
 !AbstractSettingsApplication::SQLServerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -11626,7 +11637,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -11692,7 +11702,6 @@
     "Modified: / 25-01-2007 / 17:41:20 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'aspects'!
 
 sqlDataLogging
@@ -11759,7 +11768,6 @@
     ^ sqlStatementLogging.
 ! !
 
-
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'change & update'!
 
 sqlServerEnabledChanged
@@ -11784,14 +11792,12 @@
     "Modified: / 25-01-2007 / 17:40:03 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/communicationsSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::SQLServerSettingsAppl methodsFor:'queries'!
 
 hasSQLServerClass
@@ -11827,7 +11833,6 @@
     "Created: / 25-01-2007 / 17:29:59 / cg"
 ! !
 
-
 !AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'defaults'!
 
 stcCompilationOptions
@@ -11839,7 +11844,6 @@
     ^ #('primitive code only' 'never')
 ! !
 
-
 !AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -11953,7 +11957,6 @@
 @@LC@@LCA@PD@0PDA@PC@0PDA@PDA@PDA@PDA@PDA@PC@0PD') ; colorMapFromArray:#[255 189 23 127 127 127 236 233 216 0 0 0 255 255 255 194 194 194 161 161 165]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@A @@C0@@33@A?? A?? @??@@??@C??0G??8G??8C??0@??@@??@A?? A?? @33@LC0LHA DP@@BH6[DL@@L') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::STCCompilerSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -12023,14 +12026,14 @@
                        (LabelSpec
                           label: 'STC Compilation to Machine Code:'
                           name: 'Label11'
-                          layout: (LayoutFrame 0 0 0 0 200 0 22 0)
+                          layout: (LayoutFrame 0 0 0 0 240 0 22 0)
                           translateLabel: true
                           adjust: right
                         )
                        (PopUpListSpec
                           label: 'PopUp List'
                           name: 'StcCompilation'
-                          layout: (LayoutFrame 201 0 0 0 -5 1 22 0)
+                          layout: (LayoutFrame 241 0 0 0 -5 1 22 0)
                           tabable: true
                           model: stcCompilationSelection
                           enableChannel: canLoadBinaries
@@ -12432,6 +12435,31 @@
                     )
                     extent: (Point 600 29)
                   )
+                 (ViewSpec
+                    name: 'Box1'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (LabelSpec
+                          label: 'Verbose (Trace Commands):'
+                          name: 'Label17'
+                          layout: (LayoutFrame 0 0 0 0 200 0 22 0)
+                          translateLabel: true
+                          adjust: right
+                        )
+                       (CheckToggleSpec
+                          name: 'CheckToggle2'
+                          layout: (LayoutOrigin 203 0 4 0)
+                          model: verbose
+                          isTriggerOnDown: true
+                          showLamp: false
+                          lampColor: (Color 100.0 100.0 0.0)
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 600 30)
+                  )
                  )
                
               )
@@ -12442,7 +12470,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -12451,6 +12478,8 @@
     self canLoadBinaries
 	value:(ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]).
 
+    self verbose value:(STCCompilerInterface verbose ? false).
+
     self stcIncludes value:ParserFlags stcCompilationIncludes.
     self stcDefines value:ParserFlags stcCompilationDefines.
     self stcOptions value:ParserFlags stcCompilationOptions.
@@ -12481,6 +12510,8 @@
 
 basicSaveSettings
 
+    STCCompilerInterface verbose:self verbose value.
+
     ParserFlags stcCompilation:(self class stcCompilationOptions at:self stcCompilationSelection value).
     ParserFlags stcCompilationIncludes:self stcIncludes value.
     ParserFlags stcCompilationDefines:self stcDefines value.
@@ -12599,7 +12630,6 @@
     ].
 ! !
 
-
 !AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'aspects'!
 
 canLoadBinaries
@@ -12775,8 +12805,16 @@
         supportedCCompilerSelection := ValueHolder new.
     ].
     ^ supportedCCompilerSelection.
-! !
-
+!
+
+verbose
+
+    verbose isNil ifTrue:[
+        verbose := false asValue.
+        verbose onChangeSend:#updateModifiedChannel to:self.
+    ].
+    ^ verbose.
+! !
 
 !AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'help'!
 
@@ -12793,7 +12831,6 @@
     "Created: / 16-09-2011 / 18:18:32 / cg"
 ! !
 
-
 !AbstractSettingsApplication::STCCompilerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -12801,6 +12838,8 @@
 
     ((ObjectFileLoader notNil and:[ObjectFileLoader canLoadObjectFiles]) ~= self canLoadBinaries value ) ifTrue:[^ true].
 
+    ((STCCompilerInterface verbose) ~= (self verbose value)) ifTrue:[^ true].
+
     ((ParserFlags stcCompilation ? #default) ~= (self class stcCompilationOptions at:self stcCompilationSelection value)) ifTrue:[^ true].
     ((ParserFlags stcCompilationIncludes) ~= self stcIncludes value) ifTrue:[^ true].
     ((ParserFlags stcCompilationDefines) ~= self stcDefines value) ifTrue:[^ true].
@@ -12825,7 +12864,6 @@
     "Modified: / 16-09-2011 / 18:42:00 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'defaults'!
 
 exampleText
@@ -12872,7 +12910,6 @@
 '.
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -12898,7 +12935,6 @@
 UUUUUUUH**"EUZUUUUUUUT"**HV*)UUUUUUURJ*(!!UUUUUUUUUUH**"TQDQDQDQDQD"**("H"H"H"H"H"J(b') ; colorMapFromArray:#[240 160 80 192 80 0 64 0 0 240 208 160 0 0 0 240 240 240 192 192 192 240 128 0 208 208 208 48 48 48 160 160 160]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@_?? _??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0_??0O??0') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -13184,7 +13220,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -13331,7 +13366,6 @@
     self reformat.
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'aspects'!
 
 autoFormat
@@ -13441,7 +13475,6 @@
     ^ tabIndent.
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -13466,14 +13499,12 @@
 	from:changedObject
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/sourceFormatSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -13493,7 +13524,6 @@
     scrollWhenUpdating:nil.
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeFormatSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -13518,7 +13548,6 @@
     ^ false
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 documentation
@@ -13530,7 +13559,6 @@
 "
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -13604,7 +13632,6 @@
     "Modified: / 09-08-2012 / 09:41:28 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -13633,7 +13660,6 @@
 EQXVE @@@@@@@@@@@@@@@@@@@@@@@A(Z@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 32 64 0 0 64 0 32 32 0 0 32 0 32 96 32 96 192 128 192 224 192 160 224 160 32 128 64 64 96 64 64 96 32 32 160 64 160 224 192 64 160 96 32 128 32 224 224 224 64 128 64 160 192 160 224 224 192 32 160 96 160 160 160 64 64 64 96 96 96 128 128 128 192 192 192 32 32 32 32 64 32]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@O8@@?>@A??@A?C C<@0C8@PC8@@??@@??F@_>O@O<_ G8?0C1?8A#?<@C?<@@_@H@_@L@?@GC>@C?>@A?<@@_0@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -14025,7 +14051,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'tableColumns specs'!
 
 managerPerMatchingModuleColumns
@@ -14064,7 +14089,6 @@
 
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'accessing'!
 
 manager
@@ -14072,7 +14096,6 @@
     ^ Smalltalk at:#SourceCodeManager
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 actionAdd
@@ -14344,7 +14367,6 @@
     "Modified: / 16-08-2006 / 11:07:51 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 acceptChannel
@@ -14631,7 +14653,6 @@
     ^ verboseSourceCodeAccess.
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
 selectedPerModuleRootChanged
@@ -14755,7 +14776,6 @@
     self selectedManagerTypeIndexHolder value:selectedManagerTypeIndex.
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
@@ -14764,7 +14784,6 @@
     "Modified: / 04-07-2011 / 17:22:39 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -14796,7 +14815,6 @@
     "Modified: / 18-04-2011 / 19:37:38 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 cvsRootFromCVSRootFileOrNil
@@ -14859,7 +14877,6 @@
     "Modified: / 27-07-2012 / 12:35:40 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -14888,7 +14905,6 @@
     "Created: / 01-12-2011 / 19:52:19 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog class methodsFor:'interface specs'!
 
 windowSpec
@@ -14998,7 +15014,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog methodsFor:'accessing'!
 
 manager
@@ -15032,7 +15047,6 @@
     "Created: / 09-07-2011 / 13:02:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl::PerModuleManagerSettingDialog methodsFor:'aspects'!
 
 availableManagerTypeNames
@@ -15127,27 +15141,28 @@
     "Modified: / 13-03-2012 / 13:12:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'defaults'!
 
 standardStyles
 
     ^  #(
-	'decWindows'
-	'iris'
-	'motif'
-	'mswindows95'
-	'mswindowsXP'
-	'mswindowsVista'
-	"/ 'next'
-	"/ 'normal'
-	"/ 'os2'
-	'sgmotif'
-	"/ 'st80'
+        'decWindows'
+        'iris' 
+        'motif' 
+        'mswindows8' 
+        'mswindows95' 
+        'mswindowsXP' 
+        'mswindowsxp' 
+        'mswindowsVista' 
+        'mswindowsvista' 
+        "/ 'next' 
+        "/ 'normal'
+        "/ 'os2' 
+        'sgmotif' 
+        "/ 'st80' 
        )
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'image specs'!
 
 closePreviewButtonImage
@@ -15180,7 +15195,6 @@
 F1,[F1,S@@@@@@@@D1LSD1LSD1LSD1LSD1LSD0@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 0 80 112 0 80 128 0 96 128 0 96 144 0 112 144 0 112 160 16 112 144 16 128 160 16 128 176 16 144 192 32 80 80 32 96 80 32 96 96 48 112 112 48 128 112 48 128 128 64 96 96 64 144 128 80 80 80 112 112 0 128 128 0 128 128 128 160 160 0 176 176 0 192 192 192 208 208 0 224 224 224 240 240 240 255 255 129 255 255 193 255 255 225]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@C@@@G @@O0@@_8@@?<@A?>@C??@G?? O??0G??8???0??? ???@??>@??<@??<@??<@??<@??<@??<@??<@??<@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -15342,7 +15356,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -15370,7 +15383,6 @@
     self saveSettings.
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'aspects'!
 
 infoLabelHolder
@@ -15425,7 +15437,6 @@
     ^ styleList.
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'change & update'!
 
 changeInfoLabel
@@ -15502,14 +15513,12 @@
     "Modified: / 07-11-2006 / 13:58:09 / cg"
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/styleSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'initialization & release'!
 
 commonPostBuild
@@ -15564,7 +15573,6 @@
     aWidget scrolledView backgroundColor:self window viewBackground.
 ! !
 
-
 !AbstractSettingsApplication::StyleSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -15572,7 +15580,6 @@
     ^  (self selectedStyle value ~= View defaultStyle)
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'defaults'!
 
 emphasisList
@@ -15643,7 +15650,6 @@
     )
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -15692,7 +15698,6 @@
     "Created: / 14-02-2012 / 10:44:21 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -15718,7 +15723,6 @@
 A@PDQDQDPQQ@QDADPDQ@QDQAEDQDQDQDQDQDQDDTMCP4MCP4QDQDPQQCP4MCP4MDQDQADQDQDQDQDQDQDQDb') ; colorMapFromArray:#[0 0 0 88 88 88 0 0 255 255 0 0 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<???<') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -15931,7 +15935,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
@@ -16005,7 +16008,6 @@
     "Modified (format): / 16-03-2012 / 10:32:02 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'aspects'!
 
 coloredText
@@ -16100,7 +16102,6 @@
     ^ syntaxEmphasisSelection.
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'change & update'!
 
 getEmphasis:anEmphasisOrSymbol
@@ -16155,14 +16156,12 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/sourceSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -16225,7 +16224,6 @@
     "Modified: / 14-02-2012 / 11:01:49 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SyntaxColorSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -16273,7 +16271,6 @@
 	asLowercaseFirst asSymbol
 ! !
 
-
 !AbstractSettingsApplication::SystemBrowserSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -16330,7 +16327,6 @@
 )
 ! !
 
-
 !AbstractSettingsApplication::SystemBrowserSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -16341,7 +16337,6 @@
     "Modified: / 17-09-2007 / 11:35:15 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SystemBrowserSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -16550,7 +16545,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'actions'!
 
 aspects
@@ -16592,7 +16586,6 @@
     "Modified: / 25-11-2011 / 15:09:49 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'aspects'!
 
 confirmRefactorings
@@ -16742,14 +16735,12 @@
     "Created: / 07-06-2011 / 14:34:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/browserSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::SystemBrowserSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -16761,7 +16752,6 @@
     "Modified: / 25-11-2011 / 15:23:47 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -16788,7 +16778,6 @@
 )
 ! !
 
-
 !AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -16817,7 +16806,6 @@
 F!!(ZF!!(ZF@@@@@@@@@@@@@@ODQ0\H"H"H @@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 64 32 16 128 96 48 112 48 0 176 112 48 176 96 32 208 160 128 160 96 16 48 32 0 192 128 80 160 80 16 112 80 32 176 112 32 96 48 16 160 112 32 80 80 16 128 64 16 64 64 16 208 208 176 224 224 208 160 160 128 144 144 80 112 112 64 128 128 64 80 80 32 192 192 160 160 160 112 96 96 48 48 48 16 240 240 224 176 176 128 176 176 144 144 144 96 112 112 48 32 32 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@G @@O @@_0@@_0@@_0@@_0@@_0@@G @@G @@G @@?<@A?>@A?>@A?>@A?>@A?>@A?>@A?>@G??@G??@G??@A?>@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::SystemMessageSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -17007,7 +16995,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'actions'!
 
 aspects
@@ -17047,7 +17034,6 @@
     "Modified: / 10-11-2010 / 12:08:14 / cg"
 ! !
 
-
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'aspects'!
 
 beepEnabled
@@ -17171,14 +17157,12 @@
     ^ vmInfo.
 ! !
 
-
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/messageSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::SystemMessageSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -17193,7 +17177,6 @@
     "Modified: / 10-11-2010 / 12:08:25 / cg"
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -17223,7 +17206,6 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[107 107 107 253 252 252 180 180 180 254 102 102 154 154 154 255 0 0 46 49 49 98 53 53 171 80 80 155 25 25 128 128 128 73 74 74]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@C0@@C<@@G>@@G>@G??8O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??8G??@A?0@@F@@@@@@@@@@@@@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'interface specs'!
 
 developmentToolsSpec
@@ -17350,7 +17332,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl class methodsFor:'list specs'!
 
 notebookTabList
@@ -17385,7 +17366,6 @@
     "Modified: / 03-04-2012 / 10:52:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'aspects'!
 
 aspects
@@ -17446,7 +17426,6 @@
     ^ list
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'hooks'!
 
 developmentToolSettingsInto:panel
@@ -17479,7 +17458,6 @@
     "Created: / 03-04-2012 / 10:54:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'private'!
 
 addClassToolSettingTo: panel
@@ -17498,7 +17476,6 @@
     "Created: / 14-02-2012 / 18:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'protocol'!
 
 basicReadSettings
@@ -17525,7 +17502,6 @@
     ^ self shouldImplement
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -17536,7 +17512,6 @@
     "Modified: / 14-02-2012 / 18:38:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting class methodsFor:'interface specs'!
 
 windowSpec
@@ -17601,7 +17576,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'accessing'!
 
 classes: aCollection
@@ -17635,7 +17609,6 @@
     "Created: / 14-02-2012 / 18:22:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'aspects'!
 
 optionCustomValueBackgroundHolder
@@ -17818,7 +17791,6 @@
     ].
 ! !
 
-
 !AbstractSettingsApplication::ToolboxSettingsAppl::ClassToolSetting methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -17860,7 +17832,6 @@
     "Modified: / 14-02-2012 / 19:01:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -17909,7 +17880,6 @@
     "Modified: / 09-08-2012 / 09:34:41 / cg"
 ! !
 
-
 !AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -17935,7 +17905,6 @@
 @@@@@@H0B*@@@@@@@@@@@@@J(@@@@@@@@@@@@@* @@@@@@@@@@@@B*****************************(b') ; colorMapFromArray:#[0 0 0 160 160 160 240 240 240 224 224 224 48 48 48 128 128 128 208 208 208 112 112 112 192 192 192 96 96 96 176 176 176]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@?@@@?0@@_8@GO<@G3<@G?>@G??@G?? G?? C?? @?? @G? @@_ @@G @@A @@@@@@@@@@@@@@@@') ; yourself); yourself]
 ! !
 
-
 !AbstractSettingsApplication::ToolsSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -18076,7 +18045,7 @@
                           translateLabel: true
                           resizeForLabel: true
                           adjust: left
-                          extent: (Point 99 18)
+                          useDefaultExtent: true
                         )
                        (InputFieldSpec
                           name: 'EntryField1'
@@ -18088,7 +18057,7 @@
                           acceptOnTab: true
                           acceptOnLostFocus: true
                           acceptOnPointerLeave: true
-                          extent: (Point 490 22)
+                          extent: (Point 473 22)
                         )
                        )
                      
@@ -18194,7 +18163,6 @@
       )
 ! !
 
-
 !AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'actions'!
 
 aspects
@@ -18299,7 +18267,6 @@
     "Modified: / 27-07-2012 / 20:51:46 / cg"
 ! !
 
-
 !AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'aspects'!
 
 autoRaiseTranscript
@@ -18478,14 +18445,12 @@
     "Created: / 06-07-2011 / 13:52:33 / cg"
 ! !
 
-
 !AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/toolSettings.html'
 ! !
 
-
 !AbstractSettingsApplication::ToolsSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges
@@ -18502,15 +18467,14 @@
     "Modified: / 27-07-2012 / 20:51:56 / cg"
 ! !
 
-
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.462 2013-03-28 23:29:00 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.466 2013-05-21 20:31:29 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.462 2013-03-28 23:29:00 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.466 2013-05-21 20:31:29 cg Exp $'
 !
 
 version_HG
--- a/BrowserView.st	Tue May 28 22:46:27 2013 +0100
+++ b/BrowserView.st	Fri May 31 00:35:44 2013 +0100
@@ -79,7 +79,6 @@
 "
 ! !
 
-
 !BrowserView class methodsFor:'initialization'!
 
 initialize
@@ -129,7 +128,6 @@
     "Modified: / 27.10.1997 / 17:34:25 / cg"
 ! !
 
-
 !BrowserView class methodsFor:'class history'!
 
 addToClassHistory:aClass selector:aSelector
@@ -142,7 +140,6 @@
     SystemBrowser checkClassHistory
 ! !
 
-
 !BrowserView class methodsFor:'cleanup'!
 
 lowSpaceCleanup
@@ -159,7 +156,6 @@
     Icons := DefaultIcon := nil.
 ! !
 
-
 !BrowserView class methodsFor:'defaults'!
 
 changeHistoryMaxSize
@@ -233,7 +229,6 @@
     "Created: / 29.10.1997 / 03:32:43 / cg"
 ! !
 
-
 !BrowserView class methodsFor:'interface specs'!
 
 methodFilterSpec
@@ -616,7 +611,6 @@
       )
 ! !
 
-
 !BrowserView class methodsFor:'menu specs'!
 
 menuSpec
@@ -1675,14 +1669,12 @@
       )
 ! !
 
-
 !BrowserView class methodsFor:'resources'!
 
 classResources
     ^ SystemBrowser classResources
 ! !
 
-
 !BrowserView methodsFor:'change & update'!
 
 delayedUpdate:something with:someArgument from:changedObject
@@ -2094,7 +2086,6 @@
     "Modified: 26.3.1997 / 18:29:51 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class category list menu'!
 
 browserClone
@@ -2924,7 +2915,7 @@
         (oldClass := currentClass) notNil ifTrue:[
             oldClassName := currentClass name.
             (oldClassName endsWith:'-old') ifTrue:[
-                oldClassName := oldClassName copyWithoutLast:4 "copyTo:(oldClassName size - 4)"
+                oldClassName := oldClassName copyButLast:4 "copyTo:(oldClassName size - 4)"
             ]
         ].
         oldMethodCategory := currentMethodCategory.
@@ -2960,7 +2951,6 @@
     "Modified: / 10.4.1998 / 12:25:38 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class category source administration'!
 
 classCategoryCheckinEach
@@ -3417,7 +3407,6 @@
     "Modified (format): / 29-09-2011 / 16:09:52 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class category stuff'!
 
 checkClassCategorySelected
@@ -3702,7 +3691,6 @@
     "Modified: / 27.7.1998 / 10:56:50 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class history'!
 
 changeHistoryMenu
@@ -3900,7 +3888,6 @@
     self class classHistory:savedHistory.
 ! !
 
-
 !BrowserView methodsFor:'class list menu'!
 
 classClassInstVars
@@ -5153,7 +5140,7 @@
                 clsName := words first.
                 (clsName endsWith:' class') ifTrue:[
                     isMeta := true.
-                    clsName := clsName copyWithoutLast:6 "copyTo:(clsName size - 5)"
+                    clsName := clsName copyButLast:6 "copyTo:(clsName size - 5)"
                 ] ifFalse:[
                     isMeta := false
                 ].
@@ -5211,7 +5198,6 @@
     "Modified: 17.6.1997 / 13:32:40 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class list source administration'!
 
 classCheckin
@@ -5473,7 +5459,7 @@
     fileName := fileNameHolder value withoutSpaces.
 
     (fileName endsWith:',v') ifTrue:[
-        fileName := fileName copyWithoutLast:2
+        fileName := fileName copyButLast:2
     ].
     (fileName endsWith:'.st') ifFalse:[
         fileName := fileName , '.st'
@@ -5761,7 +5747,6 @@
     "Modified: / 10.2.2000 / 14:14:09 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class stuff'!
 
 allClasses
@@ -6795,7 +6780,7 @@
 
     str := aString.
     (aString endsWith:' class') ifTrue:[
-        str := aString copyWithoutLast:6.
+        str := aString copyButLast:6.
         meta := true
     ].
 
@@ -6937,7 +6922,6 @@
     "Modified: 10.1.1997 / 14:01:20 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class-method list menu'!
 
 classMethodBrowse
@@ -7151,7 +7135,6 @@
     "Modified: / 7.8.1998 / 17:13:47 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class-method stuff'!
 
 classFromClassMethodString:aString
@@ -7263,7 +7246,7 @@
     ].
 
     ((classString ~= 'Metaclass') and:[classString endsWith:' class']) ifTrue:[
-        classString := classString copyWithoutLast:6 "copyTo:(classString size - 5)".
+        classString := classString copyButLast:6 "copyTo:(classString size - 5)".
         meta := true.
     ] ifFalse:[
         meta := false.
@@ -7358,7 +7341,7 @@
 
     s := aString string withoutSpaces.
     (s endsWith:'???') ifTrue:[
-        s := s copyWithoutLast:3.    "/ kludge
+        s := s copyButLast:3.    "/ kludge
         s := s withoutSpaces.
     ].
     (s includes:${ ) ifTrue:[
@@ -7371,14 +7354,14 @@
     ].
 
     (s endsWith:' !!') ifTrue:[
-        s := s copyWithoutLast:2
+        s := s copyButLast:2
     ].
     (s endsWith:')') ifTrue:[
         s := aString copyTo:(aString lastIndexOf:$()-1.
         s := s withoutSpaces.
     ].
     (s endsWith:' !!') ifTrue:[
-        s := s copyWithoutLast:2
+        s := s copyButLast:2
     ].
     pos := s lastIndexOf:(Character space).
     s := s copyFrom:(pos + 1).
@@ -7440,7 +7423,6 @@
     "Modified: / 17.10.1998 / 11:30:35 / cg"
 ! !
 
-
 !BrowserView methodsFor:'event handling'!
 
 handlesKeyPress:key inView:view
@@ -7543,7 +7525,6 @@
     "Modified: / 18.4.1998 / 15:56:36 / cg"
 ! !
 
-
 !BrowserView methodsFor:'help'!
 
 helpTextFor:aComponent
@@ -7565,7 +7546,6 @@
     "Modified: 28.6.1997 / 15:00:18 / cg"
 ! !
 
-
 !BrowserView methodsFor:'initialization & release'!
 
 autoSearch:aString
@@ -7752,7 +7732,6 @@
     "Modified: 18.8.1997 / 15:19:50 / cg"
 ! !
 
-
 !BrowserView methodsFor:'initialize subviews'!
 
 createClassListViewIn:frame
@@ -8323,7 +8302,6 @@
     "Modified: / 25.10.1997 / 19:27:40 / cg"
 ! !
 
-
 !BrowserView methodsFor:'method category list menu'!
 
 createAccessMethodsFor:aCollectionOfInstVarNames withChange:withChange
@@ -8865,7 +8843,6 @@
                                     ]
 ! !
 
-
 !BrowserView methodsFor:'method category stuff'!
 
 asBrowserList:aList
@@ -9112,7 +9089,6 @@
     "Modified: 18.8.1997 / 15:44:38 / cg"
 ! !
 
-
 !BrowserView methodsFor:'method list menu'!
 
 commonTraceHelperWith:aSelector
@@ -10538,7 +10514,6 @@
     "Modified: / 12.1.1998 / 19:16:22 / cg"
 ! !
 
-
 !BrowserView methodsFor:'method stuff'!
 
 checkMethodSelected
@@ -10563,7 +10538,7 @@
     "/
     aMethod isWrapped ifTrue:[
         (s endsWith:' !!') ifTrue:[
-            s := s copyWithoutLast:2
+            s := s copyButLast:2
         ].
         aMethod isBreakpointed ifTrue:[
             icn := self stopIcon
@@ -10826,7 +10801,7 @@
                 (index == 0 
                  and:[cls isMeta
                  and:[cls name endsWith:' class']]) ifTrue:[
-                    index := classListView list indexOf:(cls name copyWithoutLast:6).
+                    index := classListView list indexOf:(cls name copyButLast:6).
                 ].
                 index ~~ 0 ifTrue:[
                     classListView attributeAt:index add:#bold.
@@ -11082,7 +11057,6 @@
     "Modified: 30.7.1997 / 15:55:06 / cg"
 ! !
 
-
 !BrowserView methodsFor:'misc'!
 
 beep
@@ -11379,7 +11353,6 @@
     "Modified: / 10.2.2000 / 14:15:03 / cg"
 ! !
 
-
 !BrowserView methodsFor:'namespace menu'!
 
 nameSpaceCheckInEach
@@ -11532,7 +11505,6 @@
     "Modified: / 3.2.1999 / 20:18:13 / cg"
 ! !
 
-
 !BrowserView methodsFor:'namespace stuff'!
 
 changeNameSpaceTo:nsName
@@ -11718,7 +11690,6 @@
     "Created: 8.1.1997 / 10:54:03 / cg"
 ! !
 
-
 !BrowserView methodsFor:'private'!
 
 askAndBrowseMethodCategory:title action:aBlock
@@ -12531,30 +12502,30 @@
 
     sel := codeView selection.
     sel notNil ifTrue:[
-	sel := sel asString withoutSeparators.
-	('*>>*' match:sel) ifTrue:[
-	    sep := $>
-	] ifFalse:[
-	    ('* *' match:sel) ifTrue:[
-		sep := Character space
-	    ]
-	].
-	sep notNil ifTrue:[
-	    "
-	     extract class/sel from selection
-	    "
-	    s := ReadStream on:sel.
-	    clsName := s upTo:sep.
-	    [s peek == sep] whileTrue:[s next].
-	    sel := s upToEnd.
-
-	    (clsName endsWith:' class') ifTrue:[
-		isMeta := true.
-		clsName := clsName copyWithoutLast:6 "copyTo:(clsName size - 5)"
-	    ] ifFalse:[
-		isMeta := false
-	    ].
-	]
+        sel := sel asString withoutSeparators.
+        ('*>>*' match:sel) ifTrue:[
+            sep := $>
+        ] ifFalse:[
+            ('* *' match:sel) ifTrue:[
+                sep := Character space
+            ]
+        ].
+        sep notNil ifTrue:[
+            "
+             extract class/sel from selection
+            "
+            s := ReadStream on:sel.
+            clsName := s upTo:sep.
+            [s peek == sep] whileTrue:[s next].
+            sel := s upToEnd.
+
+            (clsName endsWith:' class') ifTrue:[
+                isMeta := true.
+                clsName := clsName copyButLast:6 "copyTo:(clsName size - 5)"
+            ] ifFalse:[
+                isMeta := false
+            ].
+        ]
     ].
     aBlock value:clsName value:sel value:isMeta
 
@@ -12570,7 +12541,7 @@
     nm := aClassName.
     (nm endsWith:' class') ifTrue:[
         meta := true.
-        nm := nm copyWithoutLast:6.
+        nm := nm copyButLast:6.
     ].
     nameSym := nm asSymbol.
 
@@ -12594,7 +12565,7 @@
     ].
 
     (nm startsWith:'Smalltalk::') ifTrue:[
-        cls := environment classNamed:(nm copyFrom:'Smalltalk::' size + 1).
+        cls := environment classNamed:(nm withoutPrefix:'Smalltalk::').
         cls notNil ifTrue:[
             meta ifTrue:[^ cls theMetaclass].
             ^ cls
@@ -13016,7 +12987,7 @@
                 |cls|
 
                 Error handle:[:ex |
-                    ex signal == HaltInterrupt ifTrue:[
+                    ex creator == HaltInterrupt ifTrue:[
                         ex reject
                     ].
                     codeView error:ex description position:1 to:nil from:nil.
@@ -13273,7 +13244,6 @@
     "Created: 18.8.1997 / 15:41:52 / cg"
 ! !
 
-
 !BrowserView methodsFor:'private-defaults'!
 
 breakPointedIcon
@@ -13398,7 +13368,6 @@
     ^ self fetchIcon:#trace selector:#traceIcon
 ! !
 
-
 !BrowserView methodsFor:'private-queries'!
 
 hasClassCategorySelected
@@ -13522,7 +13491,6 @@
         and:[ variableListView selectionValue notNil ]]
 ! !
 
-
 !BrowserView methodsFor:'syntax coloring'!
 
 startSyntaxHighlightProcess
@@ -13710,7 +13678,6 @@
     "Modified: / 20.11.2001 / 00:38:09 / cg"
 ! !
 
-
 !BrowserView methodsFor:'unused'!
 
 listOfAllMethodCategoriesInHierarchy:aClass
@@ -13757,7 +13724,6 @@
     "Modified: 5.6.1996 / 11:42:12 / stefan"
 ! !
 
-
 !BrowserView methodsFor:'variable list menu'!
 
 allClassInstVarMods
@@ -14270,7 +14236,6 @@
     "Modified: 25.5.1996 / 12:26:07 / cg"
 ! !
 
-
 !BrowserView methodsFor:'variable stuff'!
 
 hilightEntryFor:entry
@@ -14582,11 +14547,10 @@
     "Modified: / 17.9.1998 / 13:45:02 / cg"
 ! !
 
-
 !BrowserView class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.842 2013-04-04 09:41:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.845 2013-05-07 15:29:00 cg Exp $'
 !
 
 version_HG
--- a/CVSSourceCodeManagementSettingsAppl.st	Tue May 28 22:46:27 2013 +0100
+++ b/CVSSourceCodeManagementSettingsAppl.st	Fri May 31 00:35:44 2013 +0100
@@ -16,7 +16,8 @@
 		addPerModuleRoot perModuleRootModule removePerModuleRoot
 		perModuleRoot cvsRootHolder selectedPerModuleRoot
 		cvsBinDirectoryHolder cvsExecutableHolder cvsCommandTimeoutHolder
-		rootsPerModule cvsLoginInModuleEnabled cvsLoginEnabled'
+		rootsPerModule cvsLoginInModuleEnabled cvsLoginEnabled
+		cvsInitInModuleEnabled'
 	classVariableNames:'RecentlyUsedCVSRoots'
 	poolDictionaries:''
 	category:'System-SourceCodeManagement'
@@ -47,7 +48,6 @@
 "
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'defaults'!
 
 defaultRepositoryName
@@ -57,7 +57,6 @@
     "Created: / 19-04-2011 / 11:00:11 / cg"
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'help specs'!
 
 helpSpec
@@ -76,14 +75,14 @@
     ^ super helpSpec addPairsFrom:#(
 
 #addPerModuleRoot
-'Add this per-module entry'
+'Add this module-CVSRoot combination or update the corresponding per-module entry'
+
+#addPerPackageManager
+'Add a new per-package manager definition'
 
 #addPublicExeptRepository
 'Add an entry to access stx''s sources from the public exept repository'
 
-#addPerPackageManager
-'Add a new per-package manager definition'
-
 #browseSourceCache
 'Open a file browser on the source cache directory'
 
@@ -126,11 +125,14 @@
 #flushSourceCache
 'Remove all files from the source cache.\Access to source code will temporarily be slowed down,\until sources have been refetched from the repository'
 
+#initPerModuleRoot
+'Execute a "cvs init" operation for this CVSROOT (enabled if a new local repository is selected)'
+
 #keepMethodSourceInImage
 'After first file access, keep the method sources in the image itself.\All following text search operations will be much faster.\Grows the image over time (but who cares, these days)'
 
 #loginPerModuleRoot
-'Execute a "cvs login" operation for this CVSROOT'
+'Execute a "cvs login" operation for this CVSROOT (enabled when a remote repository is selected)'
 
 #moveManagerDown
 'Move the selected entry down in the list.\(The first matching definition is used to determine which repository type is used.)'
@@ -160,11 +162,8 @@
 'Output debugging messages on the Transcript\(mostly traces of the underlying scm mechanism, such as cvs commands)'
 
 )
-
-    "Modified: / 09-08-2012 / 09:41:23 / cg"
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
 
 defaultIcon
@@ -227,7 +226,6 @@
 K"DZKR4ZHR8@@@@@@@@@@@@@@@@@@@@@@@@@E14@@@@@@@@@') ; colorMapFromArray:#[0 0 0 160 176 200 176 192 210 176 200 220 192 208 220 224 232 240 176 208 220 208 224 220 144 168 180 192 200 220 208 216 220 208 224 240 224 232 250 224 240 250 208 232 240 160 192 210 176 184 180 128 136 140 192 216 220 160 184 210 208 240 250 144 144 160 192 224 240 160 168 180 192 232 240 160 176 180 224 224 220 192 232 250 144 168 200 176 184 200 160 200 220 192 216 240 176 192 200 160 184 200 192 224 220 176 224 250 176 216 250 160 208 240 144 192 250 144 176 210 255 248 250 160 192 220 144 184 210 160 200 240 160 192 240 128 160 180 128 152 180 0 64 0 32 96 32 96 192 128 32 128 64 32 160 64 32 128 32 64 64 64 96 96 96 128 128 128 32 32 32 32 64 32]; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@X@@C?@@C?@@O?0@O?0@OG @_C8@_C8@OG @O?0@O?6@G??0C??0C??<GC?<GC18_''0>OO0>F_18@??<HO?<G=?0C8?0@@F@') ; yourself); yourself]
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'interface specs'!
 
 windowSpec
@@ -469,7 +467,7 @@
                                       translateLabel: true
                                       tabable: true
                                       model: addPerModuleRoot
-                                      extent: (Point 123 22)
+                                      extent: (Point 98 22)
                                     )
                                    (ActionButtonSpec
                                       label: 'Remove'
@@ -479,21 +477,31 @@
                                       tabable: true
                                       model: removePerModuleRoot
                                       enableChannel: removeEnabled
-                                      extent: (Point 124 22)
+                                      extent: (Point 98 22)
                                     )
                                    (ViewSpec
                                       name: 'Box11'
-                                      extent: (Point 124 10)
+                                      extent: (Point 99 10)
                                     )
                                    (ActionButtonSpec
-                                      label: 'CVS-Login'
+                                      label: 'Init'
                                       name: 'loginButton2'
+                                      activeHelpKey: initPerModuleRoot
+                                      translateLabel: true
+                                      tabable: true
+                                      model: initPerModuleRoot
+                                      enableChannel: cvsInitInModuleEnabled
+                                      extent: (Point 98 22)
+                                    )
+                                   (ActionButtonSpec
+                                      label: 'Login'
+                                      name: 'Button3'
                                       activeHelpKey: loginPerModuleRoot
                                       translateLabel: true
                                       tabable: true
                                       model: loginPerModuleRoot
                                       enableChannel: cvsLoginInModuleEnabled
-                                      extent: (Point 124 22)
+                                      extent: (Point 99 22)
                                     )
                                    )
                                  
@@ -613,7 +621,6 @@
       )
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'queries'!
 
 managerClass
@@ -624,7 +631,6 @@
     "Created: / 19-04-2011 / 12:46:52 / cg"
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl methodsFor:'actions'!
 
 addModule:module withData:data
@@ -735,7 +741,6 @@
     "Modified (format): / 21-12-2011 / 14:25:29 / cg"
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl methodsFor:'actions - cvs'!
 
 addPerModuleRoot
@@ -781,15 +786,51 @@
     "Modified: / 10-01-2012 / 00:18:15 / cg"
 !
 
+cvsInit:cvsRoot
+    |cmd term rootLocal|
+
+    VT100TerminalView isNil ifTrue:[
+        self warn:'Function not available (missing terminal emulation class)'.
+        ^ self.
+    ].
+
+    term := VT100TerminalView open.
+    term topView 
+        label:'CVS init for ' , cvsRoot;
+        waitUntilVisible.
+    term shellTerminateAction:[
+        "/ term topView destroy
+    ].
+
+    rootLocal := cvsRoot withoutPrefix:':local:'.
+
+    term showCR:(('Close this terminal window, when finished') allBold colorizeAllWith:Color red).
+    term showCR:''.
+    term endEntry.
+
+    Delay waitForSeconds:1.
+    cmd := 'md "%1"' bindWith:rootLocal.
+    term sendLine:cmd.
+    "/ cmd := 'set CVSROOT="%1"' bindWith:rootLocal.
+    "/ term sendLine:cmd.
+    cmd := 'cvs -d "%1" init' bindWith:rootLocal.
+    term sendLine:cmd.
+    cmd := 'exit'.
+    term sendLine:cmd.
+
+    "
+     self basicNew cvsInit:':local:c:\users\exept\cvs'
+    "
+!
+
 cvsLogin:cvsRoot
     |cmd term|
 
     VT100TerminalView isNil ifTrue:[
-        self warn:'Function not available'.
+        self warn:'Function not available (missing terminal emulation class)'.
         ^ self.
     ].
 
-    cmd := 'cvs -d ' , cvsRoot , ' login ; exit'.
     term := VT100TerminalView open.
     term topView 
         label:'CVS Login for ' , cvsRoot;
@@ -801,7 +842,11 @@
     term showCR:(('Please enter the CVS-password then close this terminal window.') allBold colorizeAllWith:Color red).
     term showCR:''.
     term endEntry.
+
     Delay waitForSeconds:1.
+    cmd := 'cvs -d "%1" login' bindWith:cvsRoot.
+    term sendLine:cmd.
+    cmd := 'exit'.
     term sendLine:cmd.
 
     "
@@ -811,6 +856,10 @@
     "Modified: / 25-08-2010 / 23:03:19 / cg"
 !
 
+initPerModuleRoot
+    self cvsInit:perModuleRoot value.
+!
+
 loginCVSRoot
     self cvsLogin:cvsRootHolder value.
 !
@@ -819,7 +868,6 @@
     self cvsLogin:perModuleRoot value.
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl methodsFor:'aspects'!
 
 cvsCommandTimeoutHolder
@@ -842,6 +890,13 @@
     "Created: / 21-09-2006 / 15:37:06 / cg"
 !
 
+cvsInitInModuleEnabled
+    cvsInitInModuleEnabled isNil ifTrue:[
+        cvsInitInModuleEnabled := false asValue.
+    ].
+    ^ cvsInitInModuleEnabled.
+!
+
 cvsLoginEnabled
     cvsLoginEnabled isNil ifTrue:[
         cvsLoginEnabled := false asValue.
@@ -885,9 +940,11 @@
         ].
 
         OperatingSystem isUNIXlike ifTrue:[
-            prototypeList add:'/cvs/stx'.
+            prototypeList add:(':local:',OperatingSystem getHomeDirectory,'/cvs').
+            prototypeList add:':local:/cvs/stx'.
         ] ifFalse:[
             OperatingSystem isMSDOSlike ifTrue:[
+                prototypeList add:(':local:',OperatingSystem getHomeDirectory asLowercase,'\cvs').
                 prototypeList add:':local:c:\cvs\stx'.
             ] ifFalse:[
                 "there might be more here in the future"
@@ -930,7 +987,6 @@
     ^ selectedPerModuleRoot.
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl methodsFor:'change & update'!
 
 selectedPerModuleRootChanged
@@ -967,6 +1023,7 @@
     ].
     changedObject == perModuleRoot ifTrue:[
         self updateLoginEnableHolders.
+        self updateInitEnableHolders.
         ^ self
     ].
     changedObject == selectedPerModuleRoot ifTrue:[
@@ -979,19 +1036,30 @@
     "Modified: / 18-04-2011 / 18:18:04 / cg"
 !
 
+updateInitEnableHolders
+    |cvsRoot rootDir hasLocalRepository isAlreadyInitialized|
+
+    isAlreadyInitialized := false.
+    cvsRoot := (perModuleRoot value ? '').
+    (hasLocalRepository := (cvsRoot startsWith:':local:')) ifTrue:[
+        rootDir := (cvsRoot withoutPrefix:':local:') asFilename.
+        isAlreadyInitialized := rootDir exists
+                                and:[ (rootDir / 'CVSROOT') exists].
+    ].
+    self cvsInitInModuleEnabled value:isAlreadyInitialized not.
+!
+
 updateLoginEnableHolders
     self cvsLoginEnabled value:((cvsRootHolder value ? '') startsWith:':pserver:').
     self cvsLoginInModuleEnabled value:((perModuleRoot value ? '') startsWith:':pserver:').
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl methodsFor:'help'!
 
 helpFilename
     ^ 'Launcher/cvsSetup.html'
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl methodsFor:'initialization & release'!
 
 initialize
@@ -1016,7 +1084,6 @@
     "Modified: / 14-01-2012 / 20:28:00 / cg"
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl methodsFor:'queries'!
 
 cvsRootFromCVSRootFileOrNil
@@ -1072,15 +1139,14 @@
     "Modified: / 22-01-2012 / 11:25:53 / cg"
 ! !
 
-
 !CVSSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/CVSSourceCodeManagementSettingsAppl.st,v 1.27 2013-02-22 14:49:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/CVSSourceCodeManagementSettingsAppl.st,v 1.31 2013-05-07 16:58:28 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/CVSSourceCodeManagementSettingsAppl.st,v 1.27 2013-02-22 14:49:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/CVSSourceCodeManagementSettingsAppl.st,v 1.31 2013-05-07 16:58:28 cg Exp $'
 !
 
 version_HG
--- a/ChangesBrowser.st	Tue May 28 22:46:27 2013 +0100
+++ b/ChangesBrowser.st	Fri May 31 00:35:44 2013 +0100
@@ -104,7 +104,6 @@
 "
 ! !
 
-
 !ChangesBrowser class methodsFor:'instance creation'!
 
 new
@@ -138,7 +137,6 @@
     "Modified: / 18-07-2010 / 10:32:18 / cg"
 ! !
 
-
 !ChangesBrowser class methodsFor:'behavior'!
 
 autoSelectNext
@@ -148,7 +146,6 @@
     ^ true
 ! !
 
-
 !ChangesBrowser class methodsFor:'defaults'!
 
 defaultIcon
@@ -172,7 +169,6 @@
     "Created: / 27.9.1999 / 12:28:27 / cg"
 ! !
 
-
 !ChangesBrowser class methodsFor:'menu specs'!
 
 flyByHelpSpec
@@ -761,7 +757,6 @@
       )
 ! !
 
-
 !ChangesBrowser class methodsFor:'private-changeFile access'!
 
 readXMLChangesFrom:aStream inBackground:inBackground
@@ -800,7 +795,6 @@
     ^ set.
 ! !
 
-
 !ChangesBrowser class methodsFor:'utilities'!
 
 isXMLFile:aFilename
@@ -834,7 +828,6 @@
         )
 ! !
 
-
 !ChangesBrowser methodsFor:'aspects'!
 
 applyInOriginalNameSpace
@@ -978,7 +971,6 @@
     ^ updateChangeSet
 ! !
 
-
 !ChangesBrowser methodsFor:'compiler interface'!
 
 wantChangeLog
@@ -988,7 +980,6 @@
     ^ false
 ! !
 
-
 !ChangesBrowser methodsFor:'compiler interface-error handling'!
 
 correctableError:aString position:relPos to:relEndPos from:aCompiler
@@ -1090,7 +1081,6 @@
     ^ self
 ! !
 
-
 !ChangesBrowser methodsFor:'event handling'!
 
 handlesKeyPress:key inView:view
@@ -1150,7 +1140,6 @@
     "Modified: / 18.6.1998 / 22:15:36 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'help'!
 
 showActivity:someMessage
@@ -1167,7 +1156,6 @@
     "Modified: 23.4.1996 / 21:39:36 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'initialization & release'!
 
 autoCompareChanged
@@ -1631,7 +1619,6 @@
     "Modified: / 03-01-2012 / 15:23:13 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'menu actions'!
 
 doApply
@@ -2776,7 +2763,7 @@
 findPreviousForClass
     "findPreviousForClass menu action: select the previous change for the selected changes class"
 
-    self findPreviousForClassStartingAt:(changeNrShown - 1)
+    self findPreviousForClassStartingAt:((changeNrShown ? 1) - 1)
 
     "Modified: / 20-11-2006 / 16:39:04 / cg"
 !
@@ -3058,7 +3045,6 @@
     ToolApplicationModel openAboutSTX
 ! !
 
-
 !ChangesBrowser methodsFor:'private'!
 
 autoSelect:changeNr
@@ -3545,7 +3531,6 @@
     self withSelectedChangesInOrder:nil do:aBlock
 ! !
 
-
 !ChangesBrowser methodsFor:'private-change access'!
 
 changeIsFollowupMethodChange:changeNr
@@ -3746,7 +3731,7 @@
     name := self realClassNameOfChange:changeNr.
     name isNil ifTrue:[^ nil].
     (name endsWith:' class') ifTrue:[
-	name := name copyWithoutLast:6
+        name := name copyButLast:6
     ].
     ^ name
 
@@ -4110,7 +4095,6 @@
     ^ aStream
 ! !
 
-
 !ChangesBrowser methodsFor:'private-changeFile access'!
 
 changeFileName:aFileName
@@ -4367,7 +4351,6 @@
     "Modified: / 27-07-2012 / 09:46:00 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'private-user interaction ops'!
 
 appendChange:changeNr toFile:aFileNameOrFileNameString
@@ -4514,7 +4497,7 @@
                                         (className includes:$:) ifTrue:[
                                             ownerName := className copyTo:(className lastIndexOf:$:) - 1.
                                             (ownerName endsWith:$:) ifTrue:[
-                                                ownerName := ownerName copyWithoutLast:1.
+                                                ownerName := ownerName copyButLast:1.
                                             ].
 
                                             ownerClass := Smalltalk at:(ownerName asSymbol) ifAbsent:[].
@@ -5564,7 +5547,6 @@
     "Modified: / 05-03-2012 / 14:33:16 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'termination'!
 
 askIfChangesAreToBeWrittenBack
@@ -5611,7 +5593,6 @@
     "Modified: / 3.8.1998 / 19:54:00 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'user interaction'!
 
 askForSearch:msg initialAnswer:initial thenSearchUsing:searchBlock2 onCancel:cancelBlock
@@ -5785,7 +5766,7 @@
 
     isMeta := false.
     (className endsWith:' class') ifTrue:[
-        className := className copyWithoutLast:6.
+        className := className copyButLast:6.
         isMeta := true.
     ].
 
@@ -5883,7 +5864,6 @@
     "Created: / 03-01-2012 / 15:26:36 / cg"
 ! !
 
-
 !ChangesBrowser::ChangeFileReader methodsFor:'accessing'!
 
 autoCompare:something
@@ -5956,7 +5936,6 @@
     "Modified: / 06-10-2006 / 11:18:49 / cg"
 ! !
 
-
 !ChangesBrowser::ChangeFileReader methodsFor:'private'!
 
 contractClass:className selector:selector to:maxLen
@@ -6026,7 +6005,6 @@
     ^ browser nameSpaceForApply
 ! !
 
-
 !ChangesBrowser::ChangeFileReader methodsFor:'reading'!
 
 addHeaderLineForChangeType:changeType changeString:changeString changeDelta:changeDelta timeStampInfo:timeStampInfo
@@ -6555,15 +6533,14 @@
     "Modified: / 10-07-2010 / 10:58:08 / cg"
 ! !
 
-
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.438 2013-04-11 09:33:26 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.440 2013-05-01 16:50:50 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.438 2013-04-11 09:33:26 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.440 2013-05-01 16:50:50 cg Exp $'
 !
 
 version_HG
--- a/ContextInspectorView.st	Tue May 28 22:46:27 2013 +0100
+++ b/ContextInspectorView.st	Fri May 31 00:35:44 2013 +0100
@@ -51,7 +51,6 @@
 "
 ! !
 
-
 !ContextInspectorView methodsFor:'accessing'!
 
 inspect:aContext
@@ -267,10 +266,12 @@
                         "/ hidden temps used for loop.
                         "/
                         blockNode invocationSelector == #timesRepeat ifTrue:[
-                            realTempNames asOrderedCollection addFirst:'*loopStop*'
+                            realTempNames := realTempNames asOrderedCollection.
+                            realTempNames addFirst:'*loopStop*'
                         ] ifFalse:[
                             blockNode invocationSelector == #to:do: ifTrue:[
-                                realTempNames asOrderedCollection addFirst:'*loopStop*'
+                                realTempNames := realTempNames asOrderedCollection.
+                                realTempNames addFirst:'*loopStop*'
                             ]
                         ].
                         blockNode := blockNode home.
@@ -370,7 +371,6 @@
     "Modified: 14.12.1995 / 21:49:43 / cg"
 ! !
 
-
 !ContextInspectorView methodsFor:'initialization'!
 
 initialize
@@ -379,7 +379,6 @@
 
 ! !
 
-
 !ContextInspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -460,7 +459,6 @@
     "Modified: / 20-07-2012 / 10:51:12 / cg"
 ! !
 
-
 !ContextInspectorView methodsFor:'private'!
 
 defaultLabel
@@ -630,11 +628,8 @@
     "Created: / 31.10.2001 / 09:17:45 / cg"
 ! !
 
-
 !ContextInspectorView methodsFor:'user actions'!
 
-
-
 hideTemporaries
     "do not show contexts temporaries"
 
@@ -672,15 +667,14 @@
     inspectedContext at:contextIndex put:newValue.
 ! !
 
-
 !ContextInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.80 2013-03-11 16:58:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.81 2013-05-28 18:23:50 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.80 2013-03-11 16:58:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ContextInspectorView.st,v 1.81 2013-05-28 18:23:50 cg Exp $'
 !
 
 version_HG
--- a/DebugView.st	Tue May 28 22:46:27 2013 +0100
+++ b/DebugView.st	Fri May 31 00:35:44 2013 +0100
@@ -1312,7 +1312,7 @@
      to the erronous context
     "
     ex notNil ifTrue:[
-        ex signal == Signal noHandlerSignal ifTrue:[
+        ex creator == Signal noHandlerSignal ifTrue:[
             found := ex suspendedContext
         ]
     ].
@@ -2022,29 +2022,23 @@
      have to catch errors occuring in unwind-blocks
     "
     self cacheMyself.
+    con := thisContext sender.
 
     Error handle:[:ex |
         'DebugView [info]: ignored error while unwinding: ' infoPrint.
         ex description infoPrintCR.
-
         ex proceed
     ] do:[
         "/ find the enter:select context.
-        con := thisContext sender.
-        [
-            (con selector == #enter:select:)
-            and:[con receiver == self]
-        ]
-        whileFalse:[ con := con sender ].
+        [(con selector ~~ #enter:select:) or:[con receiver ~~ self]] whileTrue:[ 
+            con := con sender 
+        ].
 
         "/ must skip over its caller (because this one has a ControlInterrupt handler too)
         con sender receiver == self class ifTrue:[
             con := con sender.
             con sender receiver == self class ifTrue:[
-                con := con sender.
-                con isBlockContext ifTrue:[
-                    con := con methodHome.
-                ]
+                con := con sender methodHome.
             ].
         ].
 
@@ -3166,7 +3160,7 @@
 contextInterrupt
     DebuggingDebugger == true ifTrue:[
         'contextIRQ' printCR.
-        thisContext sender fullPrint.
+        thisContext methodHome sender fullPrint.
     ].
     self stepOrNext
 
@@ -4298,8 +4292,8 @@
         (exContext notNil
         and:[ (ex := exContext receiver) isLazyValue not
         and:[ ex isException
-        and:[ ex signal == NoHandlerError
-        and:[ ex parameter signal == RecursionError]]]])
+        and:[ ex creator == NoHandlerError
+        and:[ ex exception creator == RecursionError]]]])
         ifTrue:[
             "/ debug due to unhandled recursionInterrupt.
             "/ ask if we should proceed with more stack.
@@ -4397,9 +4391,9 @@
     "/ code for a setter
     (selector numArgs == 1
     and:[(selector endsWith:':')
-    and:[receiversClass instVarNames includes:(selector copyWithoutLast:1)]])
+    and:[receiversClass instVarNames includes:(selector copyButLast:1)]])
     ifTrue:[
-        varName := selector copyWithoutLast:1.
+        varName := selector copyButLast:1.
         argName := argNames first.
         code := '%1\' , haltStmtFix , '\    %3 := %4.'.
         cat := 'accessing'.
@@ -6993,7 +6987,7 @@
         SignalSet anySignal handle:[:ex |
             |signal|
 
-            signal := ex signal.
+            signal := ex creator.
             (UserNotification accepts:signal) ifTrue:[
 Transcript showCR:'UserNotification'.
                 (signal ~~ ActivityNotificationSignal) ifTrue:[
@@ -7053,7 +7047,7 @@
         SignalSet anySignal handle:[:ex |
             |answer signal eMsg|
 
-            signal := ex signal.
+            signal := ex creator.
 
             DebuggingDebugger ~~ true ifTrue:[
                 (signal == ActivityNotification) ifTrue:[
@@ -7092,7 +7086,7 @@
                     ex return.
                 ].
                 signal == RecursiveExceptionError ifTrue:[
-                    (ex parameter signal == BreakPointInterrupt)
+                    (ex exception creator == BreakPointInterrupt)
                     ifTrue:[
                         'DebugView [info]: recursive breakpoint in debugger ignored' infoPrintCR.
                         ex proceed.
@@ -7100,8 +7094,8 @@
 
                     self showError:'*** Recursive error in debugger:
 
->>>> Signal:  ' , ex signal printString , '
->>>>          ' , ex parameter signal printString , '
+>>>> Signal:  ' , ex creator printString , '
+>>>>          ' , ex parameter creator printString , '
 >>>> In:      ' , ex suspendedContext printString , '
 >>>> From:    ' , ex suspendedContext sender printString , '
 >>>>     :    ' , ex suspendedContext sender sender printString , '
@@ -7117,7 +7111,7 @@
             self topView raiseDeiconified.
 
             eMsg := ex description.
-            (ex signal isControlInterrupt) ifTrue:[
+            (signal isControlInterrupt) ifTrue:[
                 eMsg := eMsg , Character cr asString , 'in ' , ex suspendedContext printString
             ].
             Dialog aboutToOpenBoxNotificationSignal
@@ -7540,7 +7534,7 @@
                 handle:[:ex | 
                     |s con|
 
-                    ex signal isControlInterrupt ifTrue:[
+                    ex creator isControlInterrupt ifTrue:[
                         'DebugView [info]: halt/break ignored - while showing selection in debugger' 
                             infoPrintCR.
                         ex proceed
@@ -7776,7 +7770,7 @@
 "/                                ex proceed.
 "/                            ].
                             code := 'error while asking method for its source'.
-                            code := code , Character cr , ex signal printString.
+                            code := code , Character cr , ex creator printString.
                             code := code , Character cr , 'in: ' , ex suspendedContext printString.
 
                             canAccept := false.
@@ -7850,7 +7844,7 @@
 "/                            ex proceed.
 "/                        ].
                         code := 'error while asking method for its source'.
-                        code := code , Character cr , ex signal printString.
+                        code := code , Character cr , ex creator printString.
                         code := code , Character cr , 'in: ' , ex suspendedContext printString.
 
                         canAccept := false.
@@ -8329,11 +8323,11 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.581 2013-04-16 16:20:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.584 2013-05-07 13:16:27 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.581 2013-04-16 16:20:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.584 2013-05-07 13:16:27 stefan Exp $'
 !
 
 version_HG
--- a/Diff.st	Tue May 28 22:46:27 2013 +0100
+++ b/Diff.st	Fri May 31 00:35:44 2013 +0100
@@ -465,7 +465,7 @@
                  and that case was handled above without calling `diag'.
                  Let's verify that this is true."
                 d := Exception new.
-                d signal.
+                d raiseSignal.
             ]
             ifFalse:
             [
@@ -1242,7 +1242,7 @@
 !Diff class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Diff.st,v 1.3 2012-07-27 20:14:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Diff.st,v 1.4 2013-04-19 09:39:05 cg Exp $'
 !
 
 version_HG
--- a/DiffListUtility.st	Tue May 28 22:46:27 2013 +0100
+++ b/DiffListUtility.st	Fri May 31 00:35:44 2013 +0100
@@ -82,11 +82,11 @@
                 lOut := line.
                 (line includes:Character return) ifTrue: [
                     (line endsWith:Character return) ifTrue:[
-                        lOut := line copyWithoutLast:1.
+                        lOut := line copyButLast:1.
                     ].
                 ] ifFalse:[
                     (line endsWith:(String crlf)) ifTrue: [
-                        lOut := line copyWithoutLast:2.
+                        lOut := line copyButLast:2.
                     ]
 "/                        i := line indexOf:Character return.
 "/                        (line at:i+1) == Character nl ifTrue:[
@@ -207,11 +207,11 @@
 !DiffListUtility class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DiffListUtility.st,v 1.6 2013-02-01 15:13:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DiffListUtility.st,v 1.7 2013-04-25 13:12:08 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DiffListUtility.st,v 1.6 2013-02-01 15:13:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DiffListUtility.st,v 1.7 2013-04-25 13:12:08 stefan Exp $'
 !
 
 version_HG
--- a/FileBrowser.st	Tue May 28 22:46:27 2013 +0100
+++ b/FileBrowser.st	Fri May 31 00:35:44 2013 +0100
@@ -84,7 +84,6 @@
 "
 ! !
 
-
 !FileBrowser class methodsFor:'instance creation'!
 
 on:aDirectoryPath
@@ -150,7 +149,6 @@
     "Modified: / 17.6.1998 / 11:25:29 / cg"
 ! !
 
-
 !FileBrowser class methodsFor:'aspects'!
 
 directoryBookmarks
@@ -162,7 +160,6 @@
     ^ AbstractFileBrowser directoryHistory.
 ! !
 
-
 !FileBrowser class methodsFor:'defaults'!
 
 defaultIcon
@@ -193,14 +190,12 @@
     "Modified: / 17-09-2007 / 11:36:12 / cg"
 ! !
 
-
 !FileBrowser class methodsFor:'fileList user interaction'!
 
 goodRenameDefaultForFile:oldName lastOld:lastOldName lastNew:lastNewName
     ^ DoWhatIMeanSupport goodRenameDefaultForFile:oldName lastOld:lastOldName lastNew:lastNewName
 ! !
 
-
 !FileBrowser class methodsFor:'history'!
 
 addToCommandHistory:aCommandString for:aFilename
@@ -245,7 +240,6 @@
     VisitedFileHistory addFirst:path.
 ! !
 
-
 !FileBrowser class methodsFor:'icon-presentation'!
 
 addOnIconsFor:aFilename to:anIcon
@@ -313,7 +307,6 @@
     ^ MIMETypeIconLibrary iconKeyForRemoteDirectory:aFilenameArg
 ! !
 
-
 !FileBrowser class methodsFor:'interface specs'!
 
 fileSearchDialogSpec
@@ -446,7 +439,6 @@
       )
 ! !
 
-
 !FileBrowser class methodsFor:'menu specs'!
 
 baseBookmarksMenuSpec
@@ -1476,7 +1468,6 @@
     ^ m
 ! !
 
-
 !FileBrowser class methodsFor:'queries'!
 
 isVisualStartable
@@ -1486,7 +1477,6 @@
     ^ true
 ! !
 
-
 !FileBrowser methodsFor:'aspects'!
 
 anyFilesPresentWithSuffix:suffix
@@ -1882,7 +1872,6 @@
     "Created: / 4.8.1998 / 13:37:37 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'drag & drop'!
 
 canDropObjects:aCollectionOfDropObjects
@@ -1952,7 +1941,6 @@
     "Modified: 6.4.1997 / 14:46:44 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'events'!
 
 handlesKeyPress:key inView:view
@@ -2074,7 +2062,6 @@
     "Modified: / 18.2.1998 / 17:57:44 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'fileList user interaction'!
 
 bigImagePreviewSettingChanged
@@ -2379,7 +2366,7 @@
         |sig msg label labels values action proceedValue isRedef|
 
         isRedef := false.
-        sig := ex signal.
+        sig := ex creator.
         sig == Class methodRedefinitionNotification ifTrue:[
             msg := 'trying to overwrite method:\\    ' , ex oldMethod whoString , '\\in package ''' 
                    , ex oldPackage , ''' with method from package ''' , ex newPackage , ''''.
@@ -3844,7 +3831,6 @@
     "Modified: / 4.8.1998 / 13:44:14 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'help'!
 
 helpTextFor:aComponent
@@ -3871,7 +3857,6 @@
     ^ nil
 ! !
 
-
 !FileBrowser methodsFor:'initialization & release'!
 
 createTabRulerIn:topFrame
@@ -4376,7 +4361,6 @@
     "Created: 24.7.1997 / 18:13:46 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'menu actions'!
 
 addBookmark
@@ -4402,7 +4386,7 @@
                               collect:[:l | |ll|
                                         ll := l string withoutSeparators.
                                         (ll endsWith:' ...') ifTrue:[
-                                            ll copyWithoutLast:4
+                                            ll copyButLast:4
                                         ] ifFalse:[
                                             ll
                                         ]
@@ -4525,7 +4509,6 @@
     "Modified: / 14.8.1998 / 16:44:00 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'menu actions-cvs'!
 
 cvsAddAndCommitSelection
@@ -4740,7 +4723,6 @@
     "Modified: / 21.10.1998 / 17:02:11 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'misc user interaction'!
 
 closeRequest
@@ -4874,7 +4856,6 @@
     "Modified: 29.5.1996 / 16:13:43 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'pathField user interaction'!
 
 addDirToJavaClassPath
@@ -5206,7 +5187,6 @@
     "Created: 2.8.1997 / 14:11:41 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'private'!
 
 ask:question yesButton:yesButtonText
@@ -5334,7 +5314,7 @@
             nm notNil ifTrue:[
                 nm := nm string.
                 (nm endsWith:' ...') ifTrue:[
-                    nm := (nm copyWithoutLast:4) withoutSpaces
+                    nm := (nm copyButLast:4) withoutSpaces
                 ].
             ].
             nm
@@ -5388,7 +5368,6 @@
     ^ aCollection reject:[:fn | fn asFilename isHidden].
 ! !
 
-
 !FileBrowser methodsFor:'private-actions & command execution'!
 
 binaryFileAction:aFilename
@@ -5757,7 +5736,6 @@
     "Modified: 18.9.1997 / 16:58:40 / stefan"
 ! !
 
-
 !FileBrowser methodsFor:'private-directory stuff'!
 
 changeToPreviousDirectory
@@ -6014,7 +5992,6 @@
     "Modified: / 16.12.1998 / 22:55:44 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'private-file I/O'!
 
 readFile:fileName
@@ -6325,7 +6302,6 @@
     "Modified: / 6.5.1999 / 11:45:50 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'private-file stuff'!
 
 doCreateFile:newName
@@ -6658,7 +6634,7 @@
     old := currentDirectory filenameFor:oldName.
     new := currentDirectory filenameFor:newName.
 
-    OperatingSystem errorSignal handle:[:ex|
+    OsError handle:[:ex|
         self showAlert:(resources string:'Cannot rename file ''%1'' to %2 !!' 
                                   with:oldName with:newName)
                   with:(OperatingSystem lastErrorString)
@@ -6681,7 +6657,6 @@
     "Modified: / 21-09-2006 / 18:34:45 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'private-file type & info'!
 
 fileTypeSpecificActions
@@ -6900,7 +6875,6 @@
     ^ (n printStringLeftPaddedTo:5) , unitString.
 ! !
 
-
 !FileBrowser methodsFor:'private-presentation'!
 
 defineTabulatorsForLongList
@@ -7272,7 +7246,7 @@
                                 fileNameString := aFileName.
                                 dirSuffix notNil ifTrue:[
                                     (aFileName asLowercase endsWith:dirSuffix) ifTrue:[
-                                        fileNameString := aFileName copyWithoutLast:(dirSuffix size).
+                                        fileNameString := aFileName copyButLast:(dirSuffix size).
                                     ]
                                 ].
                                 fileNameString := fileNameString , ' ...'
@@ -7281,7 +7255,7 @@
                                 OperatingSystem isVMSlike ifTrue:[
                                     (aFileName endsWith:'.') ifTrue:[
                                         aFileName ~= '..' ifTrue:[
-                                            fileNameString := aFileName copyWithoutLast:1
+                                            fileNameString := aFileName copyButLast:1
                                         ]
                                     ]
                                 ]
@@ -7494,7 +7468,6 @@
     "Modified: / 15.11.2001 / 23:49:03 / cg"
 ! !
 
-
 !FileBrowser methodsFor:'queries'!
 
 fileName
@@ -7529,15 +7502,14 @@
     "Modified: / 12.8.1998 / 14:45:48 / cg"
 ! !
 
-
 !FileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.644 2013-03-02 13:19:21 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.647 2013-04-27 13:01:21 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.644 2013-03-02 13:19:21 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.647 2013-04-27 13:01:21 cg Exp $'
 !
 
 version_HG
--- a/FileBrowserV2.st	Tue May 28 22:46:27 2013 +0100
+++ b/FileBrowserV2.st	Fri May 31 00:35:44 2013 +0100
@@ -81,7 +81,6 @@
 "
 ! !
 
-
 !FileBrowserV2 class methodsFor:'instance creation'!
 
 on:aDirectoryPath
@@ -198,7 +197,6 @@
     ^ clone
 ! !
 
-
 !FileBrowserV2 class methodsFor:'class initialization'!
 
 initialize
@@ -298,7 +296,6 @@
     ].
 ! !
 
-
 !FileBrowserV2 class methodsFor:'defaults'!
 
 entryFieldEndStringForMultipleSelection
@@ -306,7 +303,6 @@
     ^ ('[*]')
 ! !
 
-
 !FileBrowserV2 class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -333,6 +329,9 @@
 #encodingLockedLabel
 'Lock the file-encoding (do not try to guess from the file''s contents)'
 
+#fileFilter
+'Only show files matching the pattern.\Separate multiple patterns by ";".\Patterns starting with "~" are excluding.'
+
 #lineLabel
 'The text-cursor''s line number. Double-Click to change'
 
@@ -372,7 +371,6 @@
 )
 ! !
 
-
 !FileBrowserV2 class methodsFor:'image specs'!
 
 applicationIcon
@@ -408,7 +406,6 @@
     ^ ToolbarIconLibrary hideToolbarIconH26
 ! !
 
-
 !FileBrowserV2 class methodsFor:'interface specs'!
 
 windowSpec
@@ -531,10 +528,12 @@
                                       translateLabel: true
                                       adjust: left
                                       postBuildCallback: postBuildPathViewBox:
+                                      activeHelpKey: fileFilter
                                     )
                                    (ComboBoxSpec
                                       name: 'FilterSelectionBox'
                                       layout: (LayoutFrame 40 0 0 0 0 1 0 1)
+                                      activeHelpKey: fileFilter
                                       model: filterModel
                                       immediateAccept: true
                                       acceptOnPointerLeave: false
@@ -621,7 +620,7 @@
             )
            (ViewSpec
               name: 'InfoBox'
-              layout: (LayoutFrame 0 0 -26 1 0 1 0 1)
+              layout: (LayoutFrame 0 0 -26 1 -16 1 0 1)
               level: 0
               visibilityChannel: infoBarVisibleHolder
               component: 
@@ -761,7 +760,6 @@
       )
 ! !
 
-
 !FileBrowserV2 class methodsFor:'menu specs'!
 
 editModeInfoLabelMenu
@@ -1254,7 +1252,6 @@
       )
 ! !
 
-
 !FileBrowserV2 methodsFor:'actions'!
 
 changeFileBrowserTitleTo:aString
@@ -1294,7 +1291,6 @@
     ].
 ! !
 
-
 !FileBrowserV2 methodsFor:'aspects'!
 
 busyLabelHolder
@@ -1441,7 +1437,6 @@
     ^ selectedDeviceDrive
 ! !
 
-
 !FileBrowserV2 methodsFor:'aspects-visibility'!
 
 busyLabelVisibleHolder
@@ -1478,11 +1473,10 @@
     ^ self aspectFor:#toolBarVisibleHolder ifAbsent:[true asValue]
 ! !
 
-
 !FileBrowserV2 methodsFor:'change & update'!
 
 currentFileNameHolderChanged
-    |newEntryValue nSelected files volume|
+    |newEntryValue nSelected files volume dir|
 
     files := self currentSelectedObjects.
     nSelected := files size.
@@ -1499,16 +1493,16 @@
     self fileEntryFieldHolder value:(newEntryValue asString) withoutNotifying:self.
 
     OperatingSystem supportsVolumes ifTrue:[
-        volume := (nSelected >= 1) 
-                    ifTrue:[files first volume] 
-                    ifFalse:[nil].    
+        volume := (nSelected >= 1)
+                    ifTrue:[files first volume]
+                    ifFalse:[nil].
         self selectedDeviceDrive value:volume.
     ].
     self updatePreview.
 
     nSelected == 1 ifTrue:[
-        self currentDirectory notNil ifTrue:[
-            self window label:(self currentDirectory baseName)  
+        (dir := self currentDirectory) notNil ifTrue:[
+            self window label:(dir baseName)
         ]
     ].
 
@@ -1737,14 +1731,14 @@
     ].
 
     vPanel := builder componentAt:#BrowserBox.
-    vPanel layout topOffset:topOffset+1.
-    vPanel layout bottomOffset:bottomOffset-1.
+    vPanel layout 
+        topOffset:topOffset+1
+        bottomOffset:bottomOffset-1.
     vPanel container notNil ifTrue:[
         vPanel containerChangedSize.
     ].
 ! !
 
-
 !FileBrowserV2 methodsFor:'event handling'!
 
 crPressedInPathField
@@ -1820,7 +1814,6 @@
     "Modified: / 17-05-2007 / 09:12:53 / cg"
 ! !
 
-
 !FileBrowserV2 methodsFor:'menu accessing'!
 
 menuFileHistory
@@ -1869,24 +1862,23 @@
     "Modified: / 09-09-2012 / 13:08:42 / cg"
 ! !
 
-
 !FileBrowserV2 methodsFor:'queries'!
 
 defaultWindowExtent
     "use nearly the full screen height, but at least 768px if available.
      Keep the width as defined in the windowSpec"
 
-    |maxHeight|
+    |w maxHeight|
 
-    maxHeight := self window device usableHeightAt:self window origin.
-    ^ Point x:nil y:(((maxHeight - 200) max:self window extent y) min:maxHeight).
+    w := self window.
+    maxHeight := w device usableHeightAt:w origin.
+    ^ Point x:nil y:(((maxHeight - 200) max:w extent y) min:maxHeight).
 !
 
 getAllFilesAsStrings
     ^ self directoryContentsBrowser getAllFilesAsStrings
 ! !
 
-
 !FileBrowserV2 methodsFor:'startup & release'!
 
 closeRequest
@@ -2048,11 +2040,10 @@
     ^ super release
 ! !
 
-
 !FileBrowserV2 class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileBrowserV2.st,v 1.206 2013-04-16 13:04:04 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowserV2.st,v 1.208 2013-05-21 20:13:50 cg Exp $'
 !
 
 version_HG
--- a/FileOperation.st	Tue May 28 22:46:27 2013 +0100
+++ b/FileOperation.st	Fri May 31 00:35:44 2013 +0100
@@ -1500,58 +1500,58 @@
     |newFile msg resources sameFile|
 
     (oldFile isNil or:[newName isNil]) ifTrue:[
-	result := false.
-	^ self.
+        result := false.
+        ^ self.
     ].
     (oldFile asString isBlank or:[newName isBlank]) ifTrue:[
-	result := false.
-	^ self.
+        result := false.
+        ^ self.
     ].
     newName asFilename isAbsolute ifTrue:[
-	newFile := newName asFilename.
+        newFile := newName asFilename.
     ] ifFalse:[
-	(oldFile baseName = newName) ifTrue:[
-	    result := false
-	].
-	newFile := oldFile directory construct:newName.
+        (oldFile baseName = newName) ifTrue:[
+            result := false
+        ].
+        newFile := oldFile directory construct:newName.
     ].
 
     oldFile pathName = newFile pathName ifTrue:[
-	^ self.
+        ^ self.
     ].
     Filename isCaseSensitive ifFalse:[
-	sameFile := (oldFile pathName sameAs: newFile pathName)
+        sameFile := (oldFile pathName sameAs: newFile pathName)
     ] ifTrue:[
-	sameFile := false
+        sameFile := false
     ].
 
     resources := Dialog classResources.
 
-    OperatingSystem errorSignal handle:[:ex|
-	msg := resources
-		stringWithCRs:'Cannot rename file %1 to %2 !!\\(%3)'
-		with:oldFile baseName
-		with:newName
-		with:(OperatingSystem lastErrorString).
-	Dialog warn:msg.
-	result := false.
-	^ self.
+    OsError handle:[:ex|
+        msg := resources
+                stringWithCRs:'Cannot rename file %1 to %2 !!\\(%3)'
+                with:oldFile baseName
+                with:newName
+                with:(OperatingSystem lastErrorString).
+        Dialog warn:msg.
+        result := false.
+        ^ self.
     ] do:[
-	sameFile ifFalse:[
-	    newFile exists ifTrue:[
-		(newFile sameContentsAs:oldFile) ifTrue:[
-		    msg := '%1 exists [with same contents] - rename (i.e. overwrite) anyway ?'
-		] ifFalse:[
-		    msg := '%1 exists - rename (i.e. overwrite) anyway ?'
-		].
-		(Dialog confirmWithCancel:(resources string:msg with:newName allBold) default:false) ifFalse:[
-		    result := false.
-		    ^ self.
-		]
-	    ].
-	].
-	oldFile renameTo:newFile.
-	self renamedFiles add:newFile.
+        sameFile ifFalse:[
+            newFile exists ifTrue:[
+                (newFile sameContentsAs:oldFile) ifTrue:[
+                    msg := '%1 exists [with same contents] - rename (i.e. overwrite) anyway ?'
+                ] ifFalse:[
+                    msg := '%1 exists - rename (i.e. overwrite) anyway ?'
+                ].
+                (Dialog confirmWithCancel:(resources string:msg with:newName allBold) default:false) ifFalse:[
+                    result := false.
+                    ^ self.
+                ]
+            ].
+        ].
+        oldFile renameTo:newFile.
+        self renamedFiles add:newFile.
     ].
     result := true.
 
@@ -1601,11 +1601,11 @@
 !FileOperation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.90 2012-03-20 11:01:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.91 2013-04-27 12:59:37 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.90 2012-03-20 11:01:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.91 2013-04-27 12:59:37 cg Exp $'
 !
 
 version_HG
--- a/FindFileApplication.st	Tue May 28 22:46:27 2013 +0100
+++ b/FindFileApplication.st	Fri May 31 00:35:44 2013 +0100
@@ -45,7 +45,6 @@
 "
 ! !
 
-
 !FindFileApplication class methodsFor:'instance creation'!
 
 open
@@ -81,7 +80,6 @@
     ^ builder
 ! !
 
-
 !FindFileApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -92,7 +90,6 @@
     "Modified: / 01-03-2007 / 21:47:54 / cg"
 ! !
 
-
 !FindFileApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -144,7 +141,6 @@
     "Modified: / 28-03-2012 / 23:03:39 / cg"
 ! !
 
-
 !FindFileApplication class methodsFor:'history'!
 
 addToSearchStringHistory:aString
@@ -163,7 +159,6 @@
     ^ SearchStringHistory
 ! !
 
-
 !FindFileApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -543,7 +538,6 @@
       )
 ! !
 
-
 !FindFileApplication class methodsFor:'menu specs'!
 
 menu
@@ -604,12 +598,6 @@
             itemValue: deleteSelectedFiles
           )
          (MenuItem
-            enabled: hasSelection
-            isVisible: cvsMenusAreShown
-            label: 'Delete Selected File(s) and CVS Container(s)...'
-            itemValue: deleteSelectedFilesAndCVSContainers
-          )
-         (MenuItem
             enabled: hasListEntries
             label: 'Delete all Files...'
             itemValue: deleteAllFiles
@@ -617,6 +605,22 @@
           )
          (MenuItem
             label: '-'
+            isVisible: cvsMenusAreShown
+          )
+         (MenuItem
+            enabled: hasSelection
+            label: 'Commit Selected File(s) to CVS...'
+            itemValue: commitSelectedFilesToCVS
+            isVisible: cvsMenusAreShown
+          )
+         (MenuItem
+            enabled: hasSelection
+            label: 'Delete Selected File(s) and CVS Container(s)...'
+            itemValue: deleteSelectedFilesAndCVSContainers
+            isVisible: cvsMenusAreShown
+          )
+         (MenuItem
+            label: '-'
           )
          (MenuItem
             enabled: hasSelection
@@ -698,14 +702,12 @@
       )
 ! !
 
-
 !FindFileApplication class methodsFor:'startup & release'!
 
 releaseContentsInfoCache
     ContentsInfoCache := ContentsInfoCacheAccessLock := nil.
 ! !
 
-
 !FindFileApplication class methodsFor:'tableColumns specs'!
 
 searchResultTable
@@ -734,7 +736,6 @@
     
 ! !
 
-
 !FindFileApplication methodsFor:'actions'!
 
 clearCache
@@ -794,14 +795,6 @@
     "Modified: / 29-03-2012 / 10:05:39 / cg"
 !
 
-deleteSelectedFilesAndCVSContainers
-    |sel files|
-
-    sel := self selectionHolder value.
-    files := sel collect:[:idx | (self shownList at:idx) asFilename ].
-    masterApplication removeFilesAndCVSContainers:files
-!
-
 doSearch
     |namePatterns excludedNamePatterns contentsPattern notContentsPattern dir fileToCompareAgainst ignoreCaseInName ignoreCaseInExcludedName 
      ignoreCaseInContents ignoreCaseInNotContents|
@@ -945,6 +938,23 @@
     ].
 ! !
 
+!FindFileApplication methodsFor:'actions-CVS'!
+
+commitSelectedFilesToCVS
+    |sel files|
+
+    sel := self selectionHolder value.
+    files := sel collect:[:idx | (self shownList at:idx) asFilename ].
+    masterApplication commitFilesToCVS:files
+!
+
+deleteSelectedFilesAndCVSContainers
+    |sel files|
+
+    sel := self selectionHolder value.
+    files := sel collect:[:idx | (self shownList at:idx) asFilename ].
+    masterApplication removeFilesAndCVSContainers:files
+! !
 
 !FindFileApplication methodsFor:'aspects'!
 
@@ -1180,7 +1190,6 @@
     ^ useLocate.
 ! !
 
-
 !FindFileApplication methodsFor:'private'!
 
 changeExtentToSeeSearchResult
@@ -1201,7 +1210,6 @@
     "Modified: / 08-08-2010 / 14:42:40 / cg"
 ! !
 
-
 !FindFileApplication methodsFor:'private - searching'!
 
 cachedFileSizeOf:aFilenameString
@@ -1771,7 +1779,6 @@
     "Created: / 28-03-2012 / 23:18:32 / cg"
 ! !
 
-
 !FindFileApplication methodsFor:'queries'!
 
 getTabValueString
@@ -1782,7 +1789,6 @@
     "Created: / 01-03-2007 / 21:39:54 / cg"
 ! !
 
-
 !FindFileApplication methodsFor:'startup & release'!
 
 initialize
@@ -1806,7 +1812,11 @@
     file isDirectory ifTrue:[
         newPattern := '*'.
     ] ifFalse:[
-        newPattern := '*.', anItem suffix.
+        anItem suffix isEmptyOrNil ifTrue:[
+            newPattern := '*'.
+        ] ifFalse:[
+            newPattern := '*.', anItem suffix.
+        ].
     ].
     self namePatternHolder value:newPattern.
     ^ true.
@@ -1831,15 +1841,14 @@
     ^ super release
 ! !
 
-
 !FindFileApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.107 2013-03-20 19:57:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.109 2013-05-28 10:34:29 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.107 2013-03-20 19:57:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.109 2013-05-28 10:34:29 cg Exp $'
 !
 
 version_HG
--- a/InspectorView.st	Tue May 28 22:46:27 2013 +0100
+++ b/InspectorView.st	Fri May 31 00:35:44 2013 +0100
@@ -104,7 +104,6 @@
 "
 ! !
 
-
 !InspectorView class methodsFor:'instance creation'!
 
 for:anObject
@@ -204,7 +203,6 @@
     ^ self openOn:anObject
 ! !
 
-
 !InspectorView class methodsFor:'common label support'!
 
 commonLabelFor:anObject
@@ -281,7 +279,6 @@
     "Created: / 15-07-2011 / 16:20:06 / cg"
 ! !
 
-
 !InspectorView class methodsFor:'defaults'!
 
 defaultExtent
@@ -359,7 +356,6 @@
     "Created: / 23-10-2007 / 19:10:02 / cg"
 ! !
 
-
 !InspectorView class methodsFor:'image specs'!
 
 imageFor_arrays
@@ -757,7 +753,6 @@
 M#L3NBH"H#\@@@@@@@@@@@@-JS 8JSH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 98 255 0 75 198 0 25 74 0 57 156 0 34 99 0 92 206 16 60 132 16 31 74 0 79 206 0 128 131 142 88 231 0 70 189 0 38 90 0 148 198 123 57 115 16 92 239 0 103 255 8 76 189 0 154 198 123 85 214 0 53 132 0 106 255 0 138 255 49 107 156 74 44 115 0 119 206 66 85 222 0 142 206 99 68 139 33 33 90 0 57 148 0 135 206 99]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b') ; yourself); yourself]
 ! !
 
-
 !InspectorView class methodsFor:'queries-plugin'!
 
 aspectSelectors
@@ -766,7 +761,6 @@
     "Modified: / 10.2.2000 / 12:25:28 / cg"
 ! !
 
-
 !InspectorView methodsFor:'accessing'!
 
 allowFollow:aBoolean
@@ -962,7 +956,6 @@
     ^ workspace
 ! !
 
-
 !InspectorView methodsFor:'accessing-channels'!
 
 inspectedObjectHolder
@@ -988,7 +981,6 @@
     "Created: / 10.2.2000 / 13:34:53 / cg"
 ! !
 
-
 !InspectorView methodsFor:'change & update'!
 
 holderChanged:aValueHolder
@@ -1024,7 +1016,6 @@
     "Modified: / 10.2.2000 / 13:48:18 / cg"
 ! !
 
-
 !InspectorView methodsFor:'drag & drop'!
 
 getDisplayObjects
@@ -1043,7 +1034,6 @@
     "Modified: / 18-09-2006 / 21:11:31 / cg"
 ! !
 
-
 !InspectorView methodsFor:'event handling'!
 
 doubleClickOnLine:lineNr
@@ -1101,7 +1091,6 @@
     ].
 ! !
 
-
 !InspectorView methodsFor:'initialization & release'!
 
 destroy
@@ -1261,7 +1250,6 @@
     ].
 ! !
 
-
 !InspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -1636,7 +1624,6 @@
     "Created: / 20-07-2012 / 10:47:53 / cg"
 ! !
 
-
 !InspectorView methodsFor:'menu actions'!
 
 browse
@@ -2143,7 +2130,6 @@
     "Modified: / 6.2.2000 / 13:47:37 / cg"
 ! !
 
-
 !InspectorView methodsFor:'presentation'!
 
 appendDisplayStringForElementsOf:val indent:lvl pad:padding to:aStream
@@ -2171,7 +2157,7 @@
     maxStringLength := 100000.
 
     Error handle:[:ex |
-        (ex signal == WriteError and:[s isStream]) ifTrue:[
+        (ex creator == WriteError and:[s isStream]) ifTrue:[
             "hit the write limit"
             s writeLimit:nil.
             s nextPutAll:' ...'.
@@ -2366,7 +2352,7 @@
     value class == ValueHolder ifTrue:[
         s := self plainValueStringInListEntryForValue:value value.
         s notNil ifTrue:[
-            ^ '[[' , s , ']]'
+            ^ '{' , s , '}'
         ].
         ^ nil
     ].
@@ -2492,14 +2478,15 @@
 
     |valString|
 
-    valString := self plainValueStringInListEntryForValue:value.
-    valString isNil ifTrue:[^ ''].
-    ^ ' <',valString,'>'
+    valString := (self plainValueStringInListEntryForValue:value) ? ''.
+    (inspectedObject notNil and:[value == inspectedObject]) ifTrue:[
+        ^ ' (',valString,') (==self)' 
+    ].
+    ^ ' (',valString,')'
 
     "Created: / 13-06-2012 / 12:04:31 / cg"
 ! !
 
-
 !InspectorView methodsFor:'private'!
 
 baseInspectedObjectClass
@@ -3233,7 +3220,6 @@
     "Modified: / 06-06-2012 / 11:57:54 / cg"
 ! !
 
-
 !InspectorView methodsFor:'queries'!
 
 canInspect:anObject
@@ -3298,7 +3284,6 @@
     ^ suppressPseudoSlots ? false
 ! !
 
-
 !InspectorView methodsFor:'selection'!
 
 selection:lineNr
@@ -3354,7 +3339,6 @@
     "Modified: / 28-10-2012 / 11:03:04 / cg"
 ! !
 
-
 !InspectorView methodsFor:'user interaction'!
 
 doAccept:theText
@@ -3510,7 +3494,6 @@
     "Created: / 16-11-2001 / 13:48:51 / cg"
 ! !
 
-
 !InspectorView methodsFor:'workspace protocol'!
 
 modified:aBoolean
@@ -3521,15 +3504,14 @@
     workspace saveAs:file doAppend:doAppend
 ! !
 
-
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.305 2013-04-04 07:42:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.309 2013-05-28 19:30:59 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.305 2013-04-04 07:42:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.309 2013-05-28 19:30:59 cg Exp $'
 !
 
 version_HG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.init	Fri May 31 00:35:44 2013 +0100
@@ -0,0 +1,27 @@
+#
+# DO NOT EDIT
+#
+# make uses this file (Makefile) only, if there is no
+# file named "makefile" (lower-case m) in the same directory.
+# My only task is to generate the real makefile and call make again.
+# Thereafter, I am no longer used and needed.
+#
+# MACOSX caveat:
+#   as filenames are not case sensitive (in a default setup),
+#   we cannot use tha above trick. Therefore, this file is now named
+#   "Makefile.init", and you have to execute "make -f Makefile.init" to
+#   get the initial makefile.  This is now also done by the toplevel CONFIG
+#   script.
+
+.PHONY: run
+
+run: makefile
+	$(MAKE) -f makefile
+
+#only needed for the definition of $(TOP)
+include Make.proto
+
+makefile: mf
+
+mf:
+	$(TOP)/rules/stmkmf
--- a/MemoryMonitorView.st	Tue May 28 22:46:27 2013 +0100
+++ b/MemoryMonitorView.st	Fri May 31 00:35:44 2013 +0100
@@ -106,13 +106,13 @@
 "
 ! !
 
-
 !MemoryMonitorView methodsFor:'drawing'!
 
 displayKilo:aNumber name:nm y:y
     |s|
 
-    aNumber >= (1024*1024*1024*2) ifTrue:[
+"/    s := nm , (UnitConverter fileSizeStringFor:aNumber).
+    aNumber >= (1024*1024*1024*8) ifTrue:[
         s := nm , ((aNumber // (1024*1024*1024)) printStringLeftPaddedTo:5) , 'G '.
     ] ifFalse:[
         aNumber >= (1024*1024*16) ifTrue:[
@@ -319,7 +319,7 @@
         new:    current newSpace in use
         fre:    current size of freelist in oldSpace
         old:    current oldSpace in use
-        mal:    netto allocated by malloc
+        mal:    net allocated by malloc
         mto:    brutto memory reserved by malloc
         code:   current just-in-time compiled code cache size
         t:      current tenure age
@@ -527,7 +527,6 @@
     "Modified: / 14.7.1998 / 23:35:53 / cg"
 ! !
 
-
 !MemoryMonitorView methodsFor:'events'!
 
 keyPress:key x:x y:y
@@ -593,7 +592,6 @@
     "Modified: / 7.9.1998 / 21:41:13 / cg"
 ! !
 
-
 !MemoryMonitorView methodsFor:'initialization & release'!
 
 destroy
@@ -691,7 +689,6 @@
     "Created: / 15.9.1998 / 15:22:46 / cg"
 ! !
 
-
 !MemoryMonitorView methodsFor:'menu functions'!
 
 backgroundCollect
@@ -1021,7 +1018,6 @@
     "Modified: 27.6.1997 / 14:22:47 / cg"
 ! !
 
-
 !MemoryMonitorView methodsFor:'private'!
 
 updateProcess
@@ -1033,15 +1029,14 @@
     "Modified: / 23.9.1998 / 12:40:31 / cg"
 ! !
 
-
 !MemoryMonitorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitorView.st,v 1.18 2013-02-20 09:53:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitorView.st,v 1.19 2013-04-28 13:52:26 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitorView.st,v 1.18 2013-02-20 09:53:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitorView.st,v 1.19 2013-04-28 13:52:26 cg Exp $'
 !
 
 version_HG
--- a/NewLauncher.st	Tue May 28 22:46:27 2013 +0100
+++ b/NewLauncher.st	Fri May 31 00:35:44 2013 +0100
@@ -128,7 +128,6 @@
 "
 ! !
 
-
 !NewLauncher class methodsFor:'accessing'!
 
 label
@@ -138,7 +137,6 @@
 
 ! !
 
-
 !NewLauncher class methodsFor:'defaults'!
 
 defaultInfoLineTemplate
@@ -174,7 +172,6 @@
     "Modified: / 17.8.1998 / 10:07:09 / cg"
 ! !
 
-
 !NewLauncher class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -785,7 +782,6 @@
     "Modified: / 21-09-2012 / 10:59:33 / cg"
 ! !
 
-
 !NewLauncher class methodsFor:'interface specs'!
 
 windowSpec
@@ -973,7 +969,6 @@
       )
 ! !
 
-
 !NewLauncher class methodsFor:'menu configuration'!
 
 addMenuItem:newItem from:anApplicationWhichProvidesResourcesOrNil in:where position:positionSpecOrNilArg space:space
@@ -1135,7 +1130,6 @@
     "
 ! !
 
-
 !NewLauncher class methodsFor:'menu specs'!
 
 aboutMenu
@@ -3185,7 +3179,6 @@
       )
 ! !
 
-
 !NewLauncher class methodsFor:'oldstyle-menu specs'!
 
 settingsMenu
@@ -3342,7 +3335,6 @@
       )
 ! !
 
-
 !NewLauncher methodsFor:'accessing'!
 
 errorListCanvas
@@ -3450,7 +3442,6 @@
     ^ transcript
 ! !
 
-
 !NewLauncher methodsFor:'aspects'!
 
 canDoTerminal
@@ -3622,7 +3613,6 @@
     ^ false
 ! !
 
-
 !NewLauncher methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -3699,8 +3689,8 @@
         put:(makeInfoString value:'Img' value:image).
 
     bindings
-        at:'NS' put:( defNameSpace == Smalltalk 
-                        ifTrue:[ '' ] 
+        at:'NS' put:( defNameSpace == Smalltalk
+                        ifTrue:[ '' ]
                         ifFalse:[ '"',defNameSpace name,'" '] ).
 
     bindings
@@ -3744,7 +3734,6 @@
     ^projectInfo.
 ! !
 
-
 !NewLauncher methodsFor:'help'!
 
 defaultInfoLabel
@@ -3763,7 +3752,6 @@
     ^ text
 ! !
 
-
 !NewLauncher methodsFor:'menu configuration'!
 
 addMenuItem:newItem from:anApplicationClassWhichProvidesResourcesOrNil in:where position:positionSpecOrNilArg space:space
@@ -4128,7 +4116,6 @@
 
 ! !
 
-
 !NewLauncher methodsFor:'menus-dynamic'!
 
 allWindowsMenu
@@ -4222,19 +4209,19 @@
         ].
 
         submenu addItem:(MenuItem new
-                            label: ('Close all like This%1' bindWith:info);
+                            label: ('Close All like This%1' bindWith:info);
                             itemValue: [likeThis do:[:eachView | eachView destroy]];
                             translateLabel: true;
                             enabled:(likeThis size > 1)).
 
         submenu addItem:(MenuItem new
-                            label: ('Iconify all like This%1' bindWith:info);
+                            label: ('Iconify All like This%1' bindWith:info);
                             itemValue: [likeThis do:[:eachView | eachView collapse]];
                             translateLabel: true;
                             enabled:(likeThis size > 1)).
 
         submenu addItem:(MenuItem new
-                            label: ('Deconify all like This%1' bindWith:info);
+                            label: ('Deiconify All like This%1' bindWith:info);
                             itemValue: [likeThis do:[:eachView | eachView raiseDeiconified]];
                             translateLabel: true;
                             enabled:(likeThis size > 1)).
@@ -4282,7 +4269,7 @@
 
     changeHistory isEmpty ifTrue:[
         menu addItem:(MenuItem new
-                        label:'>> no changes <<';
+                        label:'>> no uncommitted changes <<';
                         enabled:false).
     ] ifFalse:[
         menu addItemGroup:
@@ -4464,7 +4451,6 @@
     "Created: / 12-11-2006 / 16:06:06 / cg"
 ! !
 
-
 !NewLauncher methodsFor:'private-settings callBacks'!
 
 reopenLauncher
@@ -4481,7 +4467,6 @@
     ^ newLauncher
 ! !
 
-
 !NewLauncher methodsFor:'queries'!
 
 preferredExtent
@@ -4502,7 +4487,6 @@
     ^ XWorkstation notNil
 ! !
 
-
 !NewLauncher methodsFor:'startup & release'!
 
 allButOpenInterface:anInterface
@@ -4683,7 +4667,6 @@
     Project notNil ifTrue:[Project removeDependent:self]
 ! !
 
-
 !NewLauncher methodsFor:'user actions-classes'!
 
 enableGlobalCoverageAnalysis
@@ -4754,7 +4737,6 @@
     DebugView stopIgnoringHalts
 ! !
 
-
 !NewLauncher methodsFor:'user actions-demos'!
 
 openDemo:className
@@ -4819,7 +4801,6 @@
     self openApplication:'TicTacToeGame' nameSpace:Games with:#open2UserGame
 ! !
 
-
 !NewLauncher methodsFor:'user actions-file'!
 
 clearTranscript
@@ -4858,7 +4839,6 @@
     ].
 ! !
 
-
 !NewLauncher methodsFor:'user actions-help'!
 
 activeHelp
@@ -4881,7 +4861,6 @@
     "Modified: / 18.8.1998 / 16:06:27 / cg"
 ! !
 
-
 !NewLauncher methodsFor:'user actions-system'!
 
 initJavaVM
@@ -4928,14 +4907,12 @@
     "Modified: / 20-04-2005 / 18:59:28 / janfrog"
 ! !
 
-
 !NewLauncher methodsFor:'user actions-windows'!
 
 redrawAllWindows
     device redrawAllWindows.
 ! !
 
-
 !NewLauncher::AddedToolInfo methodsFor:'accessing'!
 
 before
@@ -5003,15 +4980,14 @@
     where := something.
 ! !
 
-
 !NewLauncher class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.457 2013-04-04 12:58:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.460 2013-05-07 15:28:54 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.457 2013-04-04 12:58:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.460 2013-05-07 15:28:54 cg Exp $'
 !
 
 version_HG
@@ -5020,6 +4996,6 @@
 !
 
 version_SVN
-    ^ '§Id: NewLauncher.st 7772 2011-06-08 21:59:15Z vranyj1 §'
+    ^ '$Id: NewLauncher.st,v 1.460 2013-05-07 15:28:54 cg Exp $'
 ! !
 
--- a/PerforceSourceCodeManagerUtilities.st	Tue May 28 22:46:27 2013 +0100
+++ b/PerforceSourceCodeManagerUtilities.st	Fri May 31 00:35:44 2013 +0100
@@ -2311,11 +2311,11 @@
     classFileName isNil ifTrue:[classFileName := cls classBaseFilename].
 
     (classFileName endsWith:',v') ifTrue:[
-        classFileName := classFileName copyWithoutLast:2.
+        classFileName := classFileName copyButLast:2.
     ].
     (classFileName endsWith:'.st') ifTrue:[
         cls notNil ifTrue:[
-            classFileName := classFileName copyWithoutLast:3.
+            classFileName := classFileName copyButLast:3.
         ]
     ].
     module :=  checkInDefinition package.
@@ -2407,7 +2407,7 @@
     and:[cachedFile notNil
     and:[fullTempName exists]])
     ifTrue:[
-        (OperatingSystem errorSignal catch:[
+        (OsError catch:[
             fullTempName moveTo:fullCachedName
         ]) ifTrue:[
             ('PerforceSourceCodeManager [error]: failed to rename ', fullTempName pathName, ' to ', cachedSourceFilename) errorPrintCR.
@@ -3564,11 +3564,11 @@
 !PerforceSourceCodeManagerUtilities class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagerUtilities.st,v 1.2 2012-10-30 14:33:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagerUtilities.st,v 1.4 2013-04-27 12:56:56 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagerUtilities.st,v 1.2 2012-10-30 14:33:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/PerforceSourceCodeManagerUtilities.st,v 1.4 2013-04-27 12:56:56 cg Exp $'
 !
 
 version_HG
--- a/ProcessMonitorV2.st	Tue May 28 22:46:27 2013 +0100
+++ b/ProcessMonitorV2.st	Fri May 31 00:35:44 2013 +0100
@@ -105,7 +105,6 @@
     "Created: / 14.1.2003 / 11:16:10 / penk"
 ! !
 
-
 !ProcessMonitorV2 class methodsFor:'instance creation'!
 
 openAllowNoModifications
@@ -118,7 +117,6 @@
     application allowModifications value:false.
 ! !
 
-
 !ProcessMonitorV2 class methodsFor:'defaults'!
 
 defaultLabel
@@ -132,7 +130,6 @@
     ^ 'ProcessMonitor'
 ! !
 
-
 !ProcessMonitorV2 class methodsFor:'help'!
 
 aboutThisApplicationText
@@ -243,7 +240,6 @@
     "Modified: / 05-06-2007 / 18:35:47 / cg"
 ! !
 
-
 !ProcessMonitorV2 class methodsFor:'image specs'!
 
 defaultIcon
@@ -714,7 +710,6 @@
 	ifAbsentPut:[(Depth1Image new) width: 16; height: 16; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@]+X@@@@@]+X@@@@@]+X@@@@@]+X@@@@@@@@b') ; yourself); yourself]
 ! !
 
-
 !ProcessMonitorV2 class methodsFor:'interface specs'!
 
 windowSpec
@@ -869,7 +864,6 @@
       )
 ! !
 
-
 !ProcessMonitorV2 class methodsFor:'menu specs'!
 
 applicationMenu
@@ -1126,6 +1120,7 @@
     "Do not manually edit this!! If it is corrupted,
      the MenuEditor may not be able to read the specification."
 
+
     "
      MenuEditor new openOnClass:ProcessMonitorV2 andSelector:#processMenu
      (Menu new fromLiteralArrayEncoding:(ProcessMonitorV2 processMenu)) startUp
@@ -1133,78 +1128,73 @@
 
     <resource: #menu>
 
-    ^
+    ^ 
      #(Menu
-	(
-	 (MenuItem
-	    enabled: hasSelectionWithStoppedProcessHolder
-	    label: 'Resume'
-	    itemValue: resumeProcess
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: hasSelectionHolder
-	    label: 'Suspend'
-	    itemValue: suspendProcess
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: hasSelectionHolder
-	    label: 'Stop'
-	    itemValue: stopProcess
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    enabled: hasSelectionHolder
-	    label: 'Abort'
-	    itemValue: abortProcess
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: hasSelectionHolder
-	    label: 'Terminate'
-	    itemValue: terminateProcess
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: hasSelectionHolder
-	    label: 'Hard Terminate'
-	    itemValue: hardTerminateProcess
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: hasSelectionHolder
-	    label: 'Terminate Group'
-	    itemValue: terminateProcessGroup
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: selectionRestartable
-	    label: 'Restart'
-	    itemValue: restartProcess
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    enabled: hasSelectionHolder
-	    label: 'Raise Prio'
-	    itemValue: raisePrio
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: hasSelectionHolder
-	    label: 'Lower Prio'
-	    itemValue: lowerPrio
-	    translateLabel: true
-	  )
-	 )
-	nil
-	nil
+        (
+         (MenuItem
+            enabled: hasSelectionWithStoppedProcessHolder
+            label: 'Resume'
+            itemValue: resumeProcess
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Suspend'
+            itemValue: suspendProcess
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Stop'
+            itemValue: stopProcess
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Abort'
+            itemValue: abortProcess
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Terminate'
+            itemValue: terminateProcess
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Hard Terminate'
+            itemValue: hardTerminateProcess
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Terminate Group'
+            itemValue: terminateProcessGroup
+          )
+         (MenuItem
+            enabled: selectionRestartable
+            label: 'Restart'
+            itemValue: restartProcess
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Raise Prio'
+            itemValue: raisePrio
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Lower Prio'
+            itemValue: lowerPrio
+          )
+         (MenuItem
+            enabled: hasSelectionHolder
+            label: 'Set Prio Range...'
+            itemValue: setPrioRange
+          )
+         )
+        nil
+        nil
       )
 !
 
@@ -1590,7 +1580,6 @@
       )
 ! !
 
-
 !ProcessMonitorV2 class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -1827,7 +1816,6 @@
       )
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'accessing'!
 
 visibleBlock
@@ -1838,7 +1826,6 @@
     visibleBlock := aProcessVisibleFilterBlock.
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'actions'!
 
 changeSelectionTo:aSelection
@@ -1957,7 +1944,6 @@
     "Modified: / 07-06-2007 / 12:38:29 / cg"
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'aspects'!
 
 currentSortOrder
@@ -2059,7 +2045,6 @@
     ^ updateListDelayTime.
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'aspects-column'!
 
 showApplication
@@ -2187,7 +2172,6 @@
     "Created: / 17-08-2011 / 10:46:47 / cg"
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'aspects-menu enabling'!
 
 allowModifications
@@ -2331,7 +2315,6 @@
     ^ selectionRestartable
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'change & update'!
 
 selectionChanged
@@ -2455,7 +2438,6 @@
     "Modified: / 17-08-2011 / 11:11:21 / cg"
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'event handling'!
 
 processEvent:anEvent
@@ -2481,7 +2463,6 @@
     ^ false
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'initialization & release'!
 
 commonPostOpen
@@ -2552,7 +2533,6 @@
     self startUpdateProcess.
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'menu accessing'!
 
 tableMenu
@@ -2576,7 +2556,6 @@
     "Modified: / 27-03-2007 / 08:43:43 / cg"
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'menu actions'!
 
 abortProcess
@@ -2649,6 +2628,27 @@
     self selectedProcessesSend:#resume
 !
 
+setPrioRange
+    "set a prio-range the selected processes priority"
+
+    |rangeString range|
+
+    [
+        rangeString := Dialog 
+                            request:'Priority Range (min to: max)'
+                            initialAnswer:'7 to: 8'.
+        rangeString isNil ifTrue:[
+            ^ self  "aborted"
+        ].
+        range := Interval readFrom:rangeString onError:nil.
+    ] doWhile:[range isNil].
+
+    self selectedProcessesDo:[:p |
+       p priorityRange:range
+    ].
+    self updateList.
+!
+
 startTimeslicing
     Processor isTimeSlicing ifFalse:[
         Processor startTimeSlicing.
@@ -2691,7 +2691,6 @@
     self updateList.
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'menu actions-application'!
 
 closeApplication
@@ -2734,7 +2733,6 @@
     "Created: / 07-06-2007 / 12:42:09 / cg"
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'menu actions-debug'!
 
 browseApplication
@@ -2822,7 +2820,6 @@
     self selectedProcessesSend:#inspect
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'private queries'!
 
 isApplicationProcess:aProcess
@@ -2843,7 +2840,6 @@
     ^ nil
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'queries - table string'!
 
 getActiveStringFor:aProcess running:isRunning
@@ -3202,7 +3198,6 @@
     "Created: / 17-08-2011 / 11:01:21 / cg"
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'sorting'!
 
 sortProcessListBy:instanceName
@@ -3254,7 +3249,6 @@
    self viewedColumnsChanged.
 ! !
 
-
 !ProcessMonitorV2 methodsFor:'update process'!
 
 fillItemInformationIn:processItem
@@ -3615,7 +3609,6 @@
     ].
 ! !
 
-
 !ProcessMonitorV2::ProcessItem methodsFor:'accessing'!
 
 groupVal
@@ -3836,7 +3829,6 @@
     weakArrayWithProcesses := something.
 ! !
 
-
 !ProcessMonitorV2::ProcessItem methodsFor:'printing'!
 
 printOn:aStream
@@ -3846,15 +3838,14 @@
     aStream nextPut:$].
 ! !
 
-
 !ProcessMonitorV2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.65 2013-03-23 11:38:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.67 2013-05-07 09:18:46 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.65 2013-03-23 11:38:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitorV2.st,v 1.67 2013-05-07 09:18:46 stefan Exp $'
 !
 
 version_HG
--- a/SettingsDialog.st	Tue May 28 22:46:27 2013 +0100
+++ b/SettingsDialog.st	Fri May 31 00:35:44 2013 +0100
@@ -345,20 +345,20 @@
                              (ActionButtonSpec
                                 label: 'Save'
                                 name: 'Button3'
+                                activeHelpKey: saveSettingsToFile
                                 translateLabel: true
                                 tabable: true
                                 model: saveSettingsWithoutAskingForFile
                                 extent: (Point 126 22)
-                                activeHelpKey: saveSettingsToFile
                               )
                              (ActionButtonSpec
                                 label: 'Load From...'
                                 name: 'Button2'
+                                activeHelpKey: loadSettingsFromFile
                                 translateLabel: true
                                 tabable: true
                                 model: loadSettingsFromFile
                                 extent: (Point 126 22)
-                                activeHelpKey: loadSettingsFromFile
                               )
                              )
                            
@@ -414,36 +414,37 @@
                              (ActionButtonSpec
                                 label: 'Apply'
                                 name: 'Apply'
+                                activeHelpKey: acceptChangedSettings
                                 translateLabel: true
                                 tabable: true
                                 model: doSave
                                 enableChannel: enableOK
-                                activeHelpKey: acceptChangedSettings
                                 extent: (Point 168 22)
                               )
                              (ActionButtonSpec
                                 label: 'Discard'
                                 name: 'Reload'
+                                activeHelpKey: discardChangedSettings
                                 translateLabel: true
                                 tabable: true
                                 model: doReload
                                 enableChannel: enableReload
-                                activeHelpKey: discardChangedSettings
                                 extent: (Point 169 22)
                               )
                              (ActionButtonSpec
                                 label: 'Help'
                                 name: 'Help'
+                                activeHelpKey: helpOnSettings
                                 translateLabel: true
                                 tabable: true
                                 model: help
                                 enableChannel: enableHelp
                                 extent: (Point 169 22)
-                                activeHelpKey: helpOnSettings
                               )
                              )
                            
                           )
+                          keepSpaceForOSXResizeHandleH: true
                         )
                        )
                      
@@ -1765,11 +1766,11 @@
 !SettingsDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.101 2012-11-04 21:47:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.102 2013-05-21 20:32:23 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.101 2012-11-04 21:47:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SettingsDialog.st,v 1.102 2013-05-21 20:32:23 cg Exp $'
 !
 
 version_HG
@@ -1778,7 +1779,7 @@
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ '$Id: SettingsDialog.st,v 1.102 2013-05-21 20:32:23 cg Exp $'
 ! !
 
 
--- a/SmalltalkCodeGeneratorTool.st	Tue May 28 22:46:27 2013 +0100
+++ b/SmalltalkCodeGeneratorTool.st	Fri May 31 00:35:44 2013 +0100
@@ -1432,7 +1432,7 @@
 
         methodNameBase := name asUppercaseFirst.
         (methodNameBase endsWith:'s') ifTrue:[
-            methodNameBase := methodNameBase copyWithoutLast:1.
+            methodNameBase := methodNameBase copyButLast:1.
         ].
         methodName := 'add' , methodNameBase, ':'. 
 
@@ -1508,7 +1508,7 @@
             holderMethodName := holderMethodName asLowercaseFirst. 
         ].
         (holderMethodName endsWith:'Holder') ifTrue:[
-            methodName := holderMethodName copyWithoutLast:6.
+            methodName := holderMethodName copyButLast:6.
         ] ifFalse:[
             methodName := holderMethodName.
             holderMethodName := methodName , 'Holder'.
@@ -2529,11 +2529,11 @@
 !SmalltalkCodeGeneratorTool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.19 2013-03-11 20:34:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.20 2013-04-25 13:11:09 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.19 2013-03-11 20:34:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.20 2013-04-25 13:11:09 stefan Exp $'
 !
 
 version_HG
--- a/SyntaxHighlighter2.st	Tue May 28 22:46:27 2013 +0100
+++ b/SyntaxHighlighter2.st	Fri May 31 00:35:44 2013 +0100
@@ -770,7 +770,7 @@
 !SyntaxHighlighter2 class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.12 2013-04-16 17:24:24 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.13 2013-04-19 09:38:13 cg Exp $'
 !
 
 version_HG
--- a/SystemBrowser.st	Tue May 28 22:46:27 2013 +0100
+++ b/SystemBrowser.st	Fri May 31 00:35:44 2013 +0100
@@ -1705,18 +1705,29 @@
     |lastResult|
 
     lastResult := cls lastTestRunResultOrNil.
-
-    lastResult == true ifTrue:[
-        ^ self testCasePassedIcon
-    ].
-    lastResult == false ifTrue:[
-        ^ self testCaseFailedIcon
+    lastResult notNil ifTrue:[
+        lastResult == TestResult statePass ifTrue:[
+            ^ self testCasePassedIcon
+        ].
+        lastResult == TestResult stateFail ifTrue:[
+            ^ self testCaseFailedIcon
+        ].
+        lastResult == TestResult stateError ifTrue:[
+            ^ self testCaseErrorIcon
+        ].
     ].
     ^ self testCaseUnknownResultIcon
 
     "Modified: / 06-08-2006 / 11:14:12 / cg"
 !
 
+testCaseErrorIcon
+    <resource: #programImage>
+
+    "/ only left here for backward compatibility...
+    ^ ToolbarIconLibrary testCaseErrorIcon
+!
+
 testCaseFailedIcon
     <resource: #programImage>
 
@@ -1731,6 +1742,8 @@
     ^ ToolbarIconLibrary testCasePassedIcon
 !
 
+
+
 testCaseUnknownResultIcon
     <resource: #programImage>
 
@@ -4540,17 +4553,20 @@
             quickMatch := quickMatch copyFrom:2
         ].
         (quickMatch endsWith:'*') ifTrue:[
-            quickMatch := quickMatch copyWithoutLast:1
+            quickMatch := quickMatch copyButLast:1
         ].
         (quickMatch includes:$:) ifTrue:[
             quickMatch := quickMatch copyTo:(quickMatch indexOf:$:)-1.
         ].
 
         (ignoreCase not and:[quickMatch includesMatchCharacters not]) ifTrue:[
-            searchBlock := [:class :method :s |
-                            |src inLiterals|
+            searchBlock := [:class :methodArg :s |
+                            |method src inLiterals|
 
                             inLiterals := false.
+                            (method := methodArg) isWrapped ifTrue:[
+                                method := method originalMethod.
+                            ].
                             method isLazyMethod ifTrue:[
                                 src := method source.
                                 (src notNil and:[src includesString:quickMatch]) ifTrue:[
@@ -4574,9 +4590,12 @@
                             and:[ method messagesSent contains:[:anySelector | aSelectorString match:anySelector ignoreCase:ignoreCase] ]
                        ].
         ] ifFalse:[ 
-            searchBlock := [:class :method :s |
-                            |src inLiterals|
-
+            searchBlock := [:class :methodArg :s |
+                            |method src inLiterals|
+
+                            (method := methodArg) isWrapped ifTrue:[
+                                method := method originalMethod.
+                            ].
                             "/ expensive search
                             inLiterals := false.
                             method isLazyMethod ifTrue:[
@@ -4616,9 +4635,12 @@
             (quickMatch includes:$:) ifTrue:[
                 quickMatch := quickMatch copyTo:(quickMatch indexOf:$:)-1.
             ].
-            searchBlock := [:class :method :s |
-                                |src|
-
+            searchBlock := [:class :methodArg :s |
+                                |method src|
+
+                                (method := methodArg) isWrapped ifTrue:[
+                                    method := method originalMethod.
+                                ].
                                 method isLazyMethod ifTrue:[
                                     src := method source.
                                     (src notNil and:[src includesString:quickMatch]) ifTrue:[
@@ -5683,11 +5705,7 @@
 
     prefNameSpaceOrNil := (aNameSpaceOrNil == Smalltalk) ifTrue:[ nil ] ifFalse:[aNameSpaceOrNil].
 
-    (className startsWith:'Smalltalk::') ifTrue:[
-        nm := className copyFrom:('Smalltalk::' size + 1).
-    ] ifFalse:[
-        nm := className.
-    ].
+    nm := className withoutPrefix:'Smalltalk::'.
 
     prefNameSpaceOrNil notNil ifTrue:[
         class := prefNameSpaceOrNil at:nm asSymbol.
@@ -5799,7 +5817,7 @@
 
             (clsName endsWith:' class') ifTrue:[
                 isMeta := true.
-                clsName := clsName copyWithoutLast:6 "copyTo:(clsName size - 5)"
+                clsName := clsName copyButLast:6 "copyTo:(clsName size - 5)"
             ] ifFalse:[
                 isMeta := false
             ].
@@ -5844,7 +5862,7 @@
         (sel startsWith:'#') ifTrue:[
             sel2 := sel copyFrom:2.
             ((sel2 startsWith:'''') and:[(sel2 endsWith:'''')]) ifTrue:[
-                sel2 := (sel2 copyFrom:2) copyWithoutLast:1
+                sel2 := (sel2 copyFrom:2) copyButLast:1
             ].
             sel2 asSymbolIfInterned notNil ifTrue:[
                 ^ sel2
@@ -5995,7 +6013,7 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.311 2013-03-30 00:09:35 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.317 2013-05-28 21:58:09 cg Exp $'
 !
 
 version_HG
@@ -6004,7 +6022,7 @@
 !
 
 version_SVN
-    ^ '§Id: SystemBrowser.st 7772 2011-06-08 21:59:15Z vranyj1 §'
+    ^ '$Id: SystemBrowser.st,v 1.317 2013-05-28 21:58:09 cg Exp $'
 ! !
 
 
--- a/Tools_ClassCategoryList.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools_ClassCategoryList.st	Fri May 31 00:35:44 2013 +0100
@@ -520,7 +520,7 @@
     cat = self class nameListEntryForALL ifTrue:[^ nil].
 
     (cat endsWith:(self stringForExtensions)) ifTrue:[
-        cat := cat copyWithoutLast:(self stringForExtensions size)
+        cat := cat copyButLast:(self stringForExtensions size)
     ].
     ^ cat
 !
@@ -1003,10 +1003,10 @@
 !ClassCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.45 2013-04-02 09:33:11 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.46 2013-04-25 13:12:26 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.45 2013-04-02 09:33:11 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.46 2013-04-25 13:12:26 stefan Exp $'
 ! !
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_HierarchicalClassCategoryList.st	Fri May 31 00:35:44 2013 +0100
@@ -0,0 +1,411 @@
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              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
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libtool' }"
+
+"{ NameSpace: Tools }"
+
+ClassCategoryList subclass:#HierarchicalClassCategoryList
+	instanceVariableNames:'hierarchicalCategoryTree hierarchicalCategoryList
+		hierarchicalCategorySelection categoryToItemDictionary'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+HierarchicalItemWithLabel subclass:#ClassCategoryItem
+	instanceVariableNames:'category'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:HierarchicalClassCategoryList
+!
+
+!HierarchicalClassCategoryList class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              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
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    embeddable application displaying the classes as listed by
+    the inputGenerator.
+    Provides an outputGenerator, which enumerates the classes and
+    their protocols (method-categories) in the selected classes.
+
+    [author:]
+	Claus Gittinger (cg@exept.de)
+"
+
+
+! !
+
+!HierarchicalClassCategoryList class methodsFor:'interface specs'!
+
+windowSpec
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this!! If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "
+     UIPainter new openOnClass:HierarchicalClassCategoryList andSelector:#windowSpec
+     HierarchicalClassCategoryList new openInterface:#windowSpec
+     HierarchicalClassCategoryList open
+    "
+
+    <resource: #canvas>
+
+    ^ 
+     #(#FullSpec
+        #name: #windowSpec
+        #window: 
+       #(#WindowSpec
+          #label: 'ClassCategoryList'
+          #name: 'ClassCategoryList'
+          #min: #(#Point 0 0)
+          #bounds: #(#Rectangle 16 46 316 346)
+        )
+        #component: 
+       #(#SpecCollection
+          #collection: #(
+           #(#HierarchicalListViewSpec
+              #name: 'List'
+              #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              #tabable: true
+              #model: #hierarchicalCategorySelection
+              #menu: #menuHolder
+              #hasHorizontalScrollBar: true
+              #hasVerticalScrollBar: true
+              #miniScrollerHorizontal: true
+              #listModel: #hierarchicalCategoryList
+              #multipleSelectOk: true
+              #highlightMode: #line
+              #doubleClickSelector: #doubleClicked:
+              #showLines: false
+              #indicatorSelector: #indicatorPressed:
+              #useDefaultIcons: false
+              #properties: 
+             #(#PropertyListDictionary
+                #dragArgument: nil
+                #dropArgument: nil
+                #canDropSelector: #canDrop:
+                #dropSelector: #doDrop:
+              )
+            )
+           )
+         
+        )
+      )
+! !
+
+!HierarchicalClassCategoryList class methodsFor:'plugIn spec'!
+
+aspectSelectors
+    "This resource specification was automatically generated
+     by the UIPainter of ST/X."
+
+    "Do not manually edit this. If it is corrupted,
+     the UIPainter may not be able to read the specification."
+
+    "Return a description of exported aspects;
+     these can be connected to aspects of an embedding application
+     (if this app is embedded in a subCanvas)."
+
+    ^ #(
+        #(#doubleClickChannel #action )
+        #forceGeneratorTrigger
+        #hideUnloadedClasses
+        #immediateUpdate
+        #inGeneratorHolder
+        #menuHolder
+        #nameSpaceFilter
+        #organizerMode
+        #outGeneratorHolder
+        #packageFilter
+        #selectedCategories
+        #selectionChangeCondition
+        #slaveMode
+        #updateTrigger
+        #showCoverageInformation
+      ).
+
+    "Modified: / 20-07-2011 / 14:29:15 / cg"
+! !
+
+!HierarchicalClassCategoryList methodsFor:'aspects'!
+
+addCategory:category
+    |item path parentPath parentCategory parentItem|
+
+    item:= categoryToItemDictionary at:category ifAbsent:nil.
+    item isNil ifTrue:[
+        path := category asCollectionOfSubstringsSeparatedBy:$-.
+
+        item := ClassCategoryItem new.
+        item category:category.
+        item label:(path last).
+        categoryToItemDictionary at:category put:item.
+
+        category size > 0 ifTrue:[
+            "/ find the parent ...
+            parentPath := path copyButLast:1.
+            parentCategory := parentPath asStringWith:$-.
+
+            parentItem := self addCategory:parentCategory .
+
+            parentItem add:item sortBlock:[:i1 :i2 | i1 category asLowercase < i2 category asLowercase].
+        ]
+    ].
+    ^ item
+!
+
+generateHierarchicalCategoryTree
+    |anchor|
+
+    self categoryList value isNil ifTrue:[
+	self updateList.
+	self categoryList value isNil ifTrue:[
+	    ^ nil.
+	]
+    ].
+
+    anchor := ClassCategoryItem new.
+    anchor category:nil.
+    anchor label:nil.
+
+    categoryToItemDictionary := Dictionary new.
+    categoryToItemDictionary at:'' asSymbol put:anchor.
+
+    self categoryList value do:[:eachCategory |
+	(categoryToItemDictionary includesKey:eachCategory) ifFalse:[
+	    self addCategory:eachCategory 
+	].
+    ].
+
+    anchor recursiveSortChildren:[:i1 :i2 | i1 category asLowercase < i2 category asLowercase].
+    anchor expand.
+
+    ^ anchor
+!
+
+hierarchicalCategoryList
+    |anchor |
+
+    hierarchicalCategoryList isNil ifTrue:[
+	hierarchicalCategoryList := HierarchicalList new.
+	hierarchicalCategoryList showRoot:false.
+
+	(self slaveMode value ~~ true) ifTrue:[
+	    anchor := self generateHierarchicalCategoryTree.
+	    hierarchicalCategoryList root:anchor.
+	    listValid := true
+	] ifFalse:[
+	    listValid := false
+	]
+    ].
+    ^ hierarchicalCategoryList
+!
+
+hierarchicalCategorySelection
+    hierarchicalCategorySelection isNil ifTrue:[
+	hierarchicalCategorySelection := #() asValue.
+	hierarchicalCategorySelection addDependent:self.
+    ].
+    ^ hierarchicalCategorySelection.
+! !
+
+!HierarchicalClassCategoryList methodsFor:'change & update'!
+
+delayedUpdate:something with:aParameter from:changedObject
+    |cls sel oldMethod newMethod newPackage|
+
+    self inSlaveModeOrInvisible ifTrue:[
+	super delayedUpdate:something with:aParameter from:changedObject.
+	^ self.
+    ].
+
+    changedObject == updateTrigger ifTrue:[
+	hierarchicalCategoryTree := nil.
+	self hierarchicalCategoryList.
+	self updateTreeSelectionFromList.
+	^ self        
+    ].
+
+    changedObject == slaveMode ifTrue:[
+	listValid ~~ true ifTrue:[
+	    self enqueueDelayedUpdateList
+	].
+	"/ self invalidateList.
+	^  self
+    ].
+
+    changedObject == hierarchicalCategorySelection ifTrue:[
+	self updateSelectionFromTree.
+	^ self        
+    ].
+    changedObject == self selectedCategories ifTrue:[
+	"/ update the trees selection as appropriate
+"/        self updateTreeSelection.
+	self updateTreeSelectionFromList.
+    ].
+    changedObject == categoryList ifTrue:[
+	"/ update the tree
+	self hierarchicalCategoryList root:(self generateHierarchicalCategoryTree).
+	^ self.
+    ].
+
+    super delayedUpdate:something with:aParameter from:changedObject
+
+    "Created: / 17.2.2000 / 23:41:02 / cg"
+    "Modified: / 26.2.2000 / 01:21:49 / cg"
+!
+
+updateSelectionFromTree
+    |treeSelection|
+
+    treeSelection := hierarchicalCategorySelection value 
+		    collect:[:eachIndex |  |item|
+				    item := hierarchicalCategoryList at:eachIndex ifAbsent:nil.
+				    item category
+			    ].
+
+    treeSelection asSet ~= (self selectedCategories value ? #()) asSet ifTrue:[
+	self selectedCategories value:treeSelection.
+    ]
+!
+
+updateTreeSelectionFromList
+    |listSelection selectedTreeItems treeSelection|
+
+    listSelection := self selectedCategories value.
+    selectedTreeItems := listSelection collect:[:itemString | self treeItemForString:itemString string].
+    treeSelection := selectedTreeItems collect:[:eachItem | hierarchicalCategoryList identityIndexOf:eachItem].
+    treeSelection := treeSelection asOrderedCollection.
+"/hierarchicalCategorySelection value 
+"/                    collect:[:eachIndex |  |item|
+"/                                    item := hierarchicalCategoryList at:eachIndex ifAbsent:nil.
+"/                                    item category
+"/                            ].
+"/
+"/    treeSelection asSet ~= (self selectedCategories value ? #()) asSet ifTrue:[
+"/        self selectedCategories value:treeSelection.
+"/    ]
+    self hierarchicalCategorySelection value:treeSelection
+! !
+
+!HierarchicalClassCategoryList methodsFor:'private'!
+
+makeItemVisible:itemString
+    |treeItem idx listView|
+
+    treeItem := self treeItemForString:itemString.
+    idx := hierarchicalCategoryList identityIndexOf:treeItem.
+    idx ~~ 0 ifTrue:[
+	(listView := self listView) notNil ifTrue:[
+	    listView makeLineVisible:idx.
+	]
+    ]
+!
+
+release
+    super release.
+
+    hierarchicalCategorySelection removeDependent:self.
+!
+
+treeItemForString:itemString
+    |itemPath treeItem|
+
+    itemPath := itemString string asCollectionOfSubstringsSeparatedBy:$-.
+    treeItem := hierarchicalCategoryList root.
+    [itemPath notEmpty] whileTrue:[
+	treeItem expand.
+	treeItem := treeItem detect:[:childItem | childItem label string = itemPath first] ifNone:nil.
+	itemPath := itemPath copyFrom:2.
+    ].
+    ^ treeItem
+! !
+
+!HierarchicalClassCategoryList methodsFor:'user actions'!
+
+doubleClicked:anIndex
+    |item|
+
+    item := hierarchicalCategoryList at:anIndex ifAbsent:nil.
+    item isNil ifTrue:[
+	^ self
+    ].        
+
+    (item canExpand not or:[item isExpanded]) ifTrue:[
+	doubleClickChannel notNil ifTrue:[
+	    doubleClickChannel value:anIndex.
+	] ifFalse:[
+	    item collapse.
+	].
+	^ self
+    ].
+
+    item expand.
+!
+
+indicatorPressed:anIndex
+    |item sensor|
+
+    item := hierarchicalCategoryList at:anIndex ifAbsent:nil.
+
+    item isNil ifTrue:[
+	^ self
+    ].
+
+    sensor := self window sensor.
+    (sensor ctrlDown or:[sensor shiftDown]) ifTrue:[
+	item recursiveToggleExpand
+    ] ifFalse:[
+	item toggleExpand
+    ].
+! !
+
+!HierarchicalClassCategoryList::ClassCategoryItem methodsFor:'accessing'!
+
+category
+    ^ category
+!
+
+category:something
+    category := something.
+!
+
+icon
+    ^ nil "/ SystemBrowser packageIcon
+! !
+
+!HierarchicalClassCategoryList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalClassCategoryList.st,v 1.10 2013-04-25 13:10:14 stefan Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalClassCategoryList.st,v 1.10 2013-04-25 13:10:14 stefan Exp $'
+! !
+
--- a/Tools_HierarchicalProjectList.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools_HierarchicalProjectList.st	Fri May 31 00:35:44 2013 +0100
@@ -415,31 +415,31 @@
 
     i:= packageToItemDictionary at:package asSymbol ifAbsent:nil.
     i isNil ifTrue:[
-	i := ProjectItem new.
-	i package:package.
-	packageToItemDictionary at:package asSymbol put:i.
+        i := ProjectItem new.
+        i package:package.
+        packageToItemDictionary at:package asSymbol put:i.
 
-	package size > 0 ifTrue:[
-	    "/ find the parent ...
-	    p := package asCollectionOfSubstringsSeparatedByAny:':/.'.
-	    pp := p copyWithoutLast:1.
-	    l := (pp asStringWith:$/) size.
-	    parentPackage := package copyTo:l.
+        package size > 0 ifTrue:[
+            "/ find the parent ...
+            p := package asCollectionOfSubstringsSeparatedByAny:':/.'.
+            pp := p copyButLast:1.
+            l := (pp asStringWith:$/) size.
+            parentPackage := package copyTo:l.
 
-	    parentItem := self addPackage:parentPackage asSymbol .
+            parentItem := self addPackage:parentPackage asSymbol .
 
-	    parentPackage size == 0 ifTrue:[
-		idx := 1.
-	    ] ifFalse:[
-		idx := parentPackage size + 2
-	    ].
-	    i label:(package copyFrom:idx).
+            parentPackage size == 0 ifTrue:[
+                idx := 1.
+            ] ifFalse:[
+                idx := parentPackage size + 2
+            ].
+            i label:(package copyFrom:idx).
 
-	    parentItem add:i sortBlock:[:i1 :i2 | i1 label asLowercase < i2 label asLowercase].
+            parentItem add:i sortBlock:[:i1 :i2 | i1 label asLowercase < i2 label asLowercase].
 
-	    "/ TODO: special items for classes, resources etc.
+            "/ TODO: special items for classes, resources etc.
         
-	]
+        ]
     ].
     ^ i
 !
@@ -518,10 +518,10 @@
 !HierarchicalProjectList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalProjectList.st,v 1.11 2013-03-27 19:29:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalProjectList.st,v 1.12 2013-04-25 13:10:59 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalProjectList.st,v 1.11 2013-03-27 19:29:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalProjectList.st,v 1.12 2013-04-25 13:10:59 stefan Exp $'
 ! !
 
--- a/Tools_MethodList.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools_MethodList.st	Fri May 31 00:35:44 2013 +0100
@@ -1583,7 +1583,7 @@
     "/
     (aMethod notNil and:[aMethod isWrapped]) ifTrue:[
         (s endsWith:' !!') ifTrue:[
-            s := s copyWithoutLast:2
+            s := s copyButLast:2
         ].
         aMethod isBreakpointed ifTrue:[
             icn := self stopIcon
@@ -1649,13 +1649,16 @@
 
                     state := lastResultOrNil result.
                     (state == TestResult statePass) ifTrue:[
-                        icn := SystemBrowser testCasePassedIcon
+                        icn := ToolbarIconLibrary testCasePassedIcon
                     ] ifFalse:[
-                        ((state == TestResult stateError)
-                        or:[ (state == TestResult stateFail) ]) ifTrue:[
-                            icn := SystemBrowser testCaseFailedIcon
+                        (state == TestResult stateError) ifTrue:[
+                            icn := ToolbarIconLibrary testCaseErrorIcon
                         ] ifFalse:[
-                            icn := SystemBrowser testCaseSkippedIcon
+                            (state == TestResult stateFail) ifTrue:[
+                                icn := ToolbarIconLibrary testCaseFailedIcon
+                            ] ifFalse:[
+                                icn := ToolbarIconLibrary testCaseSkippedIcon
+                            ] 
                         ] 
                     ]
                 ].
@@ -1813,10 +1816,10 @@
 !MethodList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.85 2013-04-16 18:09:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.87 2013-04-28 13:50:58 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.85 2013-04-16 18:09:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.87 2013-04-28 13:50:58 cg Exp $'
 ! !
 
--- a/Tools_OrganizerCanvas.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools_OrganizerCanvas.st	Fri May 31 00:35:44 2013 +0100
@@ -4852,7 +4852,7 @@
         ^ self.
     ].
     orgMode == OrganizerCanvas organizerModeHierarchy ifTrue:[
-        classHierarchyTopClassHolder value:nil.
+        classHierarchyTopClassHolder notNil ifTrue:[ classHierarchyTopClassHolder value:nil].
         ^ self.
     ].
     orgMode == OrganizerCanvas organizerModePackageDiagram ifTrue:[
@@ -5044,10 +5044,10 @@
 !OrganizerCanvas class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.53 2013-04-02 09:34:11 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.54 2013-04-26 09:48:32 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.53 2013-04-02 09:34:11 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.54 2013-04-26 09:48:32 cg Exp $'
 ! !
 
--- a/Tools_SearchDialog.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools_SearchDialog.st	Fri May 31 00:35:44 2013 +0100
@@ -279,7 +279,7 @@
                     (sel startsWith:'#''') ifTrue:[
                         sel := sel copyFrom:3.
                         (sel endsWith:$') ifTrue:[
-                            sel := sel copyWithoutLast:1.
+                            sel := sel copyButLast:1.
                         ].
                     ].
                 ]
@@ -1395,7 +1395,7 @@
 !SearchDialog class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.75 2013-04-02 09:34:13 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.76 2013-04-25 13:11:05 stefan Exp $'
 ! !
 
 
--- a/Tools__AbstractTestRunner.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__AbstractTestRunner.st	Fri May 31 00:35:44 2013 +0100
@@ -133,16 +133,17 @@
 !AbstractTestRunner methodsFor:'utilities'!
 
 suiteNameFromClasses: classes
+    |numClasses|
 
-    classes size = 1 ifTrue:
+    (numClasses := classes size) == 1 ifTrue:
         [^classes anyOne nameWithoutPrefix].
-    classes size = 2 ifTrue:
+    numClasses == 2 ifTrue:
         [^String streamContents:
             [:s|classes 
                 do:[:cls|s nextPutAll: cls nameWithoutPrefix]
                 separatedBy:[s nextPutAll:' & ']]].
 
-    ^classes size printString , ' test cases'.
+    ^numClasses printString , ' test cases'.
 
     "Created: / 15-03-2010 / 13:23:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -150,7 +151,8 @@
 suiteNameFromMethods: methods
     |numMethods|
 
-    (numMethods := methods size == 1) ifTrue:[^ methods anyOne selector].
+    (numMethods := methods size) == 1 ifTrue:[^ methods anyOne selector].
+
     ^numMethods printString , ' tests from ' ,
         (self suiteNameFromClasses: 
             (methods 
@@ -161,18 +163,19 @@
 !
 
 suiteNameFromProtocols: protocols
+    |numProtocols|
 
-    protocols size == 0 ifTrue:[
+    (numProtocols := protocols size) == 0 ifTrue:[
         ^'tests'
     ].
-    protocols size == 1 ifTrue:[
+    numProtocols == 1 ifTrue:[
         protocols anyOne notNil ifTrue:[
-            ^'tests categorized "', protocols anyOne , '"'
+            ^'category "', protocols anyOne , '"'
         ] ifFalse:[
             ^'tests'
         ]
     ].    
-    ^'tests in ', protocols size printString , ' categories'
+    ^numProtocols printString , ' categories'
 
     "Created: / 15-03-2010 / 13:22:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 18-10-2011 / 22:59:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -181,11 +184,11 @@
 !AbstractTestRunner class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.11 2012-10-17 18:12:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.12 2013-05-21 20:21:26 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.11 2012-10-17 18:12:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__AbstractTestRunner.st,v 1.12 2013-05-21 20:21:26 cg Exp $'
 !
 
 version_HG
@@ -194,7 +197,7 @@
 !
 
 version_SVN
-    ^ '§Id: Tools__AbstractTestRunner.st 7681 2011-03-04 11:30:02Z vranyj1 §'
+    ^ '$Id: Tools__AbstractTestRunner.st,v 1.12 2013-05-21 20:21:26 cg Exp $'
 ! !
 
 
--- a/Tools__ChangeSetBrowser2.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__ChangeSetBrowser2.st	Fri May 31 00:35:44 2013 +0100
@@ -2607,8 +2607,9 @@
 !
 
 doApplySelectedChanges
-    self selectedChanges.
-self halt.
+    self selectedChanges do:[:chgListEntry |
+        self changeMenuApplyChange: chgListEntry change.
+    ].
 !
 
 doApplyToEnd
@@ -3930,11 +3931,11 @@
 !ChangeSetBrowser2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.51 2013-04-15 06:54:37 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.52 2013-05-15 17:03:46 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.51 2013-04-15 06:54:37 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.52 2013-05-15 17:03:46 cg Exp $'
 !
 
 version_HG
@@ -3943,6 +3944,6 @@
 !
 
 version_SVN
-    ^ '§Id: Tools__ChangeSetBrowser.st 7486 2009-10-26 22:06:24Z vranyj1 §'
+    ^ '$Id: Tools__ChangeSetBrowser2.st,v 1.52 2013-05-15 17:03:46 cg Exp $'
 ! !
 
--- a/Tools__CodeView2.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__CodeView2.st	Fri May 31 00:35:44 2013 +0100
@@ -1917,7 +1917,7 @@
     changedSource := changedSource collect:[:line | line string withoutTrailingSeparators withTabsExpanded].
     changedSource := changedSource collect:[:line | line isEmpty ifTrue:[nil] ifFalse:[line]].
     [changedSource size > 0 and:[changedSource last isNil]] whileTrue:[
-        changedSource := changedSource copyWithoutLast:1
+        changedSource := changedSource copyButLast:1
     ].
     changedSource := changedSource asString.
 
@@ -1927,7 +1927,7 @@
         originalSource := originalSource collect:[:line | line string withoutTrailingSeparators withTabsExpanded].
         originalSource := originalSource collect:[:line | line isEmpty ifTrue:[nil] ifFalse:[line]].
         [originalSource size > 0 and:[originalSource last isNil]] whileTrue:[
-            originalSource := originalSource copyWithoutLast:1
+            originalSource := originalSource copyButLast:1
         ].
 
         s1 := originalSource asString.
@@ -2924,10 +2924,10 @@
     |soCol wasOn lineNrAboveCursor ln prevTab|
 
     wasOn := self hideCursor.
-    "JV@2012-01-06: Do not play with autoindent iff cursor is at the very beggining of the line"
+    "JV@2012-01-06: Do not play with autoindent iff cursor is at the very beginning of the line"
     (autoIndent and:[cursorCol ~~ 1]) ifTrue:[
         prevTab := (self prevTabBefore:cursorCol) max:1.
-        "JV@2011-12-10: The list can be shorter that cursorLine,
+        "JV@2011-12-10: The list can be shorter than cursorLine,
          trailing because empty lines are not physically in the list."
         (list size >= cursorLine) ifTrue:[
             ln := (list at:cursorLine) ? ''.
@@ -2945,10 +2945,12 @@
                     ^  self
                 ].
             ] ifFalse:[
-                self deleteFromLine:cursorLine col:prevTab toLine:cursorLine col:cursorCol-1.
-                self cursorLine:cursorLine col:prevTab.
-                wasOn ifTrue:[ self showCursor ].
-                ^  self.
+                (ln copyFrom:prevTab+1 to:cursorCol-1) isBlank ifTrue:[
+                    self deleteFromLine:cursorLine col:prevTab toLine:cursorLine col:cursorCol-1.
+                    self cursorLine:cursorLine col:prevTab.
+                    wasOn ifTrue:[ self showCursor ].
+                    ^  self.
+                ]
             ]
         ].
     ].
@@ -3525,11 +3527,11 @@
 !CodeView2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.69 2013-01-30 17:54:06 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.72 2013-05-28 18:52:32 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.69 2013-01-30 17:54:06 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.72 2013-05-28 18:52:32 cg Exp $'
 !
 
 version_HG
@@ -3538,7 +3540,7 @@
 !
 
 version_SVN
-    ^ '§Id: Tools__CodeView2.st 7797 2011-06-28 07:45:06Z vranyj1 §'
+    ^ '$Id: Tools__CodeView2.st,v 1.72 2013-05-28 18:52:32 cg Exp $'
 ! !
 
 
--- a/Tools__HierarchicalPackageFilterList.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__HierarchicalPackageFilterList.st	Fri May 31 00:35:44 2013 +0100
@@ -260,7 +260,7 @@
         package size > 0 ifTrue:[
             "/ find the parent ...
             p := package asCollectionOfSubstringsSeparatedByAny:':/.'.
-            pp := p copyWithoutLast:1.
+            pp := p copyButLast:1.
             l := (pp asStringWith:$/) size.
             parentPackage := package copyTo:l.
 
@@ -300,7 +300,7 @@
 !HierarchicalPackageFilterList::PackageItem class methodsFor:'documentation'!
 
 version
-    ^'$Id: Tools__HierarchicalPackageFilterList.st 7911 2012-02-22 09:55:48Z vranyj1 $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__HierarchicalPackageFilterList.st,v 1.3 2013-04-25 13:11:37 stefan Exp $'
 ! !
 
 !HierarchicalPackageFilterList::PackageItem class methodsFor:'image specs'!
@@ -460,7 +460,7 @@
 !HierarchicalPackageFilterList class methodsFor:'documentation'!
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__HierarchicalPackageFilterList.st,v 1.2 2011/07/03 17:46:47 cg Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__HierarchicalPackageFilterList.st,v 1.3 2013-04-25 13:11:37 stefan Exp $'
 !
 
 version_HG
--- a/Tools__InlineMessageDialog.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__InlineMessageDialog.st	Fri May 31 00:35:44 2013 +0100
@@ -318,7 +318,7 @@
 !InlineMessageDialog class methodsFor:'others'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.11 2013-03-31 20:32:27 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.12 2013-04-19 09:37:06 cg Exp $'
 !
 
 version_HG
@@ -384,7 +384,7 @@
     worker isNil ifTrue:[ self hide. ^ self ].
     worker interruptWith:[
         NoHandlerError handle:[:ex |
-            ex parameter signal == AbortOperationRequest ifTrue:[
+            ex exception creator == AbortOperationRequest ifTrue:[
                 ex return.
             ].
             ex reject.
@@ -939,10 +939,10 @@
 !InlineMessageDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.11 2013-03-31 20:32:27 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.12 2013-04-19 09:37:06 cg Exp $'
 !
 
 version_SVN
-    ^ '§Id: Tools__InlineMessageDialog.st 7976 2012-04-11 16:14:22Z vranyj1 §'
+    ^ 'Id: Tools__InlineMessageDialog.st 7976 2012-04-11 16:14:22Z vranyj1 '
 ! !
 
--- a/Tools__Inspector2.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__Inspector2.st	Fri May 31 00:35:44 2013 +0100
@@ -878,6 +878,26 @@
     "Modified: / 27-02-2008 / 12:05:56 / janfrog"
 ! !
 
+!Inspector2 methodsFor:'configuration'!
+
+hideHashes:aBoolean
+    "compatibiliy with InspectorView - must be implemented"
+
+    #todo
+!
+
+hideMessages:aBoolean
+    "compatibiliy with InspectorView - must be implemented"
+
+    #todo
+!
+
+suppressPseudoSlots:aBoolean
+    "compatibiliy with InspectorView - must be implemented"
+
+    #todo
+! !
+
 !Inspector2 methodsFor:'menu'!
 
 backButtonMenuChannel
@@ -1053,7 +1073,7 @@
 !Inspector2::NavigationState class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.34 2013-03-24 11:42:12 cg Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.36 2013-05-01 15:10:01 stefan Exp $'
 !
 
 version_SVN
@@ -1273,11 +1293,11 @@
 !Inspector2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.34 2013-03-24 11:42:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.36 2013-05-01 15:10:01 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.34 2013-03-24 11:42:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.36 2013-05-01 15:10:01 stefan Exp $'
 !
 
 version_CVS_jvrany
--- a/Tools__Tag.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__Tag.st	Fri May 31 00:35:44 2013 +0100
@@ -409,15 +409,15 @@
     ].
 
     (pat := self pattern) isNil ifTrue:[
-	lineNumber := 1.
+        lineNumber := 1.
       ^ lineNumber
     ].
 
     (pat endsWith:';"') ifTrue:[
-	lnr := Integer readFrom:pat onError:nil.
-	lnr notNil ifTrue:[
-	    ^ lnr
-	]
+        lnr := Integer readFrom:pat onError:nil.
+        lnr notNil ifTrue:[
+            ^ lnr
+        ]
     ].
     lnr := 0.
 
@@ -425,32 +425,32 @@
 "/            pat := pat copyWithoutLast:3.
 "/        ].
     (pat startsWith:$^) ifTrue:[
-	pat := pat copyFrom:2.
-	atStart := true.
+        pat := pat copyFrom:2.
+        atStart := true.
     ].
     (pat endsWith:$$) ifTrue:[
-	pat := pat copyWithoutLast:1.
-	atEnd := true.
+        pat := pat copyButLast:1.
+        atEnd := true.
     ].
     atStart == true ifTrue:[
-	atEnd == true ifTrue:[
-	    lnr := someText findFirst:[:l| l = pat].
-	] ifFalse:[
-	    lnr := someText findFirst:[:l| l startsWith:pat].
-	]
+        atEnd == true ifTrue:[
+            lnr := someText findFirst:[:l| l = pat].
+        ] ifFalse:[
+            lnr := someText findFirst:[:l| l startsWith:pat].
+        ]
     ] ifFalse:[
-	atEnd == true ifTrue:[
-	    lnr := someText findFirst:[:l| l endsWith:pat].
-	] ifFalse:[
-	    lnr := someText findFirst:[:l| l includesString:pat].
-	].
+        atEnd == true ifTrue:[
+            lnr := someText findFirst:[:l| l endsWith:pat].
+        ] ifFalse:[
+            lnr := someText findFirst:[:l| l includesString:pat].
+        ].
     ].
 
     lnr == 0 ifTrue:[
-	lnr := someText findFirst:[:l| l includesString:self label].
-	lnr == 0 ifTrue:[
-	    lnr := 1.
-	].
+        lnr := someText findFirst:[:l| l includesString:self label].
+        lnr == 0 ifTrue:[
+            lnr := 1.
+        ].
     ].
     ^ lnr
 ! !
@@ -1369,7 +1369,7 @@
 !Tag class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Tag.st,v 1.6 2012-09-12 20:42:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Tag.st,v 1.7 2013-04-25 13:10:58 stefan Exp $'
 !
 
 version_HG
--- a/Tools__TagList.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__TagList.st	Fri May 31 00:35:44 2013 +0100
@@ -2477,7 +2477,7 @@
                                         and:[ (w size > 1) 
                                         and:[ ((w copyFrom:2 to:(w size-1)) conform:[:c | c isDigit])
                                      ]]]) ifFalse:[
-                                        nm := w copyWithoutLast:1.
+                                        nm := w copyButLast:1.
                                         targets add:(Tag::TLabel 
                                                         label:nm 
                                                         pattern:nil
@@ -2918,7 +2918,7 @@
         ].
     ].
     (nm endsWith:')') ifTrue:[
-        nm := nm copyWithoutLast:1
+        nm := nm copyButLast:1
     ].
 
     def = 'defun' ifTrue:[
@@ -3532,7 +3532,7 @@
             words size >= 1 ifTrue:[
                 w := words first.
                 (w endsWith:$:) ifTrue:[
-                    nm := w copyWithoutLast:1.
+                    nm := w copyButLast:1.
 
                     lineNr := s lineNumber - 1.
                     targets add:(Tag::TLabel
@@ -3570,7 +3570,7 @@
             l := line withoutSeparators.
 
             (l startsWith:'proc ') ifTrue:[
-                nm := l copyFrom:6.
+                nm := l withoutPrefix:'proc '.
                 targets add:(Tag::TFunction 
                                 label:nm 
                                 pattern:nil
@@ -3579,7 +3579,7 @@
             ] ifFalse:[ (l startsWith:'tixWidgetClass ') ifTrue:[
                 nm := l copyFrom:'tixWidgetClass ' size + 1.
                 (nm endsWith:'{') ifTrue:[
-                    nm := (nm copyWithoutLast:1) withoutSeparators.
+                    nm := (nm copyButLast:1) withoutSeparators.
                 ].
                 targets add:(Tag::TClass 
                                 label:nm 
@@ -3602,11 +3602,6 @@
         s close
     ].
     ^ targets
-
-
-
-
-
 !
 
 yaccTagsInFile:aFilePath
@@ -3664,11 +3659,11 @@
 !TagList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.25 2013-01-29 11:10:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.27 2013-05-07 15:28:52 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.25 2013-01-29 11:10:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.27 2013-05-07 15:28:52 cg Exp $'
 !
 
 version_HG
@@ -3677,6 +3672,6 @@
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ '$Id: Tools__TagList.st,v 1.27 2013-05-07 15:28:52 cg Exp $'
 ! !
 
--- a/Tools__TagsBrowser.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__TagsBrowser.st	Fri May 31 00:35:44 2013 +0100
@@ -2486,6 +2486,9 @@
     "
     |tagFile|
 
+    "/ ugly hack
+    (list isKindOf:Tools::TagList) ifFalse:[^ self].
+
     Tag autoload.
 
     self stopGeneratingTags.
@@ -2600,11 +2603,11 @@
 !TagsBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.32 2013-03-06 09:02:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.33 2013-05-06 14:26:26 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.32 2013-03-06 09:02:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.33 2013-05-06 14:26:26 cg Exp $'
 !
 
 version_HG
--- a/Tools__TestRunnerEmbedded.st	Tue May 28 22:46:27 2013 +0100
+++ b/Tools__TestRunnerEmbedded.st	Fri May 31 00:35:44 2013 +0100
@@ -243,7 +243,7 @@
                           extent: (Point 60 25)
                         )
                        (ActionButtonSpec
-                          label: 'Run Failed'
+                          label: ' Failed'
                           name: 'Button1'
                           activeHelpKey: runFailed
                           translateLabel: true
@@ -429,6 +429,8 @@
     suite := suiteAndResult suiteForRun.
     "/ suite tests size ~= 1 ifTrue:[^self breakPoint: #jv].
     "/ test := suiteAndResult suite tests anyOne.
+    result := TestResult defaultResultClass new.
+    suiteAndResult := SuiteAndResult suite: suite result: result.
 
     self stop.
 
@@ -439,13 +441,26 @@
         suite tests do:[:test |
             [
                 test debug. 
-            ] on: AbortAllOperationRequest do:[:ex|].
+            ] ifCurtailed:[
+                result failureOutcomes add: test.
+                self resultHolder value:suiteAndResult; changed.    
+            ].
+
             (test class testSelectorPassed:test selector) ifTrue:[
-                result := TestResult defaultResultClass new.
-                result passed add: test.
-                suiteAndResult := SuiteAndResult suite: suite result: result.       
-                self resultHolder value:suiteAndResult.    
-            ].
+                "/ result := TestResult defaultResultClass new.
+                "/ result passed add: test.
+                "/ suiteAndResult := SuiteAndResult suite: suite result: result.
+                result passedOutcomes add: test.
+                self resultHolder value:suiteAndResult; changed.    
+            ] ifFalse:[
+                (test class testSelectorFailed:test selector) ifTrue:[
+                    "/ result := TestResult defaultResultClass new.
+                    "/ result failures add: test.
+                    "/ suiteAndResult := SuiteAndResult suite: suite result: result.       
+                    result failureOutcomes add: test.
+                    self resultHolder value:suiteAndResult; changed.    
+                ]
+            ]
         ].
     ] ensure:[
         self runningHolder value:false.
@@ -520,7 +535,7 @@
                     suiteAndResult := SuiteAndResult suite:suite result:result.
                 ] ensure:[
                     self progressIndicatorShownHolder value:false.
-                    self resultHolder value:suiteAndResult.
+                    self resultHolder setValue:nil; value:suiteAndResult; changed.
                     self runningHolder value:false.
                 ]
             ] newProcess.
@@ -872,39 +887,41 @@
             invalidateTestCases;      "/ updateTestSuite;
             invalidateSuiteAndResult; "/ updateTestSuiteAndResult;
             updateVisibility.
-        self enqueueDelayedAction:[ self updateTestCases; updateSuiteAndResult ].
+        self hasTestCaseSelected ifTrue:[
+            self enqueueDelayedAction:[ self updateTestCases; updateSuiteAndResult ].
+        ].
          ^ self.
     ].
-    sender == selectedProtocolsHolder ifTrue:[
-        self invalidateSuiteAndResult. "/ updateTestSuiteAndResult.
-        self enqueueDelayedAction:[ self updateSuiteAndResult ].
-        ^self
-    ].
+    self hasTestCaseSelected ifTrue:[
+        sender == selectedProtocolsHolder ifTrue:[
+            self invalidateSuiteAndResult. 
+            self enqueueDelayedAction:[ self updateSuiteAndResult ].
+            ^self
+        ].
 
-    sender == selectedMethodsHolder ifTrue:[
-        self invalidateSuiteAndResult. "/ updateTestSuiteAndResult.
-        self enqueueDelayedAction:[ self updateSuiteAndResult ].
-        ^self
+        sender == selectedMethodsHolder ifTrue:[
+            self invalidateSuiteAndResult. 
+            self enqueueDelayedAction:[ self updateSuiteAndResult ].
+            ^self
+        ].
+        sender == methodGeneratorHolder ifTrue:[
+            self invalidateSuiteAndResult. 
+            self enqueueDelayedAction:[ self updateSuiteAndResult ].
+            ^self
+        ].
+
+        sender == Smalltalk ifTrue:[
+            aspect == #lastTestRunResult ifTrue:[
+                allTestCases notNil ifTrue:[
+                    (allTestCases includesIdentical: param first) ifTrue:[
+                        self invalidateSuiteAndResult. "/ updateTestSuiteAndResult.
+                        self enqueueDelayedAction:[ self updateSuiteAndResult ].
+                        ^self        
+                    ]
+                ].
+            ]        
+        ].
     ].
-    sender == methodGeneratorHolder ifTrue:[
-        self invalidateSuiteAndResult. "/ updateTestSuiteAndResult.
-        self enqueueDelayedAction:[ self updateSuiteAndResult ].
-        ^self
-    ].
-
-    sender == Smalltalk ifTrue:[
-        aspect == #lastTestRunResult ifTrue:[
-            allTestCases notNil ifTrue:[
-                (allTestCases includesIdentical: param first) ifTrue:[
-                    self invalidateSuiteAndResult. "/ updateTestSuiteAndResult.
-                    self enqueueDelayedAction:[ self updateSuiteAndResult ].
-                    ^self        
-                ]
-            ].
-        ]        
-    ].
-
-
 
     super update:aspect with:param from: sender
 
@@ -1070,6 +1087,11 @@
 !
 
 suiteForRun
+    "if methods are selected, a suite for those methods is built and returned.
+     If protocoly are selected, a suite for all methods in those protocols
+     is built and returned.
+     Otherwise, a suite for all methods in the class is built and returned"
+
     | methods testMethods protocols suite selectedClass |
 
     selectedClass := self theSingleTestCase.
@@ -1085,7 +1107,7 @@
         ^suite
     ].
     
-    (protocols := selectedProtocolsHolder value) isEmptyOrNil ifFalse:[
+    (protocols := selectedProtocolsHolder value) notEmptyOrNil ifTrue:[
         suite := TestSuite named: (self suiteNameFromProtocols: protocols).
         (self selectedTestMethodsFromProtocols: protocols inClass:selectedClass) do:[:mthd| 
             | class selector |
@@ -1120,9 +1142,11 @@
 !
 
 suiteForRunFailed
-    |suite|
+    |suite numTests|
 
     suite := TestSuite named:(self suiteNameFromClasses: self allTestCases).
+    numTests := 0.
+
     self allTestCases do:[:testCase |
         (self buildSuiteFromClass:testCase) tests do:[:eachTest |
             | sel cls |
@@ -1130,10 +1154,16 @@
             sel := eachTest selector.
             cls := eachTest class.
             (cls testSelectorPassed:sel) ifFalse:[
-                suite addTest:eachTest
+                suite addTest:eachTest.
+                numTests := numTests + 1.
             ]
         ]
     ].
+    numTests == 1 ifTrue:[
+        suite name:(suite tests first selector)
+    ] ifFalse:[
+        suite name:(suite tests size printString,' tests')
+    ].
     ^suite
 
     "Modified: / 04-03-2011 / 06:57:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1154,26 +1184,51 @@
 !TestRunnerEmbedded::SuiteAndResult methodsFor:'accessing'!
 
 color
-
-    self testCount == 0 ifTrue:
-        [^TestRunnerEmbedded notRunColor].
+    |numTests numRun|
 
-    result ifNil:[^TestRunnerEmbedded notRunColor].
-    self hasErrors ifTrue:[^TestRunnerEmbedded errorColor].
-    self hasFailures ifTrue:[^TestRunnerEmbedded failedColor].
-    self hasPassed ifTrue:[^TestRunnerEmbedded passedColor].
-    ^TestRunnerEmbedded notRunColor
+    self testCount > 0 ifTrue:[
+        result notNil ifTrue:[
+            self hasErrors ifTrue:[^TestRunnerEmbedded errorColor].
+            self hasFailures ifTrue:[^TestRunnerEmbedded failedColor].
+            self hasPassed ifTrue:[
+                numTests := suite tests size.
+                numRun := result passedCount + result failureCount + result errorCount.
+                numRun = numTests ifTrue:[
+                    ^TestRunnerEmbedded passedColor 
+                ]
+            ].
+        ]
+    ].
+    ^ TestRunnerEmbedded notRunColor
 
     "Created: / 15-03-2010 / 15:24:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 07-09-2010 / 08:25:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 info
+    |numTests numRun|
 
     result ifNil:[^''].
-    (result passedCount + result failureCount + result errorCount) = 1 ifTrue:[^''].
+
+    numTests := suite tests size.
+    numRun := result passedCount + result failureCount + result errorCount.
+    "/ (result passedCount + result failureCount + result errorCount) = 1 ifTrue:[^''].
+    numRun == 0 ifTrue:[
+        numTests == 1 ifTrue:[
+            ^'not run'
+        ].
+        ^'%1 tests, 0 run' bindWith: numTests
+    ].
+    numRun < numTests ifTrue:[
+        ^'%1 tests, %2 run, %3 passed, %4 fail or error'
+            bindWith: numTests
+                with: numRun        
+                with: result passedCount        
+                with: (result failureCount+result errorCount)
+    ].
+
     ^'%1 tests, %2 passed, %3 failed, %4 errors'
-        bindWith: suite tests size
+        bindWith: numTests
             with: result passedCount        
             with: result failureCount 
             with: result errorCount
@@ -1255,11 +1310,11 @@
 !TestRunnerEmbedded class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Tools__TestRunnerEmbedded.st 8076 2012-12-03 16:22:00Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.34 2013-05-21 20:21:03 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.32 2012/11/08 00:05:16 cg Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.34 2013-05-21 20:21:03 cg Exp $'
 !
 
 version_HG
@@ -1268,6 +1323,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__TestRunnerEmbedded.st 8076 2012-12-03 16:22:00Z vranyj1 $'
+    ^ '$Id: Tools__TestRunnerEmbedded.st,v 1.34 2013-05-21 20:21:03 cg Exp $'
 ! !
 
--- a/WorkspaceApplication.st	Tue May 28 22:46:27 2013 +0100
+++ b/WorkspaceApplication.st	Fri May 31 00:35:44 2013 +0100
@@ -48,7 +48,6 @@
 "
 ! !
 
-
 !WorkspaceApplication class methodsFor:'defaults'!
 
 defaultEditToolbarVisible
@@ -102,7 +101,6 @@
     ^ '/workspace'
 ! !
 
-
 !WorkspaceApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -156,7 +154,6 @@
     "Modified: / 08-07-2011 / 08:29:51 / cg"
 ! !
 
-
 !WorkspaceApplication class methodsFor:'interface specs'!
 
 manageSnipletsDialogSpec
@@ -532,7 +529,6 @@
       )
 ! !
 
-
 !WorkspaceApplication class methodsFor:'menu specs'!
 
 bufferAddMenuSlice
@@ -1673,7 +1669,6 @@
     "Modified: / 12-09-2012 / 12:18:40 / cg"
 ! !
 
-
 !WorkspaceApplication class methodsFor:'private'!
 
 createWorkspaceView
@@ -1684,7 +1679,6 @@
     "Modified: / 26-07-2011 / 10:28:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !WorkspaceApplication class methodsFor:'special startup'!
 
 openEvaluationWorkspace
@@ -1739,8 +1733,9 @@
 
 openMyWorkspace
     "/ openMyWorkspace_new leads to an error in root /, which we dont understand...
-    self openMyWorkspace_new
-    "/ self openMyWorkspace_old
+    self openMyWorkspace_new.
+    "/ self openMyWorkspace_old.
+    MyWorkspaceOpened := true.
 
     "
       WorkspaceApplication openMyWorkspace
@@ -1970,6 +1965,8 @@
     "
 !
 
+
+
 openWithGlobalsInspector
     "open a workspaceApp with a single initial pane, showing global variables.
      Same as Smalltalk inspect, but looks nicer..."
@@ -1992,17 +1989,15 @@
     "
 ! !
 
-
 !WorkspaceApplication class methodsFor:'startup'!
 
 open
     "/ the very first open opens a MyWorkspace
 
     (MyWorkspaceOpened == true) ifTrue:[
-	super open
+        super open
     ] ifFalse:[
-	MyWorkspaceOpened := true.
-	self openMyWorkspace
+        self openMyWorkspace
     ].
 
     "
@@ -2014,7 +2009,6 @@
     "Modified (comment): / 05-07-2011 / 15:23:53 / cg"
 ! !
 
-
 !WorkspaceApplication methodsFor:'aspects'!
 
 autoDefineVariables
@@ -2195,7 +2189,6 @@
     "Modified: / 11-06-2011 / 00:06:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !WorkspaceApplication methodsFor:'aspects-queries'!
 
 anyWorkspaceVariableIsDefined
@@ -2248,7 +2241,6 @@
     ^ self selectedWorkspacesTextView notNil
 ! !
 
-
 !WorkspaceApplication methodsFor:'autofetch selection'!
 
 autoFetchSelection
@@ -2346,7 +2338,6 @@
     "Created: / 16-11-2010 / 14:44:05 / cg"
 ! !
 
-
 !WorkspaceApplication methodsFor:'defaults'!
 
 defaultEvaluatorSyntax
@@ -2398,7 +2389,6 @@
     ^ true
 ! !
 
-
 !WorkspaceApplication methodsFor:'drag & drop'!
 
 droppedFile:aFilename in:aComponent
@@ -2409,7 +2399,6 @@
 	to:aFilename asFilename baseName
 ! !
 
-
 !WorkspaceApplication methodsFor:'help'!
 
 flyByHelpSpec
@@ -2443,7 +2432,6 @@
     "Created: / 06-07-2011 / 16:32:13 / cg"
 ! !
 
-
 !WorkspaceApplication methodsFor:'initialization & release'!
 
 closeRequest
@@ -2499,7 +2487,6 @@
     "Created: / 22-01-2011 / 12:10:01 / cg"
 ! !
 
-
 !WorkspaceApplication methodsFor:'menu-actions'!
 
 askForFilterBlock:message template:template rememberIn:nameOfClassVar
@@ -3075,7 +3062,6 @@
     self selectedWorkspacesTextView timeIt
 ! !
 
-
 !WorkspaceApplication methodsFor:'menu-actions-adding'!
 
 addBookmark
@@ -3139,7 +3125,12 @@
     |inspectorClass|
 
     isBasicInspector ifFalse:[
-	inspectorClass := aValue inspectorClass.
+        "/ Inspector2 does not work yet!!
+        "(Tools::Inspector2 notNil and:[UserPreferences current useInspector2])" false ifTrue:[
+            inspectorClass := Tools::Inspector2.
+        ] ifFalse:[
+            inspectorClass := aValue inspectorClass.
+        ].
     ].
     inspectorClass isNil ifTrue:[
 	inspectorClass := InspectorView
@@ -3407,18 +3398,19 @@
 	    ].
 
 	    l label:'TEA is ready !!'.
+            self window topView raiseDeiconified.
 	    "/ could have been removed in the meantime....
 	    (wg := confirmButton windowGroup) notNil ifTrue:[
 		confirmButton beVisible.
 		wg repairDamage.
 
 		[ confirmed ] whileFalse:[
+                    self window topView raiseDeiconified.
 		    3 timesRepeat:[ l beep. Delay waitForSeconds:0.4 ].
 		    Delay waitForSeconds:5.
 		].
 
 		l viewBackground:Color green.
-		l topView raiseDeiconified.
 	    ].
 	]
     ] fork.
@@ -3430,25 +3422,25 @@
 addTerminal
     | v termView |
 
-    (OperatingSystem isUNIXlike and:[XTermView notNil and:[XTermView isAvailable]]) ifTrue:[
-	v := termView := XTermView new
+    (false "OperatingSystem isUNIXlike and:[XTermView notNil and:[XTermView isAvailable]]") ifTrue:[
+        v := termView := XTermView new
     ] ifFalse:[
-	v := (HVScrollableView for:VT100TerminalView).
-	termView := v scrolledView.
-	v autoHideScrollBars:false.
-	v horizontalMini:true.
-	"/ the startShell seems to realize the view, which is not allowed.
-	"/ do it later (after adding to myself)
+        v := (HVScrollableView for:VT100TerminalView).
+        termView := v scrolledView.
+        v autoHideScrollBars:false.
+        v horizontalMini:true.
+        "/ the startShell seems to realize the view, which is not allowed.
+        "/ do it later (after adding to myself)
 "/        termView startShellIn: Filename currentDirectory asString.
     ].
 
-    self addWindow:v named:'Terminal %1'.
+    self addWindow:v named:'Terminal%1'.
 
     termView shellTerminateAction:[ termView cr; nextPutLine:'*** shell terminated ***' allBold; cr.].
     termView startShellIn: Filename currentDirectory asString.
 
+    "Modified: / 09-12-2010 / 23:22:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 05-07-2011 / 14:42:39 / cg"
-    "Modified: / 10-05-2012 / 18:48:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addWebBrowser
@@ -3511,7 +3503,6 @@
     "Created: / 21-06-2011 / 08:56:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !WorkspaceApplication methodsFor:'menu-actions-editing'!
 
 babelFishTranslate:fromToModeString
@@ -3688,7 +3679,6 @@
     self selectedWorkspacesTextView undentBy4.
 ! !
 
-
 !WorkspaceApplication methodsFor:'menu-dynamic'!
 
 bookmarkMenu
@@ -3819,7 +3809,6 @@
     ^ self recentDoItsMenuFor:#'pasteAndExecute:'
 ! !
 
-
 !WorkspaceApplication methodsFor:'private'!
 
 askIfAnyModified:question yesButton:yesButtonText
@@ -4076,7 +4065,6 @@
 
 ! !
 
-
 !WorkspaceApplication methodsFor:'user actions'!
 
 infoVisibilityChanged
@@ -4101,15 +4089,14 @@
     "Created: / 14-07-2007 / 16:45:31 / cg"
 ! !
 
-
 !WorkspaceApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.238 2013-03-19 12:12:14 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.243 2013-05-27 08:14:59 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.238 2013-03-19 12:12:14 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.243 2013-05-27 08:14:59 cg Exp $'
 !
 
 version_HG
@@ -4118,6 +4105,6 @@
 !
 
 version_SVN
-    ^ '§Id: WorkspaceApplication.st 7812 2011-08-17 08:55:59Z vranyj1 §'
+    ^ '$Id: WorkspaceApplication.st,v 1.243 2013-05-27 08:14:59 cg Exp $'
 ! !
 
--- a/extensions.st	Tue May 28 22:46:27 2013 +0100
+++ b/extensions.st	Fri May 31 00:35:44 2013 +0100
@@ -165,28 +165,30 @@
 inspectorExtraAttributes
     "extra (pseudo instvar) entries to be shown in an inspector."
 
+    |basePrinter|
+
+    basePrinter := 
+        [:arr :b |
+            String
+                streamContents:[:s |
+                    arr class isWords ifTrue:[
+                        arr asWordArray printOn:s base:b showRadix:true
+                    ] ifFalse:[
+                        arr class isLongs ifTrue:[
+                            arr asLongIntegerArray printOn:s base:b showRadix:true
+                        ] ifFalse:[
+                            arr asByteArray printOn:s base:b showRadix:true
+                        ]
+                    ]
+                ]
+        ].
+
     ^ Dictionary new
         declareAllNewFrom:(super inspectorExtraAttributes ? #());
         add:'-hexstring' -> [ self hexPrintString "WithSeparator:Character space" ];
-        add:'-hexadecimal' ->
-            [
-                String
-                    streamContents:[:s |
-                        self class isWords ifTrue:[
-                            self asWordArray printOn:s base:16 showRadix:true
-                        ] ifFalse:[
-                            self class isLongs ifTrue:[
-                                self asLongIntegerArray printOn:s base:16 showRadix:true
-                            ] ifFalse:[
-                                self asByteArray printOn:s base:16 showRadix:true
-                            ]
-                        ]
-                    ]
-            ];
+        add:'-hexadecimal' -> [ basePrinter value:self value:16 ];
+        add:'-binary' -> [ basePrinter value:self value:2 ];
         yourself
-
-    "Created: / 18-09-2006 / 21:29:59 / cg"
-    "Modified: / 06-10-2006 / 13:57:20 / cg"
 ! !
 !Change methodsFor:'private'!
 
@@ -1282,14 +1284,24 @@
 !PopUpMenu methodsFor:'converting'!
 
 asMenu
+    "convert myself into a newStyle Menu instance, from which a MenuPanel is created.
+     The old PopUpMenu and MenuView is going to be obsoleted (but still supported
+     for backward compatibility)"
+
     | menu  |
 
     menu := Menu new receiver: menuView receiver.
     1 to: self numberOfItems do:[:i| 
-        | menuItem subMenu|
+        | menuItem subMenu lbl checkHolder|
+
+        lbl := (self labels at: i).
+        (lbl includesString:'\c') ifTrue:[
+            lbl := lbl copyReplaceString:'\c' withString:''.
+            checkHolder := (menuView checkToggleAt:i) asValue.
+        ].
 
         menuItem := MenuItem new
-                        label: (self labels at: i);
+                        label: lbl;
                         itemValue: (menuView selectors at: i);
                         enabled: (menuView isEnabled: i);
                         shortcutKey: (menuView shortKeys at: i);
@@ -1298,6 +1310,13 @@
         (subMenu := self subMenuAt: i) notNil ifTrue:[
             menuItem submenu: subMenu asMenu
         ].
+        checkHolder notNil ifTrue:[
+            checkHolder onChangeEvaluate:[ 
+                menuView receiver perform:(menuView selectors at: i) with:checkHolder value 
+            ].
+            menuItem indication:checkHolder.
+            menuItem hideMenuOnActivated:false.
+        ].
         menu addItem: menuItem.
     ].
     ^ menu.
@@ -2070,7 +2089,7 @@
 !stx_libtool class methodsFor:'documentation'!
 
 extensionsVersion_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.105 2013-04-14 12:40:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.108 2013-05-28 18:45:20 cg Exp $'
 ! !
 !stx_libtool class methodsFor:'documentation'!
 
--- a/libInit.cc	Tue May 28 22:46:27 2013 +0100
+++ b/libInit.cc	Fri May 31 00:35:44 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * $Header$
+ * $Header: /cvs/stx/stx/libtool/libInit.cc,v 1.105 2013-05-27 08:32:38 cg Exp $
  *
  * DO NOT EDIT
  * automagically generated from the projectDefinition: stx_libtool.
--- a/resources/de.rs	Tue May 28 22:46:27 2013 +0100
+++ b/resources/de.rs	Fri May 31 00:35:44 2013 +0100
@@ -1,6 +1,6 @@
 #encoding utf8
 
-; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.211 2013-03-20 20:30:55 cg Exp $
+; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.214 2013-05-21 20:51:28 cg Exp $
 ;
 ; German Workspace (and other tools) resources
 ;
@@ -485,6 +485,7 @@
 
 'Repository history'     'Historie aus Quellcodeverwaltung'
 'Repository History'     'Historie aus Quellcodeverwaltung'
+'Find Classes NOT tagged as "stable"'     'Klassen die NICHT als "stable" markiert sind'
 'Validate class revisions'  'Aktualitt aller Klassen prfen'
 'Validate Class Revisions'  'Aktualitt aller Klassen prfen'
 'Load from repository'   'Aus Quellcodeverwaltung laden'
@@ -550,6 +551,8 @@
 'dialog'                        'Dialog'
 ; 'Load'                          'Laden'
 'Load Project'                  'Laden - gesamtes Projekt'
+'Load Sources'                  'Quellen Laden'
+'Edit Resource File(s)'         'Ressource Datei(en) bearbeiten'
 'unload'                        'Entladen'
 'Unload'                        'Entladen'
 'Remove all from Changeset'     'Im Changeset entfernen'
@@ -719,6 +722,8 @@
 
 'Smalltalk Method'          'Smalltalk Methode'
 'JavaScript Method'         'Javascript Methode'
+'Java Method'               'Java Methode'
+'Groovy Method'             'Groovy Methode'
 
 'invoke method'            'Methode aufrufen'
 'Compare source'        'Quelltext vergleichen'
@@ -950,8 +955,11 @@
 'With Break- or Tracepoint'               'Mit Halte- oder Tracepunkt'
 'With String-Literal Matching'            'Mit String-Konstante passend zu'
 'With Instrumentation'                    'Mit Instrumentierung'
-'Unassigned Extensions'                     'Nicht zugeordnete Erweiterungen'
-'For which'                                 'Fr die gilt'
+'With Extensions'                         'Mit Erweiterungen'
+'With Shadowed Methods (Package Conflicts)'  'Mit verdeckten Methoden (Paketkonflikte)'
+'Unassigned Extensions'                   'Nicht zugeordnete Erweiterungen'
+'Referring to Pool'                       'Zugriffe auf Pool'
+'For which'                               'Fr die gilt'
 'Without documentation'                   'Ohne Dokumentation'
 'Without Documentation'                   'Ohne Dokumentation'
 'Without examples'                        'Ohne Beispiele'
@@ -1120,9 +1128,14 @@
 
 'Build Package for Deployment'                  'Paket zur Auslieferung bauen'
 'Build Binaries for Execution'                  'Ausfhrbare Binrdatei (exe) zum Testlauf bauen'
-'Build with Interactive Applicatin Packager'    'Mit interaktivem Application Packager (exe-Builder) bauen'
+'Build with Interactive Application Packager'   'Mit interaktivem Application Packager (exe-Builder) bauen'
+'Generate Build Support Files in'               'Hilfsdateien zum Bauen erzeugen in'
 ; 'Patch-Set'                                     '???'
 
+'Generate Project Definition Methods'               'Projektdefinitionsmethoden anlegen'
+'Update Project Contents Definition Methods'        'Projektinhaltsmethoden aktualisiern'
+'Regenerate Project Contents Definition Methods'    'Projektinhaltsmethoden neu erzeugen'
+
 'Generate'                  'Generieren'
 'Check'                     'Prfen'
 'Instance Variables'        'Instanzvariable'
@@ -1175,6 +1188,7 @@
 'Sender chain'          'Senderkette'
 'Sender Chain'          'Senderkette'
 'Implementor Chain'     'Implementierungskette'
+'Follow Implementation' 'Implementierung folgen'
 'String search'         'Text suchen'
 'String Search'         'Text suchen'
 'Code Search'           'Quellcode suchen'
@@ -1281,6 +1295,7 @@
 'Each SIF in'            'Einzeln SIF in'
 'each binary in'         'einzeln binr in'
 'Each Binary in'         'Einzeln Binr in'
+'Build Support File in'  'Hilfsdatei zum Bauen in'
 
 'CheckIn Each'                          'Einbringen aller Klassen in die Quellcodeverwaltung'
 'CheckIn Each'                          'Einbringen in die Quellcodeverwaltung'
@@ -1361,6 +1376,7 @@
 'Buffer with Full Protocol'                     'Seite mit gesamtem Protokoll'
 'Buffer with Full Protocols Matching'           'Seite mit gesamtem Protokoll mit Muster'
 'Buffer with Extensions'                        'Seite mit Erweiterungen'
+'Buffer with Projects Requiring this Project'   'Seite mit Projekten die dieses bentigen'
 'Buffer with Extensions for Project'            'Seite mit Erweiterungen zu Projekt'
 'Buffer with Extension''s Project'              'Seite mit erweiterndem Projekt'
 'Buffer with Unassigned Extensions'             'Seite mit nicht zugewiesenen Erweiterungen'
@@ -1382,6 +1398,7 @@
 'Browser on Full Protocol'                      'Browser auf gesamtes Protokoll'
 'Browser on Full Protocols Matching'            'Browser auf gesamtes Protokoll mit Muster'
 'Browser on Extensions'                         'Browser auf Erweiterungen'
+'Browser on Projects Requiring this Project'    'Browser auf Projekte die dieses bentigen'
 'Browser on Extensions for Project'             'Browser auf Erweiterungen zu Projekt'
 'Browser on Extension''s Project'               'Browser auf erweiterndes Projekt'
 'Browser on Unassigned Extensions'              'Browser auf nicht zugewiesene Erweiterungen'
@@ -1404,6 +1421,7 @@
 'With Previous Version'          'Mit vorheriger Version'
 'With Method'                    'Mit Methode'
 'With Inherited Method'          'Mit geerbter Methode'
+'With Shadowed Method'           'Mit verdeckter Methode'
 'With Methods Actual Source'     'Mit Quelltext der Methode'
 
 'To Category'                                           'Nach Kategorie'
@@ -2534,7 +2552,7 @@
 'Really erase\\%1%2 ?'                          '%1%2\\wirklich ausradieren ?'
 'Really erase\\%1%2 ?\\(%3 files alltogether)'  '%1%2\\wirklich ausradieren ?\\(insgesamt %3 Dateien)'
 'Directory ''%1'' is not empty\remove anyway ?' 'Verzeichnis ''%1'' ist nicht leer\dennoch lschen ?'
-'Keep'                                          'Nicht Lschen'
+'Keep'                                          'Nicht lschen'
 
 'Goto Home Directory'                           'Zum Heimatverzeichnis gehen'
 'Goto home directory'                           'Zum Heimatverzeichnis gehen'
@@ -2962,6 +2980,7 @@
 'Event Trace'                   'Ereignisprotokoll'
 'Memory Usage'                  'Speicherbelegung'
 
+'Window'                                  'Fenster'
 'Window Tree (All Views)'                 'Fensterhierarchie (alle Fenster)'
 'Window Tree (All Windows)'               'Fensterhierarchie (alle Fenster)'
 'Window Tree'                             'Fensterhierarchie'
@@ -2980,11 +2999,26 @@
 'Deiconify All'                         'Alle Fenster zeigen'
 'Redraw All'                            'Alle Fenster neu zeichnen'
 'Migrate All To'                     'Alle Fenster migrieren nach'
+'Migrate'                            'Migrieren'
+
+'Raise Deiconified'                   'Zeigen'
+'Iconify'                             'Minimieren'
+'Bring onto Screen'                   'In den sichtbaren Bereich bringen'
+'Inspect View'                        'Fenster inspizieren'
+'Browse View Class'                   'Fensterklasse browsen'
+'Debug Application'                   'Anwendung debuggen'
+'Close All like This'                 'Alle dieser Art schlieen'
+'Iconify All like This'               'Alle dieser Art minimieren'
+'Deiconify All like This'             'Alle dieser Art zeigen'
 
 'Find and Raise'                     'Auswhlen und nach vorne bringen'
 'Find and Destroy'                   'Auswhlen und schlieen'
 'Find and Migrate To'                'Auswhlen und migrieren nach'
 'Find and Migrate Back'              'Auswhlen und zurckholen'
+'Find by Name and Raise'             'Nach Name auswhlen und zurckholen'
+'Find by Name and Destroy'           'Nach Name auswhlen und schlieen'
+'Find by Name and Migrate To'        'Nach Name auswhlen und migrieren nach'
+'Find by Name and Migrate Back'      'Nach Name auswhlen und migrieren von'
 'View selection'                        'Fensterauswahl'
 'Select view to raise deiconified:'     'Whlen Sie das Fenster,\welches sichtbar gemacht werden soll:\'
 
@@ -2995,6 +3029,8 @@
 'save image in:'                'Bild sichern als:'
 'Misc'                          'Verschiedenes'
 
+'Select and Grab Window'        'Bitmap-Abzug von ausgewhltem Fenster'
+'Select and Grab Widget'        'Bitmap-Abzug von ausgewhltem Widget'
 'Grab Window'                   'Bitmap-Abzug von Fenster'
 'Grab from Window'              'Bitmap-Abzug eines Fensters'
 'Grab Widget'                   'Bitmap-Abzug eines Widgets'
@@ -3099,10 +3135,13 @@
 'active help \c'            'aktive Hilfe \c'
 'ST/X Documentation'        'ST/X Dokumentation'
 'ST/X Online Documentation' 'ST/X Dokumentation'
+'Smalltalk/X Tutorial'                    'Smalltalk/X Einfhrung'
 'Smalltalk Tutorial for Beginners'        'Smalltalk Tutorial fr Einsteiger'
+'Smalltalk Language Tutorial'             'Smalltalk Spracheinfhrung'
 'Class Documentation'       'Klassendokumentation'
 'Browser Documentation'     'Dokumentation zum Browser'
 'Tool Documentation'        'Tooldokumentation'
+'Programmer''s Guide'       'Programmierhandbuch'
 'Web Documents'             'WWW-Dokumente'
 'Print Documentation'       'Dokumentation drucken'
 'What''s New'               'Was gibt''s Neues'
@@ -3118,6 +3157,8 @@
 'Web-Documents'             'Webdokumente'
 'Credits'                   'Danksagungen'
 
+'Sorry, the ''%1''-class is not available.\\Shall I try to autoload it?'                    'Huch, die ''%1''-Klasse ist nicht im System.\\Soll versucht werden, sie jetzt zu laden?'
+'Autoload failed.\\Sorry, please check the demos & client directories and load manually.'   'Autoload nicht gelungen.\\Entschuldigung. Bitte berprfen sie die demos & client Ordner und laden diese manuell.'
 'close Launcher ?'      'Launcher schlieen ?'
 
 'Module dialog'         'Modul Dialog'
@@ -3372,6 +3413,7 @@
 'Plausibility Checks'                                   'Plausibilittsprfungen'
 
 'Literal Arrays are Immutable'                          'Literale Arrays sind ''readOnly'''
+'Literal Strings are Immutable'                         'Literale Strings sind ''readOnly'''
 'Full Debug Info'                                       'Komplette Debuginformation'
 'Constant Folding'                                      'Konstanten zur bersetzungszeit berechnen'
 'STC Compilation to Machine Code'                       'STC bersetzung zu Maschinencode'
--- a/stx_libtool.st	Tue May 28 22:46:27 2013 +0100
+++ b/stx_libtool.st	Fri May 31 00:35:44 2013 +0100
@@ -11,7 +11,7 @@
 "
 "{ Package: 'stx:libtool' }"
 
-LibraryDefinition subclass:#stx_libtool
+LibraryDefinition subclass:#'stx_libtool'
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
@@ -417,7 +417,7 @@
 
 extensionMethodNames
     "lists the extension methods which are to be included in the project.
-     Entries are 2-element array literals, consisting of class-name and selector."
+     Entries are pairwise elements, consisting of class-name and selector."
 
     ^ #(
         Breakpoint icon
@@ -428,10 +428,6 @@
         Change removed
         Change removed:
         ChangeSet condenseChangesForRemoved
-        ChangeSet flattenOnto:
-        ChangeSet flattenedChanges
-        ChangeSet inspector2TabBrowser
-        ChangeSet inspector2Tabs
         Character inspectorExtraAttributes
         CharacterArray inspector2TabBytes
         CharacterArray inspector2TabText
@@ -614,11 +610,11 @@
 !stx_libtool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.91 2013-03-30 16:04:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.93 2013-05-27 08:32:39 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.91 2013-03-30 16:04:30 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.93 2013-05-27 08:32:39 cg Exp $'
 !
 
 version_HG