Merged 482496b7e155 and af982630f6ad (branch default - CVS HEAD) jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 01 Apr 2013 14:07:29 +0100
branchjv
changeset 12626 7ae48abfedac
parent 12625 482496b7e155 (current diff)
parent 12603 af982630f6ad (diff)
child 12627 cd43df2b0272
Merged 482496b7e155 and af982630f6ad (branch default - CVS HEAD)
AbstractFileBrowser.st
AbstractFileFinderApplicationComponent.st
AbstractLauncherApplication.st
AbstractSettingsApplication.st
ChangeSetBrowser.st
ChangesBrowser.st
DebugView.st
DictionaryInspectorView.st
InspectorView.st
Make.proto
Make.spec
NewLauncher.st
SystemBrowser.st
Tools__BreakpointBrowser.st
Tools__ChangeList.st
Tools__ChangeSetBrowser2.st
Tools__InlineMessageDialog.st
Tools__NewSystemBrowser.st
Tools__ProjectCheckerBrowser.st
Tools__TestRunner2.st
Tools__TextDiffTool.st
abbrev.stc
bc.mak
extensions.st
libInit.cc
libtool.rc
mingwmake.bat
stx_libtool.st
vcmake.bat
--- a/AbstractFileBrowser.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/AbstractFileBrowser.st	Mon Apr 01 14:07:29 2013 +0100
@@ -6913,9 +6913,9 @@
     stream nextPutAllLines:info.
 
     titleStream := WriteStream on:''.
-    titleStream nextPutAll:'File duplicates in director'.
+    titleStream nextPutAll:'File duplicates in directory'.
     directories size == 1 ifTrue:[
-        titleStream nextPutAll:'y: ', directories first asString.
+        titleStream nextPutAll:'y: '; nextPutAll: directories first asString.
     ] ifFalse:[
         titleStream nextPutLine:'ies: '.
         directories do:[:dir|
@@ -9343,11 +9343,11 @@
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.516 2013-03-21 11:50:39 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.517 2013-03-31 20:12:44 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.516 2013-03-21 11:50:39 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.517 2013-03-31 20:12:44 cg Exp $'
 !
 
 version_HG
--- a/AbstractFileFinderApplicationComponent.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/AbstractFileFinderApplicationComponent.st	Mon Apr 01 14:07:29 2013 +0100
@@ -37,6 +37,7 @@
 "
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'accessing'!
 
 accessLock
@@ -57,6 +58,7 @@
     "Modified (format): / 11-01-2012 / 22:41:01 / cg"
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'actions'!
 
 changeInformationTo:aString
@@ -196,6 +198,7 @@
     ].
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'aspects'!
 
 autoSelectInBrowser
@@ -287,6 +290,7 @@
     ^ shownListHolder.
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -303,6 +307,7 @@
     super update:something with:aParameter from:changedObject
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'drag & drop'!
 
 getDisplayObjects:anArgument
@@ -345,6 +350,7 @@
         ].
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'event handling'!
 
 fileDoubleClick:entries
@@ -365,6 +371,7 @@
     app notNil ifTrue:[
         openedAppl := app openApplForFile:file.
         (openedAppl notNil and:[openedAppl isTextEditor]) ifTrue:[
+            openedAppl window assignKeyboardFocusToFirstInputField.    "/ should this be done in openApplForFile?
             contentsPattern := self contentsPatternHolder value.
             (contentsPattern notNil and:[ contentsPattern notEmpty and:[contentsPattern ~= '*']]) ifTrue:[
                 openedAppl searchForPattern:contentsPattern ignoreCase:(self ignoreCaseInContents value).
@@ -432,6 +439,7 @@
     ^ false
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'initialization'!
 
 initialize
@@ -444,6 +452,7 @@
     "Modified: / 12-01-2012 / 01:39:27 / cg"
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'queries'!
 
 hasOneFileSelected
@@ -459,6 +468,7 @@
     ^ sel notEmptyOrNil
 ! !
 
+
 !AbstractFileFinderApplicationComponent methodsFor:'tasks'!
 
 stopSearchTaskOrAbort
@@ -474,14 +484,15 @@
     "Created: / 12-01-2012 / 01:48:42 / cg"
 ! !
 
+
 !AbstractFileFinderApplicationComponent class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.8 2013-01-26 21:27:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.9 2013-03-28 16:48:59 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.8 2013-01-26 21:27:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileFinderApplicationComponent.st,v 1.9 2013-03-28 16:48:59 cg Exp $'
 !
 
 version_HG
--- a/AbstractLauncherApplication.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/AbstractLauncherApplication.st	Mon Apr 01 14:07:29 2013 +0100
@@ -2029,6 +2029,13 @@
     ^ XWorkstation newDispatchingFor:displayName.
 !
 
+bringWindowOntoScreen:aWindow
+    "shift & resize a view to be visible"
+
+    aWindow topView origin:(aWindow origin max:(10@10)).
+    aWindow topView extent:(aWindow extent min:(Display usableExtent - (100@100))).
+!
+
 deIconifyAllWindows
     self allTopViewsDo:[:eachTopView | eachTopView expand]
 
@@ -7003,11 +7010,11 @@
 !AbstractLauncherApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.425 2013-03-21 20:17:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.426 2013-03-28 18:18:56 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.425 2013-03-21 20:17:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.426 2013-03-28 18:18:56 cg Exp $'
 !
 
 version_HG
--- a/AbstractSettingsApplication.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/AbstractSettingsApplication.st	Mon Apr 01 14:07:29 2013 +0100
@@ -5674,7 +5674,7 @@
 	^ self
     ].
 
-    serverToStart := serverClass runningServers asSet.
+    serverToStart := serverClass runningServers asNewSet.
     serverToStart addAll:self class createdServers.
     serverToStart isEmpty ifTrue:[
 	^ self
@@ -5722,17 +5722,17 @@
 
     serverClass := self serverClass.
     (serverClass notNil and:[serverClass isLoaded]) ifTrue:[
-	instances := serverClass runningServers asSet.
-	instances addAll:((settingsDialog getAllChildrenAppsForApplication:self)
-			  collect:[:aApp| aApp httpServerInstance]).
-	instances := instances select:[:i | i port notNil].
-	highestUsedPortNr := instances
-				inject:(serverClass defaultPort - 1)
-				into:[:maxSoFar :thisServer | thisServer port max:maxSoFar].
-
-	portToUse := highestUsedPortNr + 1
+        instances := serverClass runningServers asNewSet.
+        instances addAll:((settingsDialog getAllChildrenAppsForApplication:self) 
+                          collect:[:aApp| aApp httpServerInstance]).
+        instances := instances select:[:i | i port notNil].
+        highestUsedPortNr := instances 
+                                inject:(serverClass defaultPort - 1) 
+                                into:[:maxSoFar :thisServer | thisServer port max:maxSoFar].
+
+        portToUse := highestUsedPortNr + 1
     ] ifFalse:[
-	portToUse := 8080
+        portToUse := 8080
     ].
     self portNumberChannel value:portToUse.
 
@@ -18506,11 +18506,11 @@
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.461 2013-03-19 11:50:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.462 2013-03-28 23:29:00 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.461 2013-03-19 11:50:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.462 2013-03-28 23:29:00 stefan Exp $'
 !
 
 version_HG
--- a/ChangeSetBrowser.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/ChangeSetBrowser.st	Mon Apr 01 14:07:29 2013 +0100
@@ -47,6 +47,7 @@
 "
 ! !
 
+
 !ChangeSetBrowser class methodsFor:'instance creation'!
 
 open
@@ -85,6 +86,7 @@
     "Modified: / 17-02-2011 / 10:29:50 / cg"
 ! !
 
+
 !ChangeSetBrowser class methodsFor:'defaults'!
 
 defaultLabel
@@ -93,6 +95,7 @@
     "Created: / 6.2.1998 / 13:25:47 / cg"
 ! !
 
+
 !ChangeSetBrowser class methodsFor:'menu specs'!
 
 menuSpec
@@ -544,6 +547,7 @@
       )
 ! !
 
+
 !ChangeSetBrowser methodsFor:'initialization & release'!
 
 askIfChangesAreToBeWrittenBack
@@ -623,6 +627,7 @@
     ^ "false" super showingDiffsDefault 
 ! !
 
+
 !ChangeSetBrowser methodsFor:'menu aspects'!
 
 hasNotUndoableChangeSelected
@@ -666,6 +671,7 @@
     ^ false
 ! !
 
+
 !ChangeSetBrowser methodsFor:'private'!
 
 applyChange:changeNr
@@ -851,9 +857,9 @@
 readChangesFileInBackground:dummy
     "read the changeSet, create a list of header-lines"
 
-    |tabSpec|
+    self withCursor:(Cursor read) do:[
+        |tabSpec|
 
-    self withCursor:(Cursor read) do:[
         changeSet size == 0 ifTrue:[
             changeFileName notNil ifTrue:[
                 changeSet := self class readXMLChangesFromFile:changeFileName inBackground:false.
@@ -872,7 +878,7 @@
         changeChunks := OrderedCollection new.
         changeHeaderLines := OrderedCollection new.
 
-        changeSet do:[:aChange | |entry|
+        changeSet do:[:aChange | |entry t|
             changeChunks add:(aChange printString).
             "/ changeHeaderLines add:(aChange printString)
             entry := MultiColListEntry new.
@@ -882,8 +888,8 @@
             entry colAt:3 put:''. "/ changeType.
         
             (aChange respondsTo:#timeOfChangeIfKnown) ifTrue:[
-                aChange timeOfChangeIfKnown notNil ifTrue:[
-                    entry colAt:4 put:(aChange timeOfChangeIfKnown printString).
+                (t := aChange timeOfChangeIfKnown) notNil ifTrue:[
+                    entry colAt:4 put:(self timeStampPrintStringOf:t).
                 ]
             ].    
             changeHeaderLines add:entry
@@ -978,6 +984,7 @@
     "Modified: / 7.2.1998 / 19:52:44 / cg"
 ! !
 
+
 !ChangeSetBrowser methodsFor:'user actions'!
 
 doInspectChange
@@ -1032,12 +1039,14 @@
     super updateDiffViewFor:changeNr.
 ! !
 
+
 !ChangeSetBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.56 2011/02/17 09:30:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.57 2013-03-31 11:58:23 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.56 2011/02/17 09:30:10 cg Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.57 2013-03-31 11:58:23 cg Exp $'
 ! !
+
--- a/ChangesBrowser.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/ChangesBrowser.st	Mon Apr 01 14:07:29 2013 +0100
@@ -3475,6 +3475,10 @@
     ^ chunk
 !
 
+timeStampPrintStringOf:ts
+    ^ ts printString
+!
+
 unselect
     "common unselect"
 
@@ -6041,7 +6045,7 @@
     entry colAt:2 put:changeString.
     entry colAt:3 put:changeType.
     timeStampInfo notNil ifTrue:[
-        entry colAt:4 put:timeStampInfo.
+        entry colAt:4 put:(browser timeStampPrintStringOf:timeStampInfo).
     ].
     changeHeaderLines add:entry
 !
@@ -6562,11 +6566,11 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.434 2013-03-04 12:32:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.435 2013-03-31 11:57:41 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.434 2013-03-04 12:32:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.435 2013-03-31 11:57:41 cg Exp $'
 !
 
 version_HG
--- a/DebugView.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/DebugView.st	Mon Apr 01 14:07:29 2013 +0100
@@ -343,6 +343,36 @@
     "Created: / 06-03-2012 / 12:50:30 / cg"
 !
 
+isHaltToBeIgnoredIn:haltingMethod atLineNr:lineNrInHaltingMethod modifyEntryCount:modifyCount
+    "should a halt be ignored ?"
+
+    IgnoredHalts isNil ifTrue:[^ false].
+
+    "/ Transcript showCR:'halt/break in ',haltingMethod printString,' at ',lineNrInHaltingMethod printString.
+    IgnoredHalts do:[:ign |
+        (ign isHaltIgnoredInMethod:haltingMethod line:lineNrInHaltingMethod) ifTrue:[
+            Transcript show:'Debugger [info]: halt/break ignored in ', haltingMethod whoString.
+            Transcript show:' ('; show:ign; showCR:')'.
+
+            modifyCount ifTrue:[ ign decrementIgnoreCount ].
+            ign isHaltIgnored ifFalse:[
+                Transcript showCR:'Debugger [info]: no longer ignore halt in ', haltingMethod whoString.
+                IgnoredHalts remove:ign ifAbsent:[].
+            ].
+            ^ true.
+        ].
+    ].
+
+    IgnoredHalts := IgnoredHalts reject:[:ign | ign isActive not].
+    IgnoredHalts isEmpty ifTrue:[
+        IgnoredHalts := nil.
+    ].
+
+    ^ false.
+
+    "Modified (comment): / 06-03-2012 / 12:51:43 / cg"
+!
+
 removeInactiveIgnores
     IgnoredHalts notNil ifTrue:[
         IgnoredHalts := IgnoredHalts select:[:i | i isActive].
@@ -6002,6 +6032,10 @@
 
         haltingMethod := haltingContext method.
         lineNrOfHalt := haltingContext lineNumber.
+        (lineNrOfHalt isNil or:[lineNrOfHalt <= 0]) ifTrue:[ 
+            Transcript showCR:'no halt lineNr found'. 
+            ^ self 
+        ].
     ].
 
     self class
@@ -6262,7 +6296,7 @@
         "/ Transcript showCR:c.
     ].
 
-    ^ self
+    ^ self class
         isHaltToBeIgnoredIn:haltingMethod
         atLineNr:lineNrInHaltingMethod
         modifyEntryCount:true.
@@ -6271,36 +6305,6 @@
     "Modified: / 06-03-2012 / 12:54:09 / cg"
 !
 
-isHaltToBeIgnoredIn:haltingMethod atLineNr:lineNrInHaltingMethod modifyEntryCount:modifyCount
-    "should a halt be ignored ?"
-
-    IgnoredHalts isNil ifTrue:[^ false].
-
-    "/ Transcript showCR:'halt/break in ',haltingMethod printString,' at ',lineNrInHaltingMethod printString.
-    IgnoredHalts do:[:ign |
-        (ign isHaltIgnoredInMethod:haltingMethod line:lineNrInHaltingMethod) ifTrue:[
-            Transcript show:'Debugger [info]: halt/break ignored in ', haltingMethod whoString.
-            Transcript show:' ('; show:ign; showCR:')'.
-
-            modifyCount ifTrue:[ ign decrementIgnoreCount ].
-            ign isHaltIgnored ifFalse:[
-                Transcript showCR:'Debugger [info]: no longer ignore halt in ', haltingMethod whoString.
-                IgnoredHalts remove:ign ifAbsent:[].
-            ].
-            ^ true.
-        ].
-    ].
-
-    IgnoredHalts := IgnoredHalts reject:[:ign | ign isActive not].
-    IgnoredHalts isEmpty ifTrue:[
-        IgnoredHalts := nil.
-    ].
-
-    ^ false.
-
-    "Modified (comment): / 06-03-2012 / 12:51:43 / cg"
-!
-
 setContext:aContext
     "show calling chain from aContext in the walk-back listview"
 
@@ -8069,16 +8073,18 @@
             aStream nextPutAll:' until '.
             ignoreEndTime printOn:aStream.
         ] ifFalse:[
-            (ignoreCount > 0) ifTrue:[
-                aStream nextPutAll:' for '.
-                ignoreCount printOn:aStream.
-            ] ifFalse:[
-                (ignoreCount < 0) ifTrue:[
-                    aStream nextPutAll:' forEver'.
+            (ignoreCount notNil) ifTrue:[
+                (ignoreCount > 0) ifTrue:[
+                    aStream nextPutAll:' for '.
+                    ignoreCount printOn:aStream.
                 ] ifFalse:[
-                    aStream nextPutAll:' no longer'.
+                    (ignoreCount < 0) ifTrue:[
+                        aStream nextPutAll:' forEver'.
+                    ] ifFalse:[
+                        aStream nextPutAll:' no longer'.
+                    ].
                 ].
-            ].
+            ]
         ].
     ].
 
@@ -8123,9 +8129,9 @@
         ^ ignoreEndTime > Timestamp now
     ].
     ignoreCount notNil ifTrue:[
-        ^ ignoreCount > 0
-    ].
-    ^ false
+        ^ ignoreCount == -1 or:[ ignoreCount > 0 ]
+    ].
+    ^ true
 
     "Created: / 06-03-2012 / 12:39:46 / cg"
 !
@@ -8283,11 +8289,11 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.578 2013-03-27 19:29:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.579 2013-03-28 15:04:49 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.578 2013-03-27 19:29:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.579 2013-03-28 15:04:49 cg Exp $'
 !
 
 version_HG
--- a/DictionaryInspectorView.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/DictionaryInspectorView.st	Mon Apr 01 14:07:29 2013 +0100
@@ -44,6 +44,7 @@
 "
 ! !
 
+
 !DictionaryInspectorView methodsFor:'event handling'!
 
 keyPress:key x:x y:y
@@ -63,6 +64,7 @@
     super keyPress:key x:x y:y
 ! !
 
+
 !DictionaryInspectorView methodsFor:'initialization & release'!
 
 initialize
@@ -78,6 +80,7 @@
     hideNilValues := false.
 ! !
 
+
 !DictionaryInspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -176,6 +179,7 @@
                        ('-')
                        ('Owners'               showOwners     )
                        ('Ref Chains'           showReferences )
+                       ('Ref Chains to Key'    showReferencesToKey )
                        ('-')
                        ('Browse'                       browse                 )
                        ('Browse Class Hierarchy'       browseClassHierarchy   )
@@ -236,6 +240,7 @@
     "Modified: / 26-09-2012 / 13:20:59 / cg"
 ! !
 
+
 !DictionaryInspectorView methodsFor:'menu actions'!
 
 browse
@@ -379,8 +384,16 @@
             UserPreferences systemBrowserClass browseReferendsOf:(key asSymbol)
         ].
     ]
+!
+
+showReferencesToKey
+    self selectedKey class hasImmediateInstances ifTrue:[
+        ^ self warn:'Sorry - cannot show references to immediate objects'
+    ].
+    ObjectMemory displayRefChainTo:(self selectedKey)
 ! !
 
+
 !DictionaryInspectorView methodsFor:'private'!
 
 allNumericKeys
@@ -642,6 +655,7 @@
     ].
 ! !
 
+
 !DictionaryInspectorView methodsFor:'user interaction'!
 
 indexedValueAtIndex:idx
@@ -659,14 +673,15 @@
     inspectedObject at:key put:newValue.
 ! !
 
+
 !DictionaryInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.78 2013-01-17 10:48:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.79 2013-03-31 09:58:21 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.78 2013-01-17 10:48:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.79 2013-03-31 09:58:21 cg Exp $'
 !
 
 version_HG
--- a/InspectorView.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/InspectorView.st	Mon Apr 01 14:07:29 2013 +0100
@@ -1257,10 +1257,7 @@
 
     <resource: #programMenu>
 
-    |items m sel protocolMenu localProtocolMenu 
-     protocols protocolsSorted
-     selectorsByFirstCharacter alphaMenu
-     localSelectors|
+    |items m sel|
 
     sel := self selection.
 
@@ -1363,74 +1360,6 @@
         ].
     ].
 
-    protocols := Dictionary new.
-    selectorsByFirstCharacter := Dictionary new.
-    object class withAllSuperclassesDo:[:eachClass |
-        eachClass methodDictionary keysAndValuesDo:[:sel :m |
-            sel numArgs == 0 ifTrue:[
-                (protocols at:m category ifAbsentPut:[Set new]) add:sel.
-                (selectorsByFirstCharacter at:(sel first asString) ifAbsentPut:[Set new]) add:sel.
-            ]
-        ].
-    ].
-
-    protocolsSorted := protocols keys asArray sort.
-    protocolMenu := PopUpMenu
-                        labels:#('alphabetical' '=') , protocolsSorted
-                        selectors:#(nil nil) , protocolsSorted.
-
-    protocolMenu 
-        subMenuAt:'alphabetical'
-        put:[
-            |firstChars|
-
-            firstChars := selectorsByFirstCharacter keys asOrderedCollection sort.
-            alphaMenu := PopUpMenu
-                               labels:firstChars
-                               selector:#mmm 
-                               args:firstChars
-                               receiver:self.
-            firstChars do:[:ch |
-                alphaMenu
-                    subMenuAt:ch
-                    put:[
-                        |selectors sortedSelectors|
-
-                        selectors := selectorsByFirstCharacter at:ch.
-                        sortedSelectors := selectors asArray sort.
-                        protocolMenu := PopUpMenu
-                                            labels:sortedSelectors
-                                            selector:#letSelectedObjectPerform: 
-                                            args:sortedSelectors
-                                            receiver:self.
-                    ]
-            ].
-            alphaMenu
-        ].
-
-    protocolsSorted do:[:p |
-        protocolMenu 
-            subMenuAt:p 
-            put:[
-                |selectors sortedSelectors|
-
-                selectors := protocols at:p.
-                sortedSelectors := selectors asArray sort.
-                protocolMenu := PopUpMenu
-                                    labels:sortedSelectors
-                                    selector:#letSelectedObjectPerform: 
-                                    args:sortedSelectors
-                                    receiver:self.
-            ]
-    ].
-
-    localSelectors := object class methodDictionary keys asArray sort.
-    localProtocolMenu := PopUpMenu
-                        labels:localSelectors
-                        selector:#letSelectedObjectPerform: 
-                        args:localSelectors
-                        receiver:self.
-
     items := items , (self sortOrderItems).
     items := items , (self numberBaseItems).
 
@@ -1438,8 +1367,8 @@
           itemList:items
           resources:resources.
 
-    m subMenuAt:#protocolMenu put:protocolMenu.
-    m subMenuAt:#localProtocolMenu put:localProtocolMenu.
+    m subMenuAt:#protocolMenu put:(self protocolMenu).
+    m subMenuAt:#localProtocolMenu put:(self localProtocolMenu).
 
     (self theSingleSelectionIndex isNil) ifTrue:[
         m disableAll:#(doFollow doInspect doBasicInspect doNewInspect
@@ -1463,11 +1392,30 @@
         m disable:#browseMethodsClass
     ].
 
+    sel := nil. "/ release ref to sel; helps reference finder
+
     ^ m
 
     "Modified: / 20-07-2012 / 10:50:45 / cg"
 !
 
+localProtocolMenu
+    "return the menu for the inspected object's local implemented messages"
+
+    |localSelectors labels localProtocolMenu|
+
+    localSelectors := object class methodDictionary keys asArray sort.
+    "/ kludge: '-' and '=' are special in a menu
+    labels := localSelectors collect:[:sel | (#('-' '=') includes:sel) ifTrue:[' ',sel] ifFalse:[sel]].
+    localProtocolMenu := PopUpMenu
+                        labels:labels
+                        selector:#letSelectedObjectPerform: 
+                        args:localSelectors
+                        receiver:self.
+
+    ^ localProtocolMenu
+!
+
 numberBaseItems
     ^ {
         #('-') .
@@ -1595,6 +1543,74 @@
     ^ #()
 !
 
+protocolMenu
+    "return the menu for the inspected object's implemented messages"
+
+    |protocols protocolsSorted selectorsByFirstCharacter protocolMenu|
+
+    protocols := Dictionary new.
+    selectorsByFirstCharacter := Dictionary new.
+    object class withAllSuperclassesDo:[:eachClass |
+        eachClass methodDictionary keysAndValuesDo:[:sel :m |
+            sel numArgs == 0 ifTrue:[
+                (protocols at:m category ifAbsentPut:[Set new]) add:sel.
+                (selectorsByFirstCharacter at:(sel first asString) ifAbsentPut:[Set new]) add:sel.
+            ]
+        ].
+    ].
+
+    protocolsSorted := protocols keys asArray sort.
+    protocolMenu := PopUpMenu
+                        labels:#('alphabetical' '=') , protocolsSorted
+                        selectors:#(nil nil) , protocolsSorted.
+
+    protocolMenu 
+        subMenuAt:'alphabetical'
+        put:[
+            |firstChars alphaMenu|
+
+            firstChars := selectorsByFirstCharacter keys asOrderedCollection sort.
+            alphaMenu := PopUpMenu
+                               labels:firstChars
+                               selector:#mmm 
+                               args:firstChars
+                               receiver:self.
+            firstChars do:[:ch |
+                alphaMenu
+                    subMenuAt:ch
+                    put:[
+                        |selectors sortedSelectors|
+
+                        selectors := selectorsByFirstCharacter at:ch.
+                        sortedSelectors := selectors asArray sort.
+                        PopUpMenu
+                            labels:sortedSelectors
+                            selector:#letSelectedObjectPerform: 
+                            args:sortedSelectors
+                            receiver:self.
+                    ]
+            ].
+            alphaMenu
+        ].
+
+    protocolsSorted do:[:p |
+        protocolMenu 
+            subMenuAt:p 
+            put:[
+                |selectors sortedSelectors|
+
+                selectors := protocols at:p.
+                sortedSelectors := selectors asArray sort.
+                PopUpMenu
+                    labels:sortedSelectors
+                    selector:#letSelectedObjectPerform: 
+                    args:sortedSelectors
+                    receiver:self.
+            ]
+    ].
+    ^  protocolMenu
+!
+
 sortOrderItems
     object class instSize == 0 ifTrue:[ ^ #() ].
     ^ {
@@ -3489,10 +3505,10 @@
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.301 2013-03-26 11:18:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.302 2013-03-31 09:52:01 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.301 2013-03-26 11:18:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.302 2013-03-31 09:52:01 cg Exp $'
 ! !
 
--- a/Makefile	Sun Mar 31 18:03:22 2013 +0100
+++ b/Makefile	Mon Apr 01 14:07:29 2013 +0100
@@ -10,14 +10,9 @@
 include Make.spec
 include Make.proto
 
-BASE_CONF=osx_x
+BASE_CONF=osx_x/gcc
 BASE_CONF_VENDOR=mac
 CONF_PACKS=
 CONF_TOOLS=
 
 include ../rules/stdRules
-
-makefile: mf
-
-mf:
-	$(TOP)/rules/stmkmf
--- a/NewLauncher.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/NewLauncher.st	Mon Apr 01 14:07:29 2013 +0100
@@ -4161,6 +4161,10 @@
                             itemValue: [self migrateWindow:view];
                             enabled:(view windowGroup isModal not);
                             translateLabel: true).
+        submenu addItem:(MenuItem new
+                            label: 'Bring onto Screen...';
+                            itemValue: [self bringWindowOntoScreen:view];
+                            translateLabel: true).
 
         submenu addSeparator.
         submenu addItem:(MenuItem new
@@ -4990,11 +4994,11 @@
 !NewLauncher class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.455 2013-03-25 21:25:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.456 2013-03-28 18:19:30 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.455 2013-03-25 21:25:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.456 2013-03-28 18:19:30 cg Exp $'
 !
 
 version_HG
--- a/SystemBrowser.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/SystemBrowser.st	Mon Apr 01 14:07:29 2013 +0100
@@ -3033,13 +3033,19 @@
                     ]
                 ].
             ].
-
+            (Smalltalk classNamed:aSelectorString) notNil ifTrue:[
+                top20 := (OrderedCollection withAll:top20) addFirst:('>> Browse class ',aSelectorString,' <<'); yourself.
+            ].
             choice := Dialog 
                 choose:(title,' - none found.\\Browse implementors of a similar selector or cancel:' withCRs)
                 fromList:top20 
                 lines:10.
             choice notEmptyOrNil ifTrue:[
-                self browseImplementorsOf:choice in:aCollectionOfClasses ignoreCase:ignoreCase title:'Implementors of ',choice.
+                (choice startsWith:'>>') ifTrue:[
+                    self openInClass:(Smalltalk classNamed:aSelectorString) selector:nil.
+                ] ifFalse:[
+                    self browseImplementorsOf:choice in:aCollectionOfClasses ignoreCase:ignoreCase title:'Implementors of ',choice.
+                ]
             ].
             ^ nil
         ].
@@ -5989,7 +5995,7 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.310 2013-03-22 11:36:48 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.311 2013-03-30 00:09:35 cg Exp $'
 !
 
 version_HG
--- a/Tools_ClassList.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools_ClassList.st	Mon Apr 01 14:07:29 2013 +0100
@@ -1888,6 +1888,7 @@
     aClass isLoaded ifFalse:[
         "/ nm := nm,(' (?) ' colorizeAllWith:Color grey).
     ] ifTrue:[
+        aClass isAbstract ifTrue:[ nm := nm allItalic ].
         nm := nm,((' (%1+%2) ' bindWith:(aClass methodDictionary size) with:(aClass class methodDictionary size)) 
                         colorizeAllWith:self class pseudoEntryForegroundColor).
     ].
@@ -2026,10 +2027,10 @@
 !ClassList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.71 2013-03-13 23:56:35 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.72 2013-03-30 14:15:52 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.71 2013-03-13 23:56:35 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassList.st,v 1.72 2013-03-30 14:15:52 cg Exp $'
 ! !
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_HierarchicalClassList.st	Mon Apr 01 14:07:29 2013 +0100
@@ -0,0 +1,322 @@
+"
+ 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 }"
+
+ClassList subclass:#HierarchicalClassList
+	instanceVariableNames:'topClassHolder'
+	classVariableNames:'InheritedEntry'
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!HierarchicalClassList 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
+"
+    Like a ClassList, but shows classes hierarchical.
+
+    If topClassHolders value is non-nil, only that classes hierarchy
+    is shown.
+
+    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)
+"
+
+
+! !
+
+!HierarchicalClassList class methodsFor:'initialization'!
+
+initialize
+    InheritedEntry := '* inheritance *'
+
+    "Created: / 24.2.2000 / 20:19:19 / cg"
+! !
+
+!HierarchicalClassList class methodsFor:'queries-plugin'!
+
+aspectSelectors
+    ^ super aspectSelectors ,
+       #(  
+	  topClassHolder
+	)
+
+
+
+! !
+
+!HierarchicalClassList methodsFor:'accessing'!
+
+showMethodComplexity:aValueHolder
+
+    "Created: / 05-11-2007 / 17:15:35 / cg"
+!
+
+showMethodInheritance:aValueHolder
+
+    "Created: / 05-11-2007 / 17:15:23 / cg"
+!
+
+showMethodTypeIcon:aValueHolder
+
+    "Created: / 05-11-2007 / 17:15:42 / cg"
+! !
+
+!HierarchicalClassList methodsFor:'aspects'!
+
+methodVisibilityHolder:aValueHolder
+
+    "Created: / 05-11-2007 / 17:15:48 / cg"
+!
+
+topClassHolder
+    topClassHolder isNil ifTrue:[
+        topClassHolder := Object asValue.
+        topClassHolder addDependent:self
+    ].
+    ^ topClassHolder
+!
+
+topClassHolder:aValueHolder
+    |oldTopClass newTopClass|
+
+    oldTopClass := topClassHolder value.
+
+    topClassHolder notNil ifTrue:[
+        topClassHolder removeDependent:self
+    ].
+    topClassHolder := aValueHolder.
+
+    topClassHolder notNil ifTrue:[
+        topClassHolder isBehavior ifTrue:[self halt:'should not happen'].
+        topClassHolder addDependent:self.
+    ].
+
+    newTopClass := topClassHolder value.
+    newTopClass ~~ oldTopClass ifTrue:[
+        self enqueueDelayedUpdateList.
+    ].
+! !
+
+!HierarchicalClassList methodsFor:'change & update'!
+
+classDefinitionChanged:aClass
+    |prevTop prevSelection newSelection selectedClassesHolder|
+
+    listValid ifFalse:[^ self].
+    slaveMode value == true ifTrue:[
+	self invalidateList.
+	^ self.
+    ].
+
+    selectedClassesHolder := self selectedClasses.
+    prevSelection := selectedClassesHolder value copy.
+
+    prevTop := self topClassHolder value.
+    prevTop notNil ifTrue:[
+	(prevTop name = aClass name) ifTrue:[
+	    "/ forced update
+	    topClassHolder value:aClass.
+	] ifFalse:[
+	    (prevTop name = aClass class name) ifTrue:[
+		"/ forced update
+		topClassHolder value:aClass class.
+	    ]   
+	]
+    ].
+
+    "/ must update the list (notice, that the hierarchy might have changed..)
+
+    self updateList.
+
+    selectedClassesHolder value ~= prevSelection ifTrue:[
+	newSelection := prevSelection collect:[:eachOldClass | Smalltalk classNamed:(eachOldClass name)].
+	selectedClassesHolder value:newSelection.
+    ]
+
+    "Modified: / 26.2.2000 / 01:17:01 / cg"
+!
+
+classRemoved:aClass
+    |prevTop newTop prevSel nPrevSelected selectedClassesHolder newSelection wasMeta|
+
+    prevTop := self topClassHolder value.
+
+    prevTop notNil ifTrue:[
+	wasMeta := prevTop isMeta.
+	newTop := prevTop theNonMetaclass.
+	[newTop notNil and:[(Smalltalk at:newTop name) ~= newTop]] whileTrue:[
+	    newTop := newTop superclass.
+	].
+	wasMeta ifTrue:[
+	    newTop := newTop theMetaclass
+	].
+	newTop ~~ prevTop ifTrue:[
+	    self topClassHolder value:newTop.
+	].
+    ].
+
+    selectedClassesHolder := self selectedClasses.
+
+    "/ if there is a single selection,
+    "/ which is the old top, replace it.
+    prevSel := selectedClassesHolder value.
+    nPrevSelected := prevSel size.
+    nPrevSelected > 0 ifTrue:[
+	nPrevSelected == 1 ifTrue:[
+	    prevSel first == aClass ifTrue:[
+		newTop notNil ifTrue:[
+		    newSelection := Array with:newTop.
+		] ifFalse:[
+		    newSelection := #().
+		]
+	    ].
+	] ifFalse:[
+	    nPrevSelected ~~ 0 ifTrue:[
+		"/ clear the selection
+		newSelection := #().
+	    ]
+	].
+	newSelection notNil ifTrue:[
+	    selectedClassesHolder value:newSelection
+	].
+    ].
+
+    super classRemoved:aClass.
+! !
+
+!HierarchicalClassList methodsFor:'private'!
+
+addTo:aList whereSuperclassIs:aSuperclass
+    |theClasses|
+
+    aSuperclass isNil ifTrue:[
+	theClasses := Smalltalk allClasses select:[:cls | cls superclass isNil]
+    ] ifFalse:[
+	theClasses := aSuperclass subclasses.
+    ].
+    (self hideUnloadedClasses value) ifTrue:[
+	theClasses := theClasses select:[:cls | cls isLoaded].
+    ].
+
+    theClasses := theClasses asOrderedCollection sort:[:a :b | (a name ? '??') < (b name ? '??')].
+    theClasses do:[:aClass |
+	aList add:aClass.
+	self addTo:aList whereSuperclassIs:aClass
+    ].        
+!
+
+defaultSlaveModeValue
+    |mode|
+
+    mode := self topApplication perform:#initialOrganizerMode ifNotUnderstood:nil.
+    mode == OrganizerCanvas organizerModeClassHierarchy ifTrue:[^ false].
+    mode isNil ifTrue:[^ false].
+
+    self organizerMode value == OrganizerCanvas organizerModeCategory ifTrue:[^ true].
+    ^ false
+!
+
+listOfClasses
+    |classes top|
+
+    classes := OrderedCollection new.
+    (top := self topClassHolder value) notNil ifTrue:[
+	top := top theNonMetaclass.
+	classes addAll:(top withAllSuperclasses copy reverse).
+    ].
+    self addTo:classes whereSuperclassIs:top.
+    ^ classes
+
+    "Modified: / 24.2.2000 / 13:27:43 / cg"
+!
+
+nameListEntryFor:aClass withNameSpace:useFullName
+    |indent superClass nm|
+
+    aClass == (self class nameListEntryForALL) ifTrue:[ ^ aClass ].
+    aClass == InheritedEntry ifTrue:[ ^ aClass ].
+
+    nm := aClass nameInBrowser.
+    nm isNil ifTrue:[^ '???'].
+
+    aClass isLoaded ifFalse:[
+        "/ nm := nm,(' (?) ' colorizeAllWith:Color grey).
+    ] ifTrue:[
+        aClass isAbstract ifTrue:[ nm := nm allItalic ].
+        nm := nm,((' (%1+%2) ' bindWith:(aClass methodDictionary size) with:(aClass class methodDictionary size)) 
+                                colorizeAllWith:self class pseudoEntryForegroundColor).
+    ].
+
+    indent := 0.
+    superClass := aClass superclass.
+    [superClass notNil] whileTrue:[
+        indent := indent + 1.
+        superClass := superClass superclass.
+    ].
+
+    indent == 0 ifTrue:[
+        ^ nm
+    ].
+
+    indent <= 5 ifTrue:[
+        indent := #(
+                     ''
+                     '    '
+                     '        '
+                     '            '
+                     '                '
+                     '                    '
+                   ) at:indent+1.
+    ] ifFalse:[
+        indent := String new:indent*4 withAll:Character space.
+    ].
+    ^ indent , nm
+
+    "Modified: / 24.2.2000 / 20:19:47 / cg"
+!
+
+release
+    super release.
+
+    topClassHolder removeDependent:self.
+! !
+
+!HierarchicalClassList class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_HierarchicalClassList.st,v 1.11 2013-03-30 19:12:41 cg Exp $'
+! !
+
+
+HierarchicalClassList initialize!
--- a/Tools_MethodList.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools_MethodList.st	Mon Apr 01 14:07:29 2013 +0100
@@ -1403,84 +1403,80 @@
     selectedMethodsHolder := self selectedMethods.
     prevSelection := selectedMethodsHolder value ? #().
 
-    prevClasses := classes ifNil:[ #() ] ifNotNil:[ classes copy ].
+    prevClasses := classes isNil ifTrue:[ #() ] ifFalse:[ classes copy ].
 
     oldListSize := self browserNameList size.
 
-        self topApplication withWaitCursorDo:[
-            newList := self listOfMethodNames.
-        ].
-        newListSize := newList size.
-        sameContents := self updateListFor:newList.
+    self topApplication withWaitCursorDo:[
+        newList := self listOfMethodNames.
+    ].
+    newListSize := newList size.
+    sameContents := self updateListFor:newList.
 
-        sameContents ifFalse:[
-    "/            self browserNameList value:newList.
+    sameContents ifFalse:[
+"/      self browserNameList value:newList.
 
-            (prevSelection size == 0 
-            and:[selectedMethodsHolder value size ~~ 0]) ifTrue:[
-                "/ this happens during early startup time,
-                "/ when the selection is already (pre-)set,
-                "/ and the methodList is generated the first time
-                "/ (i.e. when opened with preset selection
+        (prevSelection size == 0 
+        and:[selectedMethodsHolder value size ~~ 0]) ifTrue:[
+            "/ this happens during early startup time,
+            "/ when the selection is already (pre-)set,
+            "/ and the methodList is generated the first time
+            "/ (i.e. when opened with preset selection
 
-                "/ do not clobber the selection in this case.
-                prevSelection := selectedMethodsHolder value.
-            ].
+            "/ do not clobber the selection in this case.
+            prevSelection := selectedMethodsHolder value.
+        ].
 
-            (methodList size == 0 or:[prevSelection size == 0]) ifTrue:[
-                newSelection := #()
-            ] ifFalse:[
-                methodSet := methodList.
+        (methodList size == 0 or:[prevSelection size == 0]) ifTrue:[
+            newSelection := #()
+        ] ifFalse:[
+            methodSet := methodList.
 
-                "/ inclusion test is much faster with sets, if the number of items is large
-                methodList size > 30 ifTrue:[
-                    "/ however, only if its worth building the set ...
-                    prevSelection size > 5 ifTrue:[
-                        methodSet := methodSet asIdentitySet.
-                    ]
-                ].
-                newSelection := prevSelection select:[:item | methodSet includesIdentical:item].
+            "/ intersect is much faster with sets, if the number of items is large
+            "/ however, only if its worth building the set ...
+            (methodSet size + prevSelection size) > 35 ifTrue:[
+                methodSet := methodSet asIdentitySet.
+            ].
+            newSelection := methodSet intersect:prevSelection.
+        ].
+        newSelection size > 0 ifTrue:[
+            newSelection size > 100 ifTrue:[
+                "/ need selection indices - might be expensive if done straight forward...
+                reverseMap := IdentityDictionary new.
+                methodList keysAndValuesDo:[:idx :mthd | reverseMap at:mthd put:idx].
+                newSelIdx := newSelection collect:[:mthd | reverseMap at:mthd].
+            ] ifFalse:[
+                newSelIdx := newSelection collect:[:mthd | methodList identityIndexOf:mthd]
+            ].
+"/ self halt.
+            "/ force change (for dependents)
+            newSelIdx ~= selectedMethodNameIndices value ifTrue:[
+                selectedMethodNameIndices value:newSelIdx.
             ].
-            newSelection size > 0 ifTrue:[
-                newSelection size > 100 ifTrue:[
-                    "/ need selection indices - might be expensive if done straight forward...
-                    reverseMap := IdentityDictionary new.
-                    methodList keysAndValuesDo:[:idx :mthd | reverseMap at:mthd put:idx].
-                    newSelIdx := newSelection collect:[:mthd | reverseMap at:mthd].
-                ] ifFalse:[
-                    newSelIdx := newSelection collect:[:mthd | methodList identityIndexOf:mthd]
-                ].
-"/ self halt.
-                "/ force change (for dependents)
-                newSelIdx ~= selectedMethodNameIndices value ifTrue:[
-                    selectedMethodNameIndices value:newSelIdx.
-                ].
-            ] ifFalse:[
-                lastSelectedMethods := selectedMethodsHolder value.
-                lastSelectedMethods notNil ifTrue:[
-                    lastSelectedMethods := lastSelectedMethods asOrderedCollection
-                ].
-                selectedMethodNameIndices value size > 0 ifTrue:[
-                    selectedMethodNameIndices value:#().
-                ]
+        ] ifFalse:[
+            lastSelectedMethods := selectedMethodsHolder value.
+            lastSelectedMethods notNil ifTrue:[
+                lastSelectedMethods := lastSelectedMethods asOrderedCollection
             ].
+            selectedMethodNameIndices value size > 0 ifTrue:[
+                selectedMethodNameIndices value:#().
+            ]
+        ].
 
-            newSelection ~= prevSelection ifTrue:[
+        newSelection ~= prevSelection ifTrue:[
+            self selectionChanged.
+        ]
+    ] ifTrue:[
+        "/ same list - but classes might have changed
+        "/ that is the case, if the class selection has been changed,
+        "/ to another class which has the same categories.
+
+        (prevClasses ~= (classes ? IdentitySet new)) ifTrue:[
+            (newListSize > 0 or:[oldListSize > 0]) ifTrue:[
                 self selectionChanged.
             ]
-        ] ifTrue:[
-            "/ same list - but classes might have changed
-            "/ that is the case, if the class selection has been changed,
-            "/ to another class which has the same categories.
-
-            (prevClasses size ~= classes size 
-            or:[prevClasses asOrderedCollection ~= (classes ? #()) asOrderedCollection ]) ifTrue:[
-                (newListSize > 0 or:[oldListSize > 0]) ifTrue:[
-                    self selectionChanged.
-                ]
-            ]
         ]
-    "/ ].
+    ]
 
     "Modified: / 05-03-2007 / 16:07:24 / cg"
 !
@@ -1810,10 +1806,10 @@
 !MethodList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.80 2013-03-27 19:29:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.81 2013-03-28 17:22:01 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.80 2013-03-27 19:29:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.81 2013-03-28 17:22:01 stefan Exp $'
 ! !
 
--- a/Tools__BreakpointBrowser.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__BreakpointBrowser.st	Mon Apr 01 14:07:29 2013 +0100
@@ -19,10 +19,10 @@
 		showHalts showOthers showAssertions showAssertionsInTests
 		showCodeBreakpoints showCodeBreakpointsFor showMethodBreakpoints
 		showLineBreakpoints showDebugCode codeView infoHolder
-		updateProcess showWhichHaltsHolder'
+		updateProcess showWhichHaltsHolder packageFilter classNameFilter'
 	classVariableNames:'MessagesAndTypes'
 	poolDictionaries:''
-	category:'Interface-Smalltalk-Breakpoints'
+	category:'Interface-Debugger'
 !
 
 Object subclass:#BreakpointListEntry
@@ -293,6 +293,19 @@
                   label: 'Browse'
                   itemValue: browseSelectedItem
                 )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  enabled: selectedItemIsIgnoredHalt
+                  label: 'Stop Ignoring this Halt'
+                  itemValue: reenableHalt
+                )
+               (MenuItem
+                  enabled: selectedItemIsEnabledLineBreak
+                  label: 'Disable this Breakpoint'
+                  itemValue: disableLineBreak
+                )
                )
               nil
               nil
@@ -410,6 +423,24 @@
             )
           )
          (MenuItem
+            label: 'Filter'
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Package Filter...'
+                  itemValue: openPackageFilterDialog
+                )
+               (MenuItem
+                  label: 'Class Filter...'
+                  itemValue: openClassFilterDialog
+                )
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
             label: 'Enable'
             submenu: 
            (Menu
@@ -531,7 +562,9 @@
          labelActionSelector: sortBy:
          labelActionArgument: 'type'
          width: 70
-         model: type
+         model: typeString
+         menuFromApplication: false
+         writeSelector: type:
          canSelect: false
        )
       (DataSetColumnSpec
@@ -568,18 +601,15 @@
          model: selector
          canSelect: false
        )
-"/      (DataSetColumnSpec
-"/         label: 'Line'
-"/         labelAlignment: left
-"/         activeHelpKey: ''
-"/         activeHelpKeyForLabel: ''
-"/         labelButtonType: Button
-"/         labelActionSelector: sortBy:
-"/         labelActionArgument: 'lineNumber'
-"/         width: 35
-"/         model: lineNumber
-"/         canSelect: false
-"/       )
+      (DataSetColumnSpec
+         label: 'Ign'
+         labelButtonType: Button
+         columnAlignment: center
+         width: 50
+         model: isIgnoredString
+         menuFromApplication: false
+         writeSelector: isIgnored:
+       )
       (DataSetColumnSpec
          label: 'Info'
          labelAlignment: left
@@ -592,6 +622,7 @@
          canSelect: false
        )
       )
+    
 !
 
 tableColumns_v1
@@ -864,16 +895,18 @@
 !
 
 selectedItemIsEnabledLineBreak
-    |entry|
+    |selIndex entry|
 
-    entry := (self breakpointListEntryAtIndex:self selectionIndexHolder value).
+    (selIndex := self selectionIndexHolder value) isNil ifTrue:[^ false].
+    entry := self breakpointListEntryAtIndex:selIndex.
     ^ entry isLineBreakpoint and:[entry breakPoint isEnabled]
 !
 
 selectedItemIsIgnoredHalt
-    |entry info|
+    |selIndex entry info|
 
-    entry := (self breakpointListEntryAtIndex:self selectionIndexHolder value).
+    (selIndex := self selectionIndexHolder value) isNil ifTrue:[^ false].
+    entry := self breakpointListEntryAtIndex:selIndex.
     info := Debugger haltIgnoreInformationFor:(entry method) atLineNr:(entry lineNumber).
     ^ info notNil and:[ info isHaltIgnored ].
 !
@@ -995,6 +1028,13 @@
 
     newList := breakpointList.
 
+    classNameFilter notEmptyOrNil ifTrue:[
+        newList := newList select:[:entry | entry relatedToClass:classNameFilter].
+    ].
+    packageFilter notEmptyOrNil ifTrue:[
+        newList := newList select:[:entry | entry relatedToPackage:packageFilter].
+    ].
+
     self showOthers ifFalse:[
         newList := newList reject:[:entry | entry isOther].
     ].
@@ -1537,25 +1577,25 @@
 !
 
 aMethodWith_assert2
-    "only here for demonstration purposes - should be found in the list"
+    "only here for demonstration purposes - should be found in the breakpoint browser''s list"
 
     self assert:(3 > 4) message:'well - that ought to work'
 !
 
 aMethodWith_breakPoint
-    "only here for demonstration purposes - should be found in the list"
+    "only here for demonstration purposes - should be found in the breakpoint browser''s list"
 
     self breakPoint:#cg
 !
 
 aMethodWith_breakPoint2
-    "only here for demonstration purposes - should be found in the list"
+    "only here for demonstration purposes - should be found in the breakpoint browser''s list"
 
     self breakPoint:#cg info:'hello there'
 !
 
 aMethodWith_debugCode
-    "only here for demonstration purposes - should be found in the list"
+    "only here for demonstration purposes - should be found in the breakpoint browser''s list"
 
     self 
         debuggingCodeFor:#cg
@@ -1566,7 +1606,7 @@
 !
 
 aMethodWith_halt
-    "only here for demonstration purposes - should be found in the list"
+    "only here for demonstration purposes - should be found in the breakpoint browser''s list"
 
     self halt
 
@@ -1580,13 +1620,13 @@
 !
 
 aMethodWith_halt2
-    "only here for demonstration purposes - should be found in the list"
+    "only here for demonstration purposes - should be found in the breakpoint browser''s list"
 
     self halt:'some message'
 !
 
 aMethodWith_todo
-    "only here for demonstration purposes - should be found in the list"
+    "only here for demonstration purposes - should be found in the breakpoint browser''s list"
 
     self todo
 ! !
@@ -1614,10 +1654,41 @@
     "Modified: / 18-02-2007 / 12:56:30 / cg"
 !
 
+openClassFilterDialog
+    |nameOrPattern|
+
+    nameOrPattern := Dialog 
+                        requestClassName:'Only show breakpoints for class(es) matching (empty to show all):'
+                        initialAnswer:(classNameFilter ? '*').
+    nameOrPattern isNil ifTrue:[^ self].    "/ cancel
+    (nameOrPattern isEmpty or:[nameOrPattern = '*']) ifTrue:[
+        classNameFilter := nil.
+    ] ifFalse:[    
+        classNameFilter := nameOrPattern.
+    ].
+    self updateShownBreakpointList
+!
+
 openDocumentation
     HTMLDocumentView openFullOnDocumentationFile:'tools/misc/TOP.html#BREAKPOINTLIST'.
 !
 
+openPackageFilterDialog
+    |nameOrPattern|
+
+    nameOrPattern := Dialog 
+                        request:'Only show breakpoints for code in package(s) matching (empty to show all):'
+                        list:(Smalltalk allProjectIDs)
+                        initialAnswer:(packageFilter ? '*').
+    nameOrPattern isNil ifTrue:[^ self].    "/ cancel
+    (nameOrPattern isEmpty or:[nameOrPattern = '*']) ifTrue:[
+        packageFilter := nil.
+    ] ifFalse:[    
+        packageFilter := nameOrPattern.
+    ].
+    self updateShownBreakpointList
+!
+
 resort
     |sortBlock sortBlock1|
 
@@ -1727,6 +1798,18 @@
     ^ ignoredInfo ? info
 !
 
+isIgnored
+    type == #halt ifTrue:[
+        ^ (Debugger haltIgnoreInformationFor:self method atLineNr:lineNumber) notNil
+    ].
+    ^ false
+!
+
+isIgnoredString
+    self isIgnored ifTrue:[^ 'Yes'].
+    ^ ''
+!
+
 lineNumber
     ^ lineNumber
 !
@@ -1747,6 +1830,14 @@
     lineNumber := lineNumberArg.
     info := infoArg.
     enabled := enabledArg.
+!
+
+typeString
+"/ loks ugly
+"/    self isIgnored ifTrue:[
+"/        ^ type asText allStrikedOut
+"/    ].
+    ^ type
 ! !
 
 
@@ -1770,6 +1861,28 @@
 ! !
 
 
+!BreakpointBrowser::BreakpointListEntry methodsFor:'queries'!
+
+relatedToClass:aClassNamePattern
+    className isNil ifTrue:[^ true].
+    (aClassNamePattern includesMatchCharacters) ifTrue:[
+         ^ aClassNamePattern match: className
+    ].
+    ^ className startsWith:aClassNamePattern
+!
+
+relatedToPackage:aPackagePattern
+    |mthd package|
+
+    (mthd := self method) isNil ifTrue:[^ false].
+    package := mthd package.
+    (aPackagePattern includesMatchCharacters) ifTrue:[
+         ^ aPackagePattern match: package
+    ].
+    ^ package startsWith:aPackagePattern
+! !
+
+
 !BreakpointBrowser::BreakpointListEntry methodsFor:'testing'!
 
 isAssertion
@@ -1880,11 +1993,11 @@
 !BreakpointBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.40 2013-03-26 00:43:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.44 2013-03-30 15:57:52 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.40 2013-03-26 00:43:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointBrowser.st,v 1.44 2013-03-30 15:57:52 cg Exp $'
 !
 
 version_HG
--- a/Tools__ChangeList.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__ChangeList.st	Mon Apr 01 14:07:29 2013 +0100
@@ -27,7 +27,7 @@
 
 "{ NameSpace: Tools }"
 
-BrowserListWithFilter subclass:#ChangeList
+Tools::BrowserListWithFilter subclass:#ChangeList
 	instanceVariableNames:'listHolder showRemovedHolder showSameHolder showTimestampHolder
 		allowRemoveHolder allowAcceptHolder scrollToBottom applyAction'
 	classVariableNames:'LastSelectionConditionString'
@@ -72,6 +72,7 @@
 "
 ! !
 
+
 !ChangeList class methodsFor:'image specs'!
 
 iconEqual
@@ -110,6 +111,7 @@
     "Modified: / 31-08-2011 / 10:54:46 / cg"
 ! !
 
+
 !ChangeList class methodsFor:'interface specs'!
 
 windowSpec
@@ -181,6 +183,7 @@
       )
 ! !
 
+
 !ChangeList class methodsFor:'list specs'!
 
 listColumnSpec
@@ -294,6 +297,7 @@
 
 ! !
 
+
 !ChangeList class methodsFor:'menu specs'!
 
 listMenu
@@ -313,109 +317,115 @@
 
     ^
      #(Menu
-	(
-	 (MenuItem
-	    enabled: hasChangeSelectedAndNotRemoved
-	    label: 'Apply'
-	    itemValue: listMenuApply
-	    translateLabel: true
-	    isVisible: allowAcceptHolder
-	    shortcutKey: Accept
-	  )
-	 (MenuItem
-	    label: 'Apply all'
-	    itemValue: listMenuApplyAll
-	    translateLabel: true
-	    isVisible: allowAcceptHolder
-	  )
-	 (MenuItem
-	    enabled: hasSingleChangeSelectedAndCanBrowse
-	    label: 'Browse'
-	    itemValue: listMenuBrowse
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    label: 'Delete'
-	    itemValue: listMenuDeleteSelection
-	    nameKey: Delete
-	    translateLabel: true
-	    isVisible: allowRemoveHolder
-	    shortcutKey: Delete
-	  )
-	 (MenuItem
-	    label: '-'
-	    isVisible: allowRemoveHolder
-	  )
-	 (MenuItem
-	    label: 'Select...'
-	    translateLabel: true
-	    submenu:
-	   (Menu
-	      (
-	       (MenuItem
-		  label: 'Select same'
-		  itemValue: listMenuSelectSame
-		  translateLabel: true
-		)
-	       (MenuItem
-		  label: 'Select additions (new classes/methods)'
-		  itemValue: listMenuSelectAdditions
-		  translateLabel: true
-		)
-	       (MenuItem
-		  label: 'Select removals'
-		  itemValue: listMenuSelectRemovals
-		  translateLabel: true
-		)
-	       (MenuItem
-		  label: '-'
-		)
-	       (MenuItem
-		  label: 'Select all'
-		  itemValue: listMenuSelectAll
-		  translateLabel: true
-		)
-	       (MenuItem
-		  label: 'Select none'
-		  itemValue: listMenuSelectNone
-		  translateLabel: true
-		)
-	       (MenuItem
-		  label: '-'
-		)
-	       (MenuItem
-		  label: 'Select using block'
-		  itemValue: listMenuSelectUsingBlock
-		  translateLabel: true
-		)
-	       )
-	      nil
-	      nil
-	    )
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    label: 'Show Deleted'
-	    translateLabel: true
-	    isVisible: allowRemoveHolder
-	    indication: showRemovedHolder
-	  )
-	 (MenuItem
-	    label: 'Inspect change'
-	    itemValue: listMenuInspect
-	    translateLabel: true
-	  )
-	 )
-	nil
-	nil
+        (
+         (MenuItem
+            enabled: hasChangeSelectedAndNotRemoved
+            label: 'Apply'
+            itemValue: listMenuApply
+            translateLabel: true
+            isVisible: allowAcceptHolder
+            shortcutKey: Accept
+          )
+         (MenuItem
+            label: 'Apply all'
+            itemValue: listMenuApplyAll
+            translateLabel: true
+            isVisible: allowAcceptHolder
+          )
+         (MenuItem
+            enabled: hasSingleChangeSelectedAndCanBrowse
+            label: 'Browse'
+            itemValue: listMenuBrowse
+            translateLabel: true
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            label: 'Delete'
+            itemValue: listMenuDeleteSelection
+            nameKey: Delete
+            translateLabel: true
+            isVisible: allowRemoveHolder
+            shortcutKey: Delete
+          )
+         (MenuItem
+            label: '-'
+            isVisible: allowRemoveHolder
+          )
+         (MenuItem
+            label: 'Select...'
+            translateLabel: true
+            submenu:
+           (Menu
+              (
+               (MenuItem
+                  label: 'Select same'
+                  itemValue: listMenuSelectSame
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: 'Select conflicts (redefined classes/methods)'
+                  itemValue: listMenuSelectConflicts
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: 'Select additions (new classes/methods)'
+                  itemValue: listMenuSelectAdditions
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: 'Select removals'
+                  itemValue: listMenuSelectRemovals
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Select all'
+                  itemValue: listMenuSelectAll
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: 'Select none'
+                  itemValue: listMenuSelectNone
+                  translateLabel: true
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Select using block'
+                  itemValue: listMenuSelectUsingBlock
+                  translateLabel: true
+                )
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            label: 'Show Deleted'
+            translateLabel: true
+            isVisible: allowRemoveHolder
+            indication: showRemovedHolder
+          )
+         (MenuItem
+            label: 'Inspect change'
+            itemValue: listMenuInspect
+            translateLabel: true
+          )
+         )
+        nil
+        nil
       )
 ! !
 
+
 !ChangeList class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -444,6 +454,7 @@
 
 ! !
 
+
 !ChangeList methodsFor:'accessing'!
 
 acceptEnabled
@@ -525,6 +536,7 @@
     "Created: / 05-12-2009 / 14:28:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'actions'!
 
 selectionDoubleclicked
@@ -540,6 +552,7 @@
     "Modified: / 24-01-2012 / 22:01:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'aspects'!
 
 allowAcceptHolder
@@ -702,6 +715,7 @@
     ].
 ! !
 
+
 !ChangeList methodsFor:'change & update'!
 
 update: aspect with: param from: sender
@@ -737,6 +751,7 @@
     "Modified: / 26-07-2012 / 18:44:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'drag & drop'!
 
 canDrop: aDropContext
@@ -768,8 +783,13 @@
     "Modified: / 01-08-2012 / 18:15:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'event processing'!
 
+
+
+
+
 handlesKeyPress:key inView:aView
     <resource: #keyboard (#Accept #Ctrls)>
 
@@ -788,6 +808,7 @@
     "Created: / 08-02-2012 / 14:42:18 / cg"
 ! !
 
+
 !ChangeList methodsFor:'generators'!
 
 makeGenerator
@@ -806,6 +827,7 @@
     "Modified: / 25-07-2012 / 15:39:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'hooks'!
 
 postBuildListView: aView
@@ -816,6 +838,7 @@
     "Created: / 29-11-2011 / 14:56:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'initialization'!
 
 initialize
@@ -830,6 +853,7 @@
     "Created: / 29-10-2010 / 12:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'menu actions'!
 
 listMenuApply
@@ -1004,6 +1028,7 @@
     self updateList
 ! !
 
+
 !ChangeList methodsFor:'private'!
 
 application
@@ -1143,6 +1168,7 @@
     "Modified: / 01-08-2012 / 18:10:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList methodsFor:'queries'!
 
 hasChangeSelected
@@ -1181,6 +1207,7 @@
     "Created: / 03-04-2012 / 11:28:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList::ListEntry class methodsFor:'instance creation'!
 
 change: aChange
@@ -1204,6 +1231,7 @@
     "Created: / 25-07-2009 / 23:33:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
+
 !ChangeList::ListEntry methodsFor:'accessing'!
 
 application
@@ -1387,6 +1415,7 @@
     ^ x
 ! !
 
+
 !ChangeList::ListEntry methodsFor:'displaying'!
 
 displayLabel:aLabel h:lH on:aGC x:newX y:y h:h
@@ -1423,6 +1452,7 @@
     "Modified: / 27-07-2012 / 17:13:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !ChangeList::ListEntry methodsFor:'private'!
 
 iconSelector
@@ -1438,6 +1468,7 @@
     "Modified: / 31-08-2011 / 10:39:32 / cg"
 ! !
 
+
 !ChangeList::ListEntry methodsFor:'protocol-queries'!
 
 hasChildren
@@ -1447,14 +1478,15 @@
     "Modified (format): / 27-07-2012 / 21:25:34 / cg"
 ! !
 
+
 !ChangeList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.20 2013-01-17 10:40:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.21 2013-03-30 01:59:17 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.20 2013-01-17 10:40:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeList.st,v 1.21 2013-03-30 01:59:17 cg Exp $'
 !
 
 version_HG
--- a/Tools__ChangeSetBrowser2.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__ChangeSetBrowser2.st	Mon Apr 01 14:07:29 2013 +0100
@@ -1558,6 +1558,10 @@
                   indication: showSameAspect
                 )
                (MenuItem
+                  label: 'Show Conflicts Only'
+                  indication: showConflictsOnlyAspect
+                )
+               (MenuItem
                   label: '-'
                 )
                (MenuItem
@@ -2167,11 +2171,11 @@
     <resource: #uiAspect>
 
     navigatorSpecHolder isNil ifTrue:[
-	navigatorSpecHolder := ValueHolder with:
-						    "/#hierarchicalNavigatorSpec
-						    "/#twoColumnNavigatorSpec
-						    #oneColumnNavigatorSpec.
-	navigatorSpecHolder addDependent: self.
+        navigatorSpecHolder := ValueHolder with:
+                                                    "/#hierarchicalNavigatorSpec
+                                                    "/#twoColumnNavigatorSpec
+                                                    #oneColumnNavigatorSpec.
+        navigatorSpecHolder addDependent: self.
 
     ].
     ^ navigatorSpecHolder.
@@ -2407,30 +2411,56 @@
 !
 
 selectionChanged
-    | listEntry change |
+    | listEntry change srcImage srcChange|
 
     listEntry := self theSingleSelectedChange.
     (listEntry notNil and:[(change := listEntry change) isCompositeChange not]) ifTrue:[
-	self classHolder value: listEntry changeClass.
-	changeSourceHolder setValue: change changeSource; changed: #value.
-	imageSourceHolder setValue: change imageSource; changed: #value.
-
-	codeAspectHolder value:
-	    (change isMethodCodeChange
-		  ifTrue:[SyntaxHighlighter codeAspectMethod]
-		ifFalse:[SyntaxHighlighter codeAspectExpression]).
-
-	self showSource: true
+        codeAspectHolder setValue:
+            (change isMethodCodeChange
+                ifTrue:[SyntaxHighlighter codeAspectMethod]
+                ifFalse:[
+                    (change isClassDefinitionChange
+                        ifTrue:[SyntaxHighlighter codeAspectClassDefinition]   
+                        ifFalse:[SyntaxHighlighter codeAspectExpression])]).
+        self classHolder value: change changeClass.
+        changeSourceHolder setValue: change changeSource"; changed: #value".
+        srcImage := change imageSource.
+        srcChange := change changeSource.
+        srcImage = srcChange ifTrue:[
+            imageSourceHolder setValue: nil"; changed: #value".
+        ] ifFalse:[
+            imageSourceHolder setValue: srcImage"; changed: #value".
+
+            "/ check agan, based on parser (ignoring indentation)
+            change isClassDefinitionChange ifTrue:[
+                |parseError treeA treeB|
+
+                (srcImage notEmptyOrNil and:[ srcChange notEmptyOrNil ]) ifTrue:[
+                    parseError := false.
+                    treeA := RBParser parseExpression:srcImage onError: [:str :pos | parseError := true].
+                    treeB := RBParser parseExpression:srcChange onError: [:str :pos | parseError := true].
+                    parseError ifFalse:[
+                        (treeA equalTo:treeB withMapping:(Dictionary  new)) ifTrue:[
+                            imageSourceHolder setValue: nil
+                        ]
+                    ]
+                ]
+            ].
+        ].
+        changeSourceHolder changed.
+        imageSourceHolder changed.
+        codeAspectHolder changed.
+
+        self showSource: true
     ] ifFalse:[
-	self showSource: false.
-	self classHolder value: nil.
-	changeSourceHolder setValue: nil; changed: #value.
-	imageSourceHolder setValue: nil; changed: #value.
+        self showSource: false.
+        self classHolder value: nil.
+        changeSourceHolder setValue: nil; changed: #value.
+        imageSourceHolder setValue: nil; changed: #value.
     ].
 
     "Created: / 24-10-2009 / 19:49:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 25-07-2012 / 17:43:30 / cg"
-    "Modified: / 10-09-2012 / 10:35:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-07-2012 / 23:42:46 / cg"
 !
 
 showingRegularChangesetChanged
@@ -3821,11 +3851,11 @@
 !ChangeSetBrowser2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.44 2013-03-26 00:01:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.46 2013-03-30 19:11:41 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.44 2013-03-26 00:01:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ChangeSetBrowser2.st,v 1.46 2013-03-30 19:11:41 cg Exp $'
 !
 
 version_HG
--- a/Tools__InlineMessageDialog.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__InlineMessageDialog.st	Mon Apr 01 14:07:29 2013 +0100
@@ -106,6 +106,7 @@
 "
 ! !
 
+
 !InlineMessageDialog class methodsFor:'accessing-colors'!
 
 defaultInformationBackground
@@ -122,6 +123,7 @@
     "Created: / 10-04-2012 / 19:30:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog class methodsFor:'interface specs'!
 
 messageInfoSpec
@@ -315,12 +317,14 @@
       )
 ! !
 
+
 !InlineMessageDialog class methodsFor:'others'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.7 2012-05-17 15:31:22 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.11 2013-03-31 20:32:27 cg Exp $'
 ! !
 
+
 !InlineMessageDialog methodsFor:'accessing'!
 
 backgroundColor: aColor
@@ -358,6 +362,7 @@
     "Created: / 28-10-2010 / 18:24:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'accessing-presentation'!
 
 changeLayoutUponShowHide: aBoolean
@@ -372,6 +377,7 @@
     "Modified (comment): / 17-05-2012 / 13:56:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'actions'!
 
 doAbort
@@ -417,6 +423,7 @@
     "Modified: / 31-03-2013 / 18:02:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'adding & removing components'!
 
 addButton: aButton
@@ -518,6 +525,7 @@
     "Created: / 11-04-2012 / 00:51:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'aspects'!
 
 backgroundColorHolder
@@ -629,6 +637,7 @@
     "Modified: / 28-10-2010 / 18:29:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'change & update'!
 
 update:aspect with:parameter from:changedObject
@@ -643,6 +652,7 @@
     "Modified: / 10-04-2012 / 19:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'hooks'!
 
 commonPostBuild
@@ -671,6 +681,7 @@
     "Created: / 10-02-2012 / 10:42:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'private'!
 
 getMyView
@@ -769,6 +780,7 @@
     "Created: / 29-10-2010 / 11:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'utilities'!
 
 reset
@@ -863,6 +875,7 @@
     "Created: / 11-04-2012 / 13:38:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog methodsFor:'utilities-obsolete'!
 
 information: message 
@@ -931,15 +944,16 @@
     "Created: / 13-02-2012 / 16:59:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !InlineMessageDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.7 2012-05-17 15:31:22 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.11 2013-03-31 20:32:27 cg Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN
--- a/Tools__NewSystemBrowser.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__NewSystemBrowser.st	Mon Apr 01 14:07:29 2013 +0100
@@ -15,35 +15,35 @@
 
 SystemBrowser subclass:#NewSystemBrowser
 	instanceVariableNames:'navigationState bufferNameList selectedBuffer buffers
-		bufferUsageOrder browserCanvas immediateUpdate showClassPackages
-		lastMethodCategory lastMethodMoveClass browserCanvasType
-		syntaxColoringProcessRunning syntaxColoringProcess
-		methodInfoProcess browsletShowHideLabelHolder browserPageCanvas
-		isEmbedded'
+                bufferUsageOrder browserCanvas immediateUpdate showClassPackages
+                lastMethodCategory lastMethodMoveClass browserCanvasType
+                syntaxColoringProcessRunning syntaxColoringProcess
+                methodInfoProcess browsletShowHideLabelHolder browserPageCanvas
+                isEmbedded'
 	classVariableNames:'LastNewProtocols LastProtocolRenames LastCategoryRenames
-		LastCategoryRenameOld LastCategoryRenameNew LastProjectMoves
-		LastNameSpaceMove LastMethodMoveOrCopyTargetClass
-		LastClassFilterBlockString LastMethodFilterBlockString
-		LastBreakPointConditionString LastIndividualChecks
-		LastAcceptPackage LastVariableRenames LastVisitorClassName
-		LastTemporaryVariableName BookMarks FindHistory
-		CheckForInstancesWhenRemovingClasses SynchronousUpdate
-		DoubleClickIsOpenBrowser ShowMethodTemplateWhenProtocolIsSelected
-		DefaultShowMethodTemplate DefaultShowMethodInheritance
-		DefaultEmphasizeUnloadedClasses DefaultImmediateSyntaxColoring
-		DefaultImmediateExplaining DefaultSyntaxColoring
-		DefaultToolBarVisible DefaultCodeInfoVisible
-		DefaultShortNameInTabs DefaultHideUnloadedClasses
-		DefaultMarkApplications DefaultAutoFormat
-		DefaultShowMethodComplexity DefaultShowMethodTypeIcon
-		DefaultShowSpecialResourceEditors SharedMethodCategoryCache
-		LastMethodProcessingBlockString LastLoadedPackages
-		DefaultShortAllClassesInNameSpaceOrganisation LastTag
-		LastBaseVersionTag DefaultShowPseudoProtocols
-		DefaultShowMultitabMode LastRenamedOld LastRenamedNew
-		LastImportedPackage LastLintRules NewNavigationHistory
-		DefaultSortByNameAndInheritance LastLiteralReplacementType
-		LastLiteralReplacementNewName LastLiteralReplacementOldLiteral
+                LastCategoryRenameOld LastCategoryRenameNew LastProjectMoves
+                LastNameSpaceMove LastMethodMoveOrCopyTargetClass
+                LastClassFilterBlockString LastMethodFilterBlockString
+                LastBreakPointConditionString LastIndividualChecks
+                LastAcceptPackage LastVariableRenames LastVisitorClassName
+                LastTemporaryVariableName BookMarks FindHistory
+                CheckForInstancesWhenRemovingClasses SynchronousUpdate
+                DoubleClickIsOpenBrowser ShowMethodTemplateWhenProtocolIsSelected
+                DefaultShowMethodTemplate DefaultShowMethodInheritance
+                DefaultEmphasizeUnloadedClasses DefaultImmediateSyntaxColoring
+                DefaultImmediateExplaining DefaultSyntaxColoring
+                DefaultToolBarVisible DefaultCodeInfoVisible
+                DefaultShortNameInTabs DefaultHideUnloadedClasses
+                DefaultMarkApplications DefaultAutoFormat
+                DefaultShowMethodComplexity DefaultShowMethodTypeIcon
+                DefaultShowSpecialResourceEditors SharedMethodCategoryCache
+                LastMethodProcessingBlockString LastLoadedPackages
+                DefaultShortAllClassesInNameSpaceOrganisation LastTag
+                LastBaseVersionTag DefaultShowPseudoProtocols
+                DefaultShowMultitabMode LastRenamedOld LastRenamedNew
+                LastImportedPackage LastLintRules NewNavigationHistory
+                DefaultSortByNameAndInheritance LastLiteralReplacementType
+                LastLiteralReplacementNewName LastLiteralReplacementOldLiteral
 		LastNewProjectType DefaultShowSyntheticMethods
 		LastClassProcessingBlockString RecentlyClosedList
 		LastClassSearchBoxShowedFullName'
@@ -3333,181 +3333,181 @@
 
     ^
      #(FullSpec
-	name: #'protocolAndMethodListSpec_Both'
-	window:
+        name: #'protocolAndMethodListSpec_Both'
+        window:
        (WindowSpec
-	  label: 'Protocol and Method List'
-	  name: 'Protocol and Method List'
-	  min: (Point 0 0)
-	  bounds: (Rectangle 0 0 498 456)
-	  icon: defaultIcon
-	)
-	component:
+          label: 'Protocol and Method List'
+          name: 'Protocol and Method List'
+          min: (Point 0 0)
+          bounds: (Rectangle 0 0 498 456)
+          icon: defaultIcon
+        )
+        component:
        (SpecCollection
-	  collection: (
-	   (VariableHorizontalPanelSpec
-	      name: 'Lists'
-	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-	      barWidth: 2
-	      showHandle: false
-	      component:
-	     (SpecCollection
-		collection: (
-		 (SubCanvasSpec
-		    name: 'MethodCategoryList'
-		    majorKey: MethodCategoryList
-		    subAspectHolders:
-		   (Array
-
-		     (SubChannelInfoSpec
-			subAspect: showCoverageInformation
-			aspect: showCoverageInformation
-		      )
-		     (SubChannelInfoSpec
-			subAspect: showPseudoProtocols
-			aspect: showPseudoProtocols
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: immediateUpdate
-			aspect: immediateUpdate
-		      )
-		     (SubChannelInfoSpec
-			subAspect: inGeneratorHolder
-			aspect: protocolListGenerator
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: doubleClickChannel
-			callBack: protocolDoubleClicked
-		      )
-		     (SubChannelInfoSpec
-			subAspect: menuHolder
-			aspect: protocolMenu
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: outGeneratorHolder
-			aspect: selectorListGenerator
-		      )
-		     (SubChannelInfoSpec
-			subAspect: packageFilter
-			aspect: packageFilter
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: selectedProtocols
-			aspect: selectedProtocols
-			callBack: protocolSelectionChanged
-		      )
-		     (SubChannelInfoSpec
-			subAspect: selectionChangeCondition
-			aspect: selectionChangeConditionHolder
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: variableFilter
-			aspect: variableFilter
-			callBack: variableSelectionChanged
-		      )
-		     (SubChannelInfoSpec
-			subAspect: filterClassVars
-			aspect: filterClassVars
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: methodVisibilityHolder
-			aspect: methodVisibilityHolder
-		      )
-		    )
-		    createNewApplication: true
-		    createNewBuilder: true
-		    postBuildCallback: methodCategoryList:
-		  )
-		 (SubCanvasSpec
-		    name: 'MethodList'
-		    majorKey: MethodList
-		    subAspectHolders:
-		   (Array
-
-		     (SubChannelInfoSpec
-			subAspect: showCoverageInformation
-			aspect: showCoverageInformation
-		      )
-		     (SubChannelInfoSpec
-			subAspect: doubleClickChannel
-			callBack: methodDoubleClicked
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: immediateUpdate
-			aspect: immediateUpdate
-		      )
-		     (SubChannelInfoSpec
-			subAspect: inGeneratorHolder
-			aspect: selectorListGenerator
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: menuHolder
-			aspect: selectorPopUpMenu
-		      )
-		     (SubChannelInfoSpec
-			subAspect: packageFilter
-			aspect: packageFilter
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: selectedMethods
-			aspect: selectedMethods
-			callBack: methodsSelectionChanged
-		      )
-		     (SubChannelInfoSpec
-			subAspect: selectionChangeCondition
-			aspect: selectionChangeConditionHolder
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: variableFilter
-			aspect: variableFilter
-			callBack: variableSelectionChanged
-		      )
-		     (SubChannelInfoSpec
-			subAspect: showMethodInheritance
-			aspect: showMethodInheritance
-		      )
-
-		     (SubChannelInfoSpec
-			subAspect: showMethodComplexity
-			aspect: showMethodComplexity
-		      )
-		     (SubChannelInfoSpec
-			subAspect: showMethodTypeIcon
-			aspect: showMethodTypeIcon
-		      )
+          collection: (
+           (VariableHorizontalPanelSpec
+              name: 'Lists'
+              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+              barWidth: 2
+              showHandle: false
+              component:
+             (SpecCollection
+                collection: (
+                 (SubCanvasSpec
+                    name: 'MethodCategoryList'
+                    majorKey: MethodCategoryList
+                    subAspectHolders:
+                   (Array
+
+                     (SubChannelInfoSpec
+                        subAspect: showCoverageInformation
+                        aspect: showCoverageInformation
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: showPseudoProtocols
+                        aspect: showPseudoProtocols
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: immediateUpdate
+                        aspect: immediateUpdate
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: inGeneratorHolder
+                        aspect: protocolListGenerator
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: doubleClickChannel
+                        callBack: protocolDoubleClicked
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: menuHolder
+                        aspect: protocolMenu
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: outGeneratorHolder
+                        aspect: selectorListGenerator
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: packageFilter
+                        aspect: packageFilter
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: selectedProtocols
+                        aspect: selectedProtocols
+                        callBack: protocolSelectionChanged
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: selectionChangeCondition
+                        aspect: selectionChangeConditionHolder
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: variableFilter
+                        aspect: variableFilter
+                        callBack: variableSelectionChanged
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: filterClassVars
+                        aspect: filterClassVars
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: methodVisibilityHolder
+                        aspect: methodVisibilityHolder
+                      )
+                    )
+                    createNewApplication: true
+                    createNewBuilder: true
+                    postBuildCallback: methodCategoryList:
+                  )
+                 (SubCanvasSpec
+                    name: 'MethodList'
+                    majorKey: MethodList
+                    subAspectHolders:
+                   (Array
+
+                     (SubChannelInfoSpec
+                        subAspect: showCoverageInformation
+                        aspect: showCoverageInformation
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: doubleClickChannel
+                        callBack: methodDoubleClicked
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: immediateUpdate
+                        aspect: immediateUpdate
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: inGeneratorHolder
+                        aspect: selectorListGenerator
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: menuHolder
+                        aspect: selectorPopUpMenu
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: packageFilter
+                        aspect: packageFilter
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: selectedMethods
+                        aspect: selectedMethods
+                        callBack: methodsSelectionChanged
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: selectionChangeCondition
+                        aspect: selectionChangeConditionHolder
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: variableFilter
+                        aspect: variableFilter
+                        callBack: variableSelectionChanged
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: showMethodInheritance
+                        aspect: showMethodInheritance
+                      )
+
+                     (SubChannelInfoSpec
+                        subAspect: showMethodComplexity
+                        aspect: showMethodComplexity
+                      )
+                     (SubChannelInfoSpec
+                        subAspect: showMethodTypeIcon
+                        aspect: showMethodTypeIcon
+                      )
 		     (SubChannelInfoSpec
 			subAspect: showSyntheticMethods
 			aspect: showSyntheticMethods
 		      )
 
 
-		     (SubChannelInfoSpec
-			subAspect: filterClassVars
-			aspect: filterClassVars
-		      )
-		    )
-		    createNewApplication: true
-		    createNewBuilder: true
-		    postBuildCallback: methodList:
-		  )
-		 )
-
-	      )
-	      handles: (Any 0.5 1.0)
-	    )
-	   )
-
-	)
+                     (SubChannelInfoSpec
+                        subAspect: filterClassVars
+                        aspect: filterClassVars
+                      )
+                    )
+                    createNewApplication: true
+                    createNewBuilder: true
+                    postBuildCallback: methodList:
+                  )
+                 )
+
+              )
+              handles: (Any 0.5 1.0)
+            )
+           )
+
+        )
       )
 
     "Modified: / 17-08-2011 / 13:57:39 / cg"
@@ -3530,97 +3530,97 @@
 
     ^
      #(FullSpec
-	name: #'protocolAndMethodListSpec_JustMethodList'
-	window:
+        name: #'protocolAndMethodListSpec_JustMethodList'
+        window:
        (WindowSpec
-	  label: 'Protocol and Method List'
-	  name: 'Protocol and Method List'
-	  min: (Point 0 0)
-	  bounds: (Rectangle 0 0 498 456)
-	  icon: defaultIcon
-	)
-	component:
+          label: 'Protocol and Method List'
+          name: 'Protocol and Method List'
+          min: (Point 0 0)
+          bounds: (Rectangle 0 0 498 456)
+          icon: defaultIcon
+        )
+        component:
        (SpecCollection
-	  collection: (
-	   (SubCanvasSpec
-	      name: 'MethodList'
-	      layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-	      majorKey: MethodList
-	      subAspectHolders:
-	     (Array
-
-	       (SubChannelInfoSpec
-		  subAspect: showCoverageInformation
-		  aspect: showCoverageInformation
-		)
-	       (SubChannelInfoSpec
-		  subAspect: doubleClickChannel
-		  callBack: methodDoubleClicked
-		)
-
-	       (SubChannelInfoSpec
-		  subAspect: immediateUpdate
-		  aspect: immediateUpdate
-		)
-	       (SubChannelInfoSpec
-		  subAspect: inGeneratorHolder
-		  aspect: selectorListGenerator5
-		)
-
-	       (SubChannelInfoSpec
-		  subAspect: menuHolder
-		  aspect: selectorPopUpMenu
-		)
-	       (SubChannelInfoSpec
-		  subAspect: packageFilter
-		  aspect: packageFilter
-		)
-
-	       (SubChannelInfoSpec
-		  subAspect: selectedMethods
-		  aspect: selectedMethods
-		  callBack: methodsSelectionChanged
-		)
-	       (SubChannelInfoSpec
-		  subAspect: selectionChangeCondition
-		  aspect: selectionChangeConditionHolder
-		)
-
-	       (SubChannelInfoSpec
-		  subAspect: variableFilter
-		  aspect: variableFilter
-		  callBack: variableSelectionChanged
-		)
-	       (SubChannelInfoSpec
-		  subAspect: showMethodInheritance
-		  aspect: showMethodInheritance
-		)
-
-	       (SubChannelInfoSpec
-		  subAspect: showMethodComplexity
-		  aspect: showMethodComplexity
-		)
-	       (SubChannelInfoSpec
+          collection: (
+           (SubCanvasSpec
+              name: 'MethodList'
+              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+              majorKey: MethodList
+              subAspectHolders:
+             (Array
+
+               (SubChannelInfoSpec
+                  subAspect: showCoverageInformation
+                  aspect: showCoverageInformation
+                )
+               (SubChannelInfoSpec
+                  subAspect: doubleClickChannel
+                  callBack: methodDoubleClicked
+                )
+
+               (SubChannelInfoSpec
+                  subAspect: immediateUpdate
+                  aspect: immediateUpdate
+                )
+               (SubChannelInfoSpec
+                  subAspect: inGeneratorHolder
+                  aspect: selectorListGenerator5
+                )
+
+               (SubChannelInfoSpec
+                  subAspect: menuHolder
+                  aspect: selectorPopUpMenu
+                )
+               (SubChannelInfoSpec
+                  subAspect: packageFilter
+                  aspect: packageFilter
+                )
+
+               (SubChannelInfoSpec
+                  subAspect: selectedMethods
+                  aspect: selectedMethods
+                  callBack: methodsSelectionChanged
+                )
+               (SubChannelInfoSpec
+                  subAspect: selectionChangeCondition
+                  aspect: selectionChangeConditionHolder
+                )
+
+               (SubChannelInfoSpec
+                  subAspect: variableFilter
+                  aspect: variableFilter
+                  callBack: variableSelectionChanged
+                )
+               (SubChannelInfoSpec
+                  subAspect: showMethodInheritance
+                  aspect: showMethodInheritance
+                )
+
+               (SubChannelInfoSpec
+                  subAspect: showMethodComplexity
+                  aspect: showMethodComplexity
+                )
+               (SubChannelInfoSpec
 		    subAspect: showSyntheticMethods
 		    aspect: showSyntheticMethods
 		  )
 	       (SubChannelInfoSpec
-		  subAspect: showMethodTypeIcon
-		  aspect: showMethodTypeIcon
-		)
-
-	       (SubChannelInfoSpec
-		  subAspect: filterClassVars
-		  aspect: filterClassVars
-		)
-	      )
-	      createNewApplication: true
-	      createNewBuilder: true
-	      postBuildCallback: methodList:
-	    )
-	   )
-
-	)
+                  subAspect: showMethodTypeIcon
+                  aspect: showMethodTypeIcon
+                )
+
+               (SubChannelInfoSpec
+                  subAspect: filterClassVars
+                  aspect: filterClassVars
+                )
+              )
+              createNewApplication: true
+              createNewBuilder: true
+              postBuildCallback: methodList:
+            )
+           )
+
+        )
       )
 
     "Modified: / 17-08-2011 / 13:57:59 / cg"
@@ -6387,85 +6387,85 @@
 
     ^
      #(Menu
-	(
-	 (MenuItem
-	    enabled: hasCategorySelectedHolder
-	    label: 'FileOut'
-	    translateLabel: true
-	    submenu:
-	   (Menu
-	      (
-	       (MenuItem
-		  enabled: hasCategorySelectedHolder
-		  label: 'as...'
-		  itemValue: categoryMenuFileOutAs
-		  translateLabel: true
-		  showBusyCursorWhilePerforming: true
-		)
-	       (MenuItem
-		  enabled: hasCategorySelectedAndCanFileOutXMLHolder
-		  label: 'XML as...'
-		  itemValue: categoryMenuFileOutXMLAs
-		  translateLabel: true
-		  showBusyCursorWhilePerforming: true
-		)
-	       (MenuItem
-		  enabled: hasCategorySelectedAndCanFileOutSIFHolder
-		  label: 'SIF as...'
-		  itemValue: categoryMenuFileOutSIFAs
-		  translateLabel: true
-		)
-	       (MenuItem
-		  enabled: hasCategorySelectedAndCanFileOutCypressHolder
-		  label: 'Cypress as...'
-		  itemValue: categoryMenuFileOutCypressAs
-		  showBusyCursorWhilePerforming: true
-		)
-	       (MenuItem
-		  label: '-'
-		)
-	       (MenuItem
-		  enabled: hasCategorySelectedHolder
-		  label: 'Each in...'
-		  itemValue: categoryMenuFileOutEachIn
-		  translateLabel: true
-		  showBusyCursorWhilePerforming: true
-		)
-	       (MenuItem
-		  enabled: hasCategorySelectedAndCanFileOutXMLHolder
-		  label: 'Each XML in...'
-		  itemValue: categoryMenuFileOutEachXMLIn
-		  translateLabel: true
-		  showBusyCursorWhilePerforming: true
-		)
-	       (MenuItem
-		  enabled: hasCategorySelectedAndCanFileOutSIFHolder
-		  label: 'Each SIF in...'
-		  itemValue: categoryMenuFileOutEachSIFIn
-		  translateLabel: true
-		  showBusyCursorWhilePerforming: true
-		)
-	       (MenuItem
-		  enabled: hasCategorySelectedHolder
-		  label: 'Each Binary in...'
-		  itemValue: categoryMenuFileOutEachBinaryIn
-		  translateLabel: true
-		  showBusyCursorWhilePerforming: true
-		)
-	       )
-	      nil
-	      nil
-	    )
-	  )
-	 (MenuItem
-	    label: 'Repository'
-	    translateLabel: true
-	    submenuChannel: categoryMenuSCMSlice
-	    isMenuSlice: true
-	  )
-	 )
-	nil
-	nil
+        (
+         (MenuItem
+            enabled: hasCategorySelectedHolder
+            label: 'FileOut'
+            translateLabel: true
+            submenu:
+           (Menu
+              (
+               (MenuItem
+                  enabled: hasCategorySelectedHolder
+                  label: 'as...'
+                  itemValue: categoryMenuFileOutAs
+                  translateLabel: true
+                  showBusyCursorWhilePerforming: true
+                )
+               (MenuItem
+                  enabled: hasCategorySelectedAndCanFileOutXMLHolder
+                  label: 'XML as...'
+                  itemValue: categoryMenuFileOutXMLAs
+                  translateLabel: true
+                  showBusyCursorWhilePerforming: true
+                )
+               (MenuItem
+                  enabled: hasCategorySelectedAndCanFileOutSIFHolder
+                  label: 'SIF as...'
+                  itemValue: categoryMenuFileOutSIFAs
+                  translateLabel: true
+                )
+               (MenuItem
+                  enabled: hasCategorySelectedAndCanFileOutCypressHolder
+                  label: 'Cypress as...'
+                  itemValue: categoryMenuFileOutCypressAs
+                  showBusyCursorWhilePerforming: true
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  enabled: hasCategorySelectedHolder
+                  label: 'Each in...'
+                  itemValue: categoryMenuFileOutEachIn
+                  translateLabel: true
+                  showBusyCursorWhilePerforming: true
+                )
+               (MenuItem
+                  enabled: hasCategorySelectedAndCanFileOutXMLHolder
+                  label: 'Each XML in...'
+                  itemValue: categoryMenuFileOutEachXMLIn
+                  translateLabel: true
+                  showBusyCursorWhilePerforming: true
+                )
+               (MenuItem
+                  enabled: hasCategorySelectedAndCanFileOutSIFHolder
+                  label: 'Each SIF in...'
+                  itemValue: categoryMenuFileOutEachSIFIn
+                  translateLabel: true
+                  showBusyCursorWhilePerforming: true
+                )
+               (MenuItem
+                  enabled: hasCategorySelectedHolder
+                  label: 'Each Binary in...'
+                  itemValue: categoryMenuFileOutEachBinaryIn
+                  translateLabel: true
+                  showBusyCursorWhilePerforming: true
+                )
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
+            label: 'Repository'
+            translateLabel: true
+            submenuChannel: categoryMenuSCMSlice
+            isMenuSlice: true
+          )
+         )
+        nil
+        nil
       )
 !
 
@@ -8406,43 +8406,43 @@
 
     ^
      #(Menu
-	(
-	 (MenuItem
-	    label: 'Class'
-	    itemValue: classMenuNewClass
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    enabled: hasSingleClassSelectedHolder
-	    label: 'Subclass'
-	    itemValue: classMenuNewSubclass
-	    translateLabel: true
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    label: 'Smalltalk Class Slice'
-	    nameKey: classNewSmalltalkSlice
-	    translateLabel: true
-	    submenuChannel: classNewSmalltalkSlice
-	    isMenuSlice: true
-	  )
-	 (MenuItem
-	    label: 'Ruby Class Slice'
-	    nameKey: classNewRubyClassSlice
-	    translateLabel: true
-	    submenuChannel: classNewRubyClassSlice
-	    isMenuSlice: true
-	  )
-	 (MenuItem
-	    label: 'JavaScript Class Slice'
-	    nameKey: classNewJavaScriptClassSlice
-	    translateLabel: true
-	    submenuChannel: classNewJavaScriptClassSlice
-	    isMenuSlice: true
-	  )
-	 (MenuItem
+        (
+         (MenuItem
+            label: 'Class'
+            itemValue: classMenuNewClass
+            translateLabel: true
+          )
+         (MenuItem
+            enabled: hasSingleClassSelectedHolder
+            label: 'Subclass'
+            itemValue: classMenuNewSubclass
+            translateLabel: true
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            label: 'Smalltalk Class Slice'
+            nameKey: classNewSmalltalkSlice
+            translateLabel: true
+            submenuChannel: classNewSmalltalkSlice
+            isMenuSlice: true
+          )
+         (MenuItem
+            label: 'Ruby Class Slice'
+            nameKey: classNewRubyClassSlice
+            translateLabel: true
+            submenuChannel: classNewRubyClassSlice
+            isMenuSlice: true
+          )
+         (MenuItem
+            label: 'JavaScript Class Slice'
+            nameKey: classNewJavaScriptClassSlice
+            translateLabel: true
+            submenuChannel: classNewJavaScriptClassSlice
+            isMenuSlice: true
+          )
+         (MenuItem
 	    label: 'Groovy Class Slice'
 	    nameKey: classNewGroovyClassSlice
 	    translateLabel: true
@@ -8450,45 +8450,45 @@
 	    isMenuSlice: true
 	  )
 	 (MenuItem
-	    label: 'Lisp Class Slice'
-	    nameKey: classNewLispClassSlice
-	    translateLabel: true
-	    submenuChannel: classNewLispClassSlice
-	    isMenuSlice: true
-	  )
-	 (MenuItem
-	    label: 'Haskell Class Slice'
-	    nameKey: classNewHaskellClassSlice
-	    translateLabel: true
-	    submenuChannel: classNewHaskellClassSlice
-	    isMenuSlice: true
-	  )
-	 (MenuItem
-	    label: 'PLSQL Class Slice'
-	    nameKey: classNewPLSQLClassSlice
-	    translateLabel: true
-	    submenuChannel: classNewPLSQLClassSlice
-	    isMenuSlice: true
-	  )
-	 (MenuItem
-	    label: 'Other New Class Slice'
-	    nameKey: classOtherClassNewSlice
-	    translateLabel: true
-	    submenuChannel: classOtherClassNewSlice
-	    isMenuSlice: true
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    label: 'Class Wizard...'
-	    itemValue: classMenuOpenClassCreationWizard
-	    translateLabel: true
-	    labelImage: (ResourceRetriever ToolbarIconLibrary newClassWizardIcon 'Class Wizard...')
-	  )
-	 )
-	nil
-	nil
+            label: 'Lisp Class Slice'
+            nameKey: classNewLispClassSlice
+            translateLabel: true
+            submenuChannel: classNewLispClassSlice
+            isMenuSlice: true
+          )
+         (MenuItem
+            label: 'Haskell Class Slice'
+            nameKey: classNewHaskellClassSlice
+            translateLabel: true
+            submenuChannel: classNewHaskellClassSlice
+            isMenuSlice: true
+          )
+         (MenuItem
+            label: 'PLSQL Class Slice'
+            nameKey: classNewPLSQLClassSlice
+            translateLabel: true
+            submenuChannel: classNewPLSQLClassSlice
+            isMenuSlice: true
+          )
+         (MenuItem
+            label: 'Other New Class Slice'
+            nameKey: classOtherClassNewSlice
+            translateLabel: true
+            submenuChannel: classOtherClassNewSlice
+            isMenuSlice: true
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            label: 'Class Wizard...'
+            itemValue: classMenuOpenClassCreationWizard
+            translateLabel: true
+            labelImage: (ResourceRetriever ToolbarIconLibrary newClassWizardIcon 'Class Wizard...')
+          )
+         )
+        nil
+        nil
       )
     "Modified: / 21-08-2012 / 12:31:32 / cg"
 !
@@ -12481,166 +12481,166 @@
 
     ^
      #(Menu
-	(
-	 (MenuItem
-	    label: 'Toolbar'
-	    translateLabel: true
-	    hideMenuOnActivated: false
-	    indication: toolBarVisibleHolder
-	  )
-	 (MenuItem
-	    label: 'Bookmarks'
-	    translateLabel: true
-	    hideMenuOnActivated: false
-	    indication: bookmarkBarVisibleHolder
-	  )
-	 (MenuItem
-	    label: 'Searchbar'
-	    translateLabel: true
-	    hideMenuOnActivated: false
-	    indication: stringSearchToolVisibleHolder
-	  )
-	 (MenuItem
-	    label: 'Info'
-	    translateLabel: true
-	    hideMenuOnActivated: false
-	    indication: codeInfoVisible
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    label: 'Multitab Mode'
-	    translateLabel: true
-	    hideMenuOnActivated: false
-	    indication: showMultitabMode
-	  )
-	 (MenuItem
-	    label: 'Enable Embedded Resource Editors'
-	    translateLabel: true
-	    hideMenuOnActivated: false
-	    indication: showSpecialResourceEditors
-	  )
-	 (MenuItem
-	    label: 'Coverage Info'
-	    translateLabel: true
-	    hideMenuOnActivated: false
-	    indication: showCoverageInformation
-	  )
-	 (MenuItem
-	    label: 'Browslet'
-	    itemValue: showPlugin:
-	    translateLabel: true
-	    isVisible: false
-	    hideMenuOnActivated: false
-	    indication: showPlugin
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    label: 'Class'
-	    translateLabel: true
-	    submenu:
-	   (Menu
-	      (
-	       (MenuItem
-		  label: 'Hide Unloaded Classes'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: hideUnloadedClasses
-		)
-	       (MenuItem
-		  label: 'Show All Classes in NameSpace View'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: showAllClassesInNameSpaceOrganisation
-		)
-	       (MenuItem
-		  label: '-'
-		)
-	       (MenuItem
-		  enabled: showUnloadedClasses
-		  label: 'Emphasize Unloaded Classes'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: emphasizeUnloadedClasses
-		)
-	       (MenuItem
-		  label: 'Show Class Type Indicator'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: markApplicationsHolder
-		)
-	       (MenuItem
-		  label: 'Short Class Names in Tabs'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: shortNamesInTabs
-		)
-	       (MenuItem
-		  label: 'Show Class-Packages'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: showClassPackages
-		)
-	       (MenuItem
-		  label: '-'
-		)
-	       (MenuItem
-		  label: 'Sort and Indent by Inheritance'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: sortByNameAndInheritance
-		)
-	       )
-	      nil
-	      nil
-	    )
-	  )
-	 (MenuItem
-	    label: 'Protocol'
-	    translateLabel: true
-	    submenu:
-	   (Menu
-	      (
-	       (MenuItem
-		  label: 'Show Pseudo Protocols'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: showPseudoProtocols
-		)
-	       )
-	      nil
-	      nil
-	    )
-	  )
-	 (MenuItem
-	    label: 'Selector'
-	    translateLabel: true
-	    submenu:
-	   (Menu
-	      (
-	       (MenuItem
-		  label: 'Show Inherited Methods'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  choice: methodVisibilityHolder
-		  choiceValue: all
-		)
-	       (MenuItem
-		  label: 'Show Inherited Methods except Object''s'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  choice: methodVisibilityHolder
-		  choiceValue: allButObject
-		)
-	       (MenuItem
-		  label: 'Do not Show Inherited Methods'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  choice: methodVisibilityHolder
-		  choiceValue: class
+        (
+         (MenuItem
+            label: 'Toolbar'
+            translateLabel: true
+            hideMenuOnActivated: false
+            indication: toolBarVisibleHolder
+          )
+         (MenuItem
+            label: 'Bookmarks'
+            translateLabel: true
+            hideMenuOnActivated: false
+            indication: bookmarkBarVisibleHolder
+          )
+         (MenuItem
+            label: 'Searchbar'
+            translateLabel: true
+            hideMenuOnActivated: false
+            indication: stringSearchToolVisibleHolder
+          )
+         (MenuItem
+            label: 'Info'
+            translateLabel: true
+            hideMenuOnActivated: false
+            indication: codeInfoVisible
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            label: 'Multitab Mode'
+            translateLabel: true
+            hideMenuOnActivated: false
+            indication: showMultitabMode
+          )
+         (MenuItem
+            label: 'Enable Embedded Resource Editors'
+            translateLabel: true
+            hideMenuOnActivated: false
+            indication: showSpecialResourceEditors
+          )
+         (MenuItem
+            label: 'Coverage Info'
+            translateLabel: true
+            hideMenuOnActivated: false
+            indication: showCoverageInformation
+          )
+         (MenuItem
+            label: 'Browslet'
+            itemValue: showPlugin:
+            translateLabel: true
+            isVisible: false
+            hideMenuOnActivated: false
+            indication: showPlugin
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            label: 'Class'
+            translateLabel: true
+            submenu:
+           (Menu
+              (
+               (MenuItem
+                  label: 'Hide Unloaded Classes'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: hideUnloadedClasses
+                )
+               (MenuItem
+                  label: 'Show All Classes in NameSpace View'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: showAllClassesInNameSpaceOrganisation
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  enabled: showUnloadedClasses
+                  label: 'Emphasize Unloaded Classes'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: emphasizeUnloadedClasses
+                )
+               (MenuItem
+                  label: 'Show Class Type Indicator'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: markApplicationsHolder
+                )
+               (MenuItem
+                  label: 'Short Class Names in Tabs'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: shortNamesInTabs
+                )
+               (MenuItem
+                  label: 'Show Class-Packages'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: showClassPackages
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Sort and Indent by Inheritance'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: sortByNameAndInheritance
+                )
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
+            label: 'Protocol'
+            translateLabel: true
+            submenu:
+           (Menu
+              (
+               (MenuItem
+                  label: 'Show Pseudo Protocols'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: showPseudoProtocols
+                )
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
+            label: 'Selector'
+            translateLabel: true
+            submenu:
+           (Menu
+              (
+               (MenuItem
+                  label: 'Show Inherited Methods'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  choice: methodVisibilityHolder
+                  choiceValue: all
+                )
+               (MenuItem
+                  label: 'Show Inherited Methods except Object''s'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  choice: methodVisibilityHolder
+                  choiceValue: allButObject
+                )
+               (MenuItem
+                  label: 'Do not Show Inherited Methods'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  choice: methodVisibilityHolder
+                  choiceValue: class
 		)
 	       (MenuItem
 		  label: '-'
@@ -12650,87 +12650,87 @@
 		  translateLabel: true
 		  hideMenuOnActivated: false
 		  indication: showSyntheticMethods
-		)
-	       (MenuItem
-		  label: '-'
-		)
-	       (MenuItem
-		  label: 'Show Method Inheritance Indicator'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: showMethodInheritance
-		)
-	       (MenuItem
-		  label: 'Show Method Type Indicator'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: showMethodTypeIcon
-		)
-	       (MenuItem
-		  enabled: hasOOMPackageLoadedHolder
-		  label: 'Show Method-Complexity'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: showMethodComplexity
-		)
-	       )
-	      nil
-	      nil
-	    )
-	  )
-	 (MenuItem
-	    label: 'Code'
-	    translateLabel: true
-	    submenu:
-	   (Menu
-	      (
-	       (MenuItem
-		  label: 'Syntax Coloring'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: doSyntaxColoring
-		)
-	       (MenuItem
-		  enabled: doSyntaxColoring
-		  label: 'Immediate Syntax Coloring'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: doImmediateSyntaxColoring
-		)
-	       (MenuItem
-		  label: 'Immediate Explaining'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: doImmediateExplaining
-		)
-	       (MenuItem
-		  label: 'Auto-Format Code'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: doAutoFormat
-		)
-	       (MenuItem
-		  label: 'Show MethodTemplate for New Methods'
-		  translateLabel: true
-		  hideMenuOnActivated: false
-		  indication: showMethodTemplate
-		)
-	       )
-	      nil
-	      nil
-	    )
-	  )
-	 (MenuItem
-	    label: '-'
-	  )
-	 (MenuItem
-	    label: 'Settings...'
-	    itemValue: openSettingsDialog
-	    translateLabel: true
-	  )
-	 )
-	nil
-	nil
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Show Method Inheritance Indicator'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: showMethodInheritance
+                )
+               (MenuItem
+                  label: 'Show Method Type Indicator'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: showMethodTypeIcon
+                )
+               (MenuItem
+                  enabled: hasOOMPackageLoadedHolder
+                  label: 'Show Method-Complexity'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: showMethodComplexity
+                )
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
+            label: 'Code'
+            translateLabel: true
+            submenu:
+           (Menu
+              (
+               (MenuItem
+                  label: 'Syntax Coloring'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: doSyntaxColoring
+                )
+               (MenuItem
+                  enabled: doSyntaxColoring
+                  label: 'Immediate Syntax Coloring'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: doImmediateSyntaxColoring
+                )
+               (MenuItem
+                  label: 'Immediate Explaining'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: doImmediateExplaining
+                )
+               (MenuItem
+                  label: 'Auto-Format Code'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: doAutoFormat
+                )
+               (MenuItem
+                  label: 'Show MethodTemplate for New Methods'
+                  translateLabel: true
+                  hideMenuOnActivated: false
+                  indication: showMethodTemplate
+                )
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
+            label: 'Settings...'
+            itemValue: openSettingsDialog
+            translateLabel: true
+          )
+         )
+        nil
+        nil
       )
 !
 
@@ -13158,26 +13158,26 @@
 
     ^
      #(Menu
-	(
-	 (MenuItem
-	    enabled: hasClassSelectedAndCVSSourceCodeManagerHolder
-	    label: 'CVS'
-	    translateLabel: true
-	    submenuChannel: categoryMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
-	    argument: CVSSourceCodeManager
-	    keepLinkedMenu: true
-	  )
-	 (MenuItem
-	    enabled: hasClassesSelectedAndSubversionRepositoryExistsHolder
-	    label: 'SubVersion'
-	    translateLabel: true
-	    isVisible: hasSubversionSupport
-	    submenuChannel: categoryMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
-	    argument: SVNSourceCodeManager
-	  )
-	 (MenuItem
+        (
+         (MenuItem
+            enabled: hasClassSelectedAndCVSSourceCodeManagerHolder
+            label: 'CVS'
+            translateLabel: true
+            submenuChannel: categoryMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
+            argument: CVSSourceCodeManager
+            keepLinkedMenu: true
+          )
+         (MenuItem
+            enabled: hasClassesSelectedAndSubversionRepositoryExistsHolder
+            label: 'SubVersion'
+            translateLabel: true
+            isVisible: hasSubversionSupport
+            submenuChannel: categoryMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
+            argument: SVNSourceCodeManager
+          )
+         (MenuItem
 	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
 	    label: 'Mercurial+'
 	    isVisible: hgRepositoryMenusAreShown
@@ -13186,14 +13186,14 @@
 	    argument: HGSourceCodeManager
 	  )
 	 (MenuItem
-	    enabled: hasClassSelectedAndSourceCodeManagerHolder
-	    label: 'Perforce'
-	    translateLabel: true
-	    isVisible: hasPerforceSupport
-	    submenuChannel: categoryMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Perforce')
-	    argument: PerforceSourceCodeManager
-	  )
+            enabled: hasClassSelectedAndSourceCodeManagerHolder
+            label: 'Perforce'
+            translateLabel: true
+            isVisible: hasPerforceSupport
+            submenuChannel: categoryMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Perforce')
+            argument: PerforceSourceCodeManager
+          )
 	 (MenuItem
 	    enabled: hasClassSelectedAndSourceCodeManagerHolder
 	    label: 'Git+'
@@ -13202,9 +13202,9 @@
 	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Git+')
 	    argument: GitSourceCodeManager2
 	  )
-	 )
-	nil
-	nil
+         )
+        nil
+        nil
       )
 !
 
@@ -14565,22 +14565,22 @@
           )
          (MenuItem
             enabled: hasClassSelectedAndSourceCodeManagerHolder
-	    label: 'Mercurial+'
-	    isVisible: hgRepositoryMenusAreShown
-	    submenuChannel: classMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryHGIcon 'Mercurial+')
-	    argument: HGSourceCodeManager
-	  )
-	 (MenuItem
-	    enabled: hasClassSelectedAndSourceCodeManagerHolder
-	    label: 'Git+'
-	    isVisible: git2RepositoryMenusAreShown
-	    submenuChannel: classMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Git+')
-	    argument: GitSourceCodeManager2
-	  )
-	 (MenuItem
-	    enabled: hasClassSelectedAndSourceCodeManagerHolder
+            label: 'Mercurial+'
+            isVisible: hgRepositoryMenusAreShown
+            submenuChannel: classMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositoryHGIcon 'Mercurial+')
+            argument: HGSourceCodeManager
+          )
+         (MenuItem
+            enabled: hasClassSelectedAndSourceCodeManagerHolder
+            label: 'Git+'
+            isVisible: git2RepositoryMenusAreShown
+            submenuChannel: classMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'Git+')
+            argument: GitSourceCodeManager2
+          )
+         (MenuItem
+            enabled: hasClassSelectedAndSourceCodeManagerHolder
             label: 'Mercurial'
             translateLabel: true
             submenuChannel: classMenuSCMFor:
@@ -16036,27 +16036,27 @@
 
     ^
      #(Menu
-	(
-	 (MenuItem
-	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
-	    label: 'CVS'
-	    translateLabel: true
-	    submenuChannel: projectMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
-	    argument: CVSSourceCodeManager
-	    keepLinkedMenu: true
-	  )
-	 (MenuItem
-	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
-	    label: 'SubVersion'
-	    translateLabel: true
-	    isVisible: hasSubversionSupport
-	    submenuChannel: projectMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
-	    argument: SVNSourceCodeManager
-	  )
-	 (MenuItem
-	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
+        (
+         (MenuItem
+            enabled: hasProjectSelectedAndSourceCodeManagerHolder
+            label: 'CVS'
+            translateLabel: true
+            submenuChannel: projectMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
+            argument: CVSSourceCodeManager
+            keepLinkedMenu: true
+          )
+         (MenuItem
+            enabled: hasProjectSelectedAndSourceCodeManagerHolder
+            label: 'SubVersion'
+            translateLabel: true
+            isVisible: hasSubversionSupport
+            submenuChannel: projectMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
+            argument: SVNSourceCodeManager
+          )
+         (MenuItem
+            enabled: hasProjectSelectedAndSourceCodeManagerHolder
 	    label: 'Mercurial+'
 	    isVisible: hgRepositoryMenusAreShown
 	    submenuChannel: projectMenuSCMFor:
@@ -16073,25 +16073,25 @@
 	  )
 	 (MenuItem
 	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
-	    label: 'Perforce'
-	    translateLabel: true
-	    isVisible: hasPerforceSupport
-	    submenuChannel: projectMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
-	    argument: PerforceSourceCodeManager
-	  )
-	 (MenuItem
-	    enabled: hasProjectSelectedAndSourceCodeManagerHolder
-	    label: 'Monticello'
-	    translateLabel: true
-	    isVisible: hasMonticelloSupport
-	    submenuChannel: projectMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryMCIcon 'Monticello')
-	    argument: MCSourceCodeManager
-	  )
-	 )
-	nil
-	nil
+            label: 'Perforce'
+            translateLabel: true
+            isVisible: hasPerforceSupport
+            submenuChannel: projectMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
+            argument: PerforceSourceCodeManager
+          )
+         (MenuItem
+            enabled: hasProjectSelectedAndSourceCodeManagerHolder
+            label: 'Monticello'
+            translateLabel: true
+            isVisible: hasMonticelloSupport
+            submenuChannel: projectMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositoryMCIcon 'Monticello')
+            argument: MCSourceCodeManager
+          )
+         )
+        nil
+        nil
       )
 !
 
@@ -16439,27 +16439,27 @@
 
     ^
      #(Menu
-	(
-	 (MenuItem
-	    enabled: hasMethodSelectedAndSourceCodeManagerHolder
-	    label: 'CVS'
-	    translateLabel: true
-	    submenuChannel: selectorMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
-	    argument: CVSSourceCodeManager
-	    keepLinkedMenu: true
-	  )
-	 (MenuItem
-	    enabled: hasMethodSelectedAndSourceCodeManagerHolder
-	    label: 'SubVersion'
-	    translateLabel: true
-	    isVisible: hasSubversionSupport
-	    submenuChannel: selectorMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
-	    argument: SVNSourceCodeManager
-	  )
-	 (MenuItem
-	    enabled: hasMethodSelectedAndSourceCodeManagerHolder
+        (
+         (MenuItem
+            enabled: hasMethodSelectedAndSourceCodeManagerHolder
+            label: 'CVS'
+            translateLabel: true
+            submenuChannel: selectorMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositoryCVSIcon 'CVS')
+            argument: CVSSourceCodeManager
+            keepLinkedMenu: true
+          )
+         (MenuItem
+            enabled: hasMethodSelectedAndSourceCodeManagerHolder
+            label: 'SubVersion'
+            translateLabel: true
+            isVisible: hasSubversionSupport
+            submenuChannel: selectorMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositorySVNIcon 'SubVersion')
+            argument: SVNSourceCodeManager
+          )
+         (MenuItem
+            enabled: hasMethodSelectedAndSourceCodeManagerHolder
 	    label: 'Mercurial+'
 	    isVisible: hgRepositoryMenusAreShown
 	    submenuChannel: selectorMenuSCMFor:
@@ -16476,16 +16476,16 @@
 	  )
 	 (MenuItem
 	    enabled: hasMethodSelectedAndSourceCodeManagerHolder
-	    label: 'Perforce'
-	    translateLabel: true
-	    isVisible: hasPerforceSupport
-	    submenuChannel: selectorMenuSCMFor:
-	    labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
-	    argument: PerforceSourceCodeManager
-	  )
-	 )
-	nil
-	nil
+            label: 'Perforce'
+            translateLabel: true
+            isVisible: hasPerforceSupport
+            submenuChannel: selectorMenuSCMFor:
+            labelImage: (ResourceRetriever ToolbarIconLibrary repositoryP4Icon 'Perforce')
+            argument: PerforceSourceCodeManager
+          )
+         )
+        nil
+        nil
       )
 !
 
@@ -26714,42 +26714,44 @@
 fileOutEachClassIn:aCollectionOfClasses in:aDirectory withFormat:aFormatSymbolOrNil
     "fileOut a bunch of classes as individual files into some directory"
 
-    |savedClasses privateClasses owningClasses unsavedOwners answer|
-
-    privateClasses := aCollectionOfClasses select:[:eachClass | eachClass isPrivate].
-    savedClasses := (aCollectionOfClasses select:[:eachClass | eachClass isPrivate not]) asIdentitySet.
-    owningClasses := (privateClasses collect:[:eachPrivateClass | eachPrivateClass topOwningClass]) asIdentitySet.
-    unsavedOwners := owningClasses copy.
-    unsavedOwners removeAllFoundIn:savedClasses.
+    |savedClasses owningClasses unsavedOwners answer|
+
+    savedClasses  := aCollectionOfClasses select:[:eachClass | eachClass isPrivate not] as:IdentitySet.
+    owningClasses := aCollectionOfClasses 
+                        select:[:eachClass | eachClass isPrivate] 
+                        thenCollect:[:eachPrivateClass | eachPrivateClass topOwningClass]
+                        as:IdentitySet.
+
+    unsavedOwners := owningClasses \ savedClasses.
     unsavedOwners notEmpty ifTrue:[
-	answer := self confirmWithCancel:'Private classes are saved with their owningClasses;\\Save owners as well ?' withCRs.
-	answer isNil ifTrue:[^ self].
-	answer == true ifTrue:[
-	    savedClasses addAll:unsavedOwners
-	]
+        answer := self confirmWithCancel:'Private classes are saved with their owningClasses;\\Save owners as well ?' withCRs.
+        answer isNil ifTrue:[^ self].
+        answer == true ifTrue:[
+            savedClasses addAll:unsavedOwners
+        ]
     ].
 
     savedClasses do:[:eachClass |
-	|fn answer|
-
-	eachClass isPrivate ifFalse:[
-	    self busyLabel:'saving: %1' with:eachClass name.
-	    Class fileOutErrorSignal handle:[:ex |
-		answer := DialogBox
-				confirm:(resources stringWithCRs:'Cannot fileOut: %1\(%2)\\skipped.'
-						     with:(eachClass name allBold)
-						     with:ex description)
-				yesLabel:'ok' noLabel:'cancel'.
-		answer == false ifTrue:[
-		    ^ self
-		].
-		self normalLabel.
-		ex return.
-	    ] do:[
-		fn := (Smalltalk fileNameForClass:eachClass) , '.st'.
-		eachClass fileOutAs:(aDirectory asFilename constructString:fn).
-	    ]
-	]
+        |fn answer|
+
+        eachClass isPrivate ifFalse:[
+            self busyLabel:'saving: %1' with:eachClass name.
+            Class fileOutErrorSignal handle:[:ex |
+                answer := DialogBox
+                                confirm:(resources stringWithCRs:'Cannot fileOut: %1\(%2)\\skipped.'
+                                                     with:(eachClass name allBold)
+                                                     with:ex description)
+                                yesLabel:'ok' noLabel:'cancel'.
+                answer == false ifTrue:[
+                    ^ self
+                ].
+                self normalLabel.
+                ex return.
+            ] do:[
+                fn := (Smalltalk fileNameForClass:eachClass) , '.st'.
+                eachClass fileOutAs:(aDirectory asFilename constructString:fn).
+            ]
+        ]
     ].
     self normalLabel.
 
@@ -27397,225 +27399,225 @@
      answer toRemove stillSearchingForMore more|
 
     (classesToRemove includes:aClass) ifTrue:[
-	"/ already in list
-	^ self
+        "/ already in list
+        ^ self
     ].
 
     aClass wasAutoloaded ifTrue:[
-	answer := self
-		    confirmWithCancel:(resources
-			    string:'%1 was autoloaded.\\Reinstall as autoloaded ?'
-			    with:aClass name allBold) withCRs.
-	answer isNil ifTrue:[
-	    ^ self
-	].
-	answer == true ifTrue:[
-	    self withWaitCursorDo:[
-		    aClass unload.
-		    Smalltalk changed:#classDefinition with:aClass
-		].
-	    ^ self
-	]
+        answer := self
+                    confirmWithCancel:(resources
+                            string:'%1 was autoloaded.\\Reinstall as autoloaded ?'
+                            with:aClass name allBold) withCRs.
+        answer isNil ifTrue:[
+            ^ self
+        ].
+        answer == true ifTrue:[
+            self withWaitCursorDo:[
+                    aClass unload.
+                    Smalltalk changed:#classDefinition with:aClass
+                ].
+            ^ self
+        ]
     ].
 
     countSubClasses := aClass allSubclasses size.
     t := 'Remove Class ''%1'''.
     countSubClasses ~~ 0 ifTrue:[
-	removingSubclasses ifTrue:[
-	    t := t , '\(with %2 subclass'.
-	] ifFalse:[
-	    t := t , '\(and pull up %2 subclass'.
-	].
-	countSubClasses ~~ 1 ifTrue:[
-	    t := t , 'es'
-	]
+        removingSubclasses ifTrue:[
+            t := t , '\(with %2 subclass'.
+        ] ifFalse:[
+            t := t , '\(and pull up %2 subclass'.
+        ].
+        countSubClasses ~~ 1 ifTrue:[
+            t := t , 'es'
+        ]
     ].
 
     countPrivateClasses := aClass allPrivateClasses size.
     countPrivateClasses ~~ 0 ifTrue:[
-	removingSubclasses ifFalse:[
-	    self warn:('%1 has private classes - please make them public; then try again' bindWith:aClass name allBold).
-	    ^ self
-	].
-
-	countSubClasses ~~ 0 ifTrue:[
-	    t := t , ' and'
-	] ifFalse:[
-	    t := t , '\(with'
-	].
-	t := t , ' %3 private class'.
-	countPrivateClasses ~~ 1 ifTrue:[
-	    t := t , 'es'
-	]
+        removingSubclasses ifFalse:[
+            self warn:('%1 has private classes - please make them public; then try again' bindWith:aClass name allBold).
+            ^ self
+        ].
+
+        countSubClasses ~~ 0 ifTrue:[
+            t := t , ' and'
+        ] ifFalse:[
+            t := t , '\(with'
+        ].
+        t := t , ' %3 private class'.
+        countPrivateClasses ~~ 1 ifTrue:[
+            t := t , 'es'
+        ]
     ].
 
     (countSubClasses ~~ 0 or:[countPrivateClasses ~~ 0]) ifTrue:[
-	t := t , ')'
+        t := t , ')'
     ].
     t := t , ' ?'.
     t := (resources
-		string:t
-		with:aClass name allBold
-		with:countSubClasses
-		with:countPrivateClasses) withCRs.
+                string:t
+                with:aClass name allBold
+                with:countSubClasses
+                with:countPrivateClasses) withCRs.
 
     YesToAllConfirmation query ifTrue:[
     ] ifFalse:[
-	(countSubClasses ~~ 0 or:[countPrivateClasses ~~ 0 or:[withConfirm]]) ifTrue:[
-	    withCancel ifTrue:[
-		confirmed := OptionBox
-			      request:t
-			      label:(resources string:'Remove Class')
-			      image:(YesNoBox iconBitmap)
-			      buttonLabels:(resources array:#('Cancel' 'No' 'Yes' 'Yes to All'))
-			      values:#(nil false true #yesToAll)
-			      default:false
-			      onCancel:false.
-		"/ confirmed := Dialog confirmWithCancel:t default:false
-	    ] ifFalse:[
-		confirmed := Dialog confirm:t
-	    ].
-	    confirmed isNil ifTrue:[
-		"/ cancelled
-		AbortOperationRequest raise
-	    ].
-	    confirmed == #yesToAll ifTrue:[
-		YesToAllConfirmation notify.
-		confirmed := true.
-	    ].
-
-	    confirmed ifFalse:[
-		^ self
-	    ]
-	].
+        (countSubClasses ~~ 0 or:[countPrivateClasses ~~ 0 or:[withConfirm]]) ifTrue:[
+            withCancel ifTrue:[
+                confirmed := OptionBox
+                              request:t
+                              label:(resources string:'Remove Class')
+                              image:(YesNoBox iconBitmap)
+                              buttonLabels:(resources array:#('Cancel' 'No' 'Yes' 'Yes to All'))
+                              values:#(nil false true #yesToAll)
+                              default:false
+                              onCancel:false.
+                "/ confirmed := Dialog confirmWithCancel:t default:false
+            ] ifFalse:[
+                confirmed := Dialog confirm:t
+            ].
+            confirmed isNil ifTrue:[
+                "/ cancelled
+                AbortOperationRequest raise
+            ].
+            confirmed == #yesToAll ifTrue:[
+                YesToAllConfirmation notify.
+                confirmed := true.
+            ].
+
+            confirmed ifFalse:[
+                ^ self
+            ]
+        ].
     ].
 
     didRemove := false.
     includesBuiltIn := aClass isBuiltInClass.
     aClass allSubclassesDo:[:aSubClass |
-	    includesBuiltIn := includesBuiltIn or:[aSubClass isBuiltInClass]
-	].
+            includesBuiltIn := includesBuiltIn or:[aSubClass isBuiltInClass]
+        ].
     includesBuiltIn ifTrue:[
-	"/ ask again - severe damage is to be expected ...
-
-	confirmed := Dialog
-		    confirmWithCancel:'The set of classes to remove includes at least one systemClass,\without which ST/X will fail to work.\Be prepared for a crash, if you proceed.\\Really remove ?'
-			    withCRs
-		    default:false.
-	confirmed isNil ifTrue:[
-	    "/ cancelled
-
-	    AbortSignal raise
-	].
-	confirmed ifFalse:[
-	    ^ self
-	]
+        "/ ask again - severe damage is to be expected ...
+
+        confirmed := Dialog
+                    confirmWithCancel:'The set of classes to remove includes at least one systemClass,\without which ST/X will fail to work.\Be prepared for a crash, if you proceed.\\Really remove ?'
+                            withCRs
+                    default:false.
+        confirmed isNil ifTrue:[
+            "/ cancelled
+
+            AbortSignal raise
+        ].
+        confirmed ifFalse:[
+            ^ self
+        ]
     ].
 
     "/ check if any of the classes to remove has a repository container - warn about this if so
     aClass withAllSubclassesDo:[:eachClassToRemove |
-	eachClassToRemove isPrivate ifFalse:[
-	    eachClassToRemove revision notNil ifTrue:[
-		(removingSubclasses or:[eachClassToRemove == aClass])
-		ifTrue:[
+        eachClassToRemove isPrivate ifFalse:[
+            eachClassToRemove revision notNil ifTrue:[
+                (removingSubclasses or:[eachClassToRemove == aClass])
+                ifTrue:[
 		    "JV@2012-02-09: Only ask if configured source code manager is CVS,
 		     as other managers handles removals nicely (they version whole tree).
 		     Such a query is not only annoying but also  confusing to newcomers
 		    "
 		    eachClassToRemove sourceCodeManager isCVS ifTrue:[
-		    confirmed := Dialog
-				confirmWithCancel:(resources
-					string:'Remove the source container for ''%1'' in the repository ?\\Warning: can only be undone by manually fixing the CVS repository !!'
-					with:eachClassToRemove name allBold) withCRs
-				default:false.
+                    confirmed := Dialog
+                                confirmWithCancel:(resources
+                                        string:'Remove the source container for ''%1'' in the repository ?\\Warning: can only be undone by manually fixing the CVS repository !!'
+                                        with:eachClassToRemove name allBold) withCRs
+                                default:false.
 		    ] ifFalse:[
 			"JV@2012-02-09: Mhh, mhh, what to return here?"
 			confirmed := false. "/false avoids timely listing of huge expecco's repository,
 					    "/Obviously, this should be fixed in libsvn.
 		    ].
-		    confirmed isNil ifTrue:[
-			"/ cancelled
-
-			AbortSignal raise
-		    ].
-		    confirmed ifTrue:[
+                    confirmed isNil ifTrue:[
+                        "/ cancelled
+
+                        AbortSignal raise
+                    ].
+                    confirmed ifTrue:[
 			"JV@2012-02-09: Use class's sourcecode manager's utilities,
 			 not default one"
 			eachClassToRemove sourceCodeManager utilities
-			    removeSourceContainerForClass:eachClassToRemove
-			    confirm:true
-			    warn:true
-		    ]
-		]
-	    ].
-	]
+                            removeSourceContainerForClass:eachClassToRemove
+                            confirm:true
+                            warn:true
+                    ]
+                ]
+            ].
+        ]
     ].
 
     "/ check if any of the classes to be removed from the ProjectDefinition
     aClass withAllSubclassesDo:[:eachClassToRemove |
-	eachClassToRemove isPrivate ifFalse:[
-	    |def|
-
-	    def := eachClassToRemove projectDefinitionClass.
-	    def notNil and:[
-		(eachClassToRemove ~~ def
-		and:[ def allClassNames includes:eachClassToRemove name ]) ifTrue:[
-		    (Dialog confirm:(resources string:'Remove %1 from its Package definition ?'
-						 with:eachClassToRemove name))
-		    ifTrue:[
-			self excludeClasses: (Array with: eachClassToRemove) fromProject:def using:Compiler.
-		    ].
-		]
-	    ]
-	]
+        eachClassToRemove isPrivate ifFalse:[
+            |def|
+
+            def := eachClassToRemove projectDefinitionClass.
+            def notNil and:[
+                (eachClassToRemove ~~ def
+                and:[ def allClassNames includes:eachClassToRemove name ]) ifTrue:[
+                    (Dialog confirm:(resources string:'Remove %1 from its Package definition ?'
+                                                 with:eachClassToRemove name))
+                    ifTrue:[
+                        self excludeClasses: (Array with: eachClassToRemove) fromProject:def using:Compiler.
+                    ].
+                ]
+            ]
+        ]
     ].
 
     toRemove := IdentitySet new.
     toRemove addAll:classesToRemove.
 
     removingSubclasses ifTrue:[
-	aClass allSubclassesDo:[:aSubClass |
-	    (CheckForInstancesWhenRemovingClasses == false or:[
-		    aSubClass hasInstances not or:[
-			    self confirm:(resources string:'''%1'' has instances - remove anyway ?'
-						    with:aSubClass name allBold)
-			]
-		]) ifTrue:[
-		classesToRemove add:aSubClass.
-		toRemove add:aSubClass
-	    ]
-	].
+        aClass allSubclassesDo:[:aSubClass |
+            (CheckForInstancesWhenRemovingClasses == false or:[
+                    aSubClass hasInstances not or:[
+                            self confirm:(resources string:'''%1'' has instances - remove anyway ?'
+                                                    with:aSubClass name allBold)
+                        ]
+                ]) ifTrue:[
+                classesToRemove add:aSubClass.
+                toRemove add:aSubClass
+            ]
+        ].
     ].
     (CheckForInstancesWhenRemovingClasses == false or:[
-	    aClass hasInstances not or:[
-		    self confirm:(resources string:'''%1'' has instances - remove anyway ?'
-				with:aClass name allBold)
-		]
+            aClass hasInstances not or:[
+                    self confirm:(resources string:'''%1'' has instances - remove anyway ?'
+                                with:aClass name allBold)
+                ]
      ]) ifTrue:[
-	didRemove := true.
-	aClass allPrivateClassesDo:[:eachPrivate |
-		classesToRemove addFirst:eachPrivate.
-		toRemove add:eachPrivate
-	    ].
-	classesToRemove add:aClass.
-	toRemove add:aClass
+        didRemove := true.
+        aClass allPrivateClassesDo:[:eachPrivate |
+                classesToRemove addFirst:eachPrivate.
+                toRemove add:eachPrivate
+            ].
+        classesToRemove add:aClass.
+        toRemove add:aClass
     ].
 
     stillSearchingForMore := true.
     [
-	stillSearchingForMore
+        stillSearchingForMore
     ] whileTrue:[
-	stillSearchingForMore := false.
-	more := IdentitySet new.
-	classesToRemove do:[:eachClass |
-	    eachClass allPrivateClasses do:[:eachPrivate |
-		classesToRemove addFirst:eachPrivate.
-		(toRemove includes:eachPrivate) ifFalse:[
-		    toRemove add:eachPrivate.
-		    more := true
-		]
-	    ]
-	]
+        stillSearchingForMore := false.
+        more := IdentitySet new.
+        classesToRemove do:[:eachClass |
+            eachClass allPrivateClasses do:[:eachPrivate |
+                classesToRemove addFirst:eachPrivate.
+                (toRemove includes:eachPrivate) ifFalse:[
+                    toRemove add:eachPrivate.
+                    more := true
+                ]
+            ]
+        ]
     ]
 
     "Modified: / 21-12-2011 / 20:22:34 / cg"
@@ -27870,23 +27872,23 @@
 
     (aClass == Autoload
     or:[aClass isNil or:[aClass isLoaded not]]) ifTrue:[
-	self javaMode ifTrue:[
-	    theSuperClass := Java at:'java.lang.Object'
-	] ifFalse:[
-	    theSuperClass := Object
-	]
-    ] ifFalse:[
-	theSuperClass := aClass
+        self javaMode ifTrue:[
+            theSuperClass := Java at:'java.lang.Object'
+        ] ifFalse:[
+            theSuperClass := Object
+        ]
+    ] ifFalse:[
+        theSuperClass := aClass
     ].
 
 "/    self switchToClass:nil.
 
     self showCode:(self
-			classTemplateFor:theSuperClass
-			in:cat
-			asNamespace:isNameSpace
-			private:isPrivate
-			metaClassUsed:metaClassUsedOrNil).
+                        classTemplateFor:theSuperClass
+                        in:cat
+                        asNamespace:isNameSpace
+                        private:isPrivate
+                        metaClassUsed:metaClassUsedOrNil).
 
     self setAcceptActionForMetaClassUsed:metaClassUsedOrNil.
     self codeAspect: SyntaxHighlighter codeAspectClassDefinition
@@ -28398,20 +28400,15 @@
     |classes dirName|
 
     classes := self selectedNonMetaclasses.
-    classes := classes reject:[:eachClass | eachClass isPrivate].
-    classes size == 0 ifTrue:[
-	^ self warn:'Only private classes selected'.
-    ].
-
     dirName := self
-		askForDirectoryToFileOut:(resources string:'FileOut %1 classes in:' with:classes size)
-		default:nil.
+                askForDirectoryToFileOut:(resources string:'FileOut %1 classes in:' with:classes size)
+                default:nil.
     dirName isNil ifTrue:[^ self].
 
     self
-	fileOutEachClassIn:classes
-	in:dirName
-	withFormat:aFormatSymbolOrNil.
+        fileOutEachClassIn:classes
+        in:dirName
+        withFormat:aFormatSymbolOrNil.
 
     "Modified: / 11-07-2010 / 16:44:33 / cg"
 !
@@ -30880,33 +30877,33 @@
     movedClassMethods := OrderedCollection new.
 
     aClass theNonMetaclass methodDictionary keysAndValuesDo:[:sel :mthd |
-	mthd package = oldProject ifTrue:[
+        mthd package = oldProject ifTrue:[
 	    "/ JV@2012-02-11
 	    "/ this is required, because otherwise I would no longer be able to
 	    "/ reconstruct my sourcecode (as the connection to the source-file is lost).
 	    mthd makeLocalStringSource.
-	    mthd setPackage:newProject.
-	    movedInstMethods add:mthd.
-	].
+            mthd setPackage:newProject.
+            movedInstMethods add:mthd.
+        ].
     ].
     aClass theMetaclass methodDictionary keysAndValuesDo:[:sel :mthd |
-	mthd package = oldProject ifTrue:[
+        mthd package = oldProject ifTrue:[
 	    "/ JV@2012-02-11
 	    "/ this is required, because otherwise I would no longer be able to
 	    "/ reconstruct my sourcecode (as the connection to the source-file is lost).
 	    mthd makeLocalStringSource.
-	    mthd setPackage:newProject.
-	    movedClassMethods add:mthd.
-	].
+            mthd setPackage:newProject.
+            movedClassMethods add:mthd.
+        ].
     ].
 
     movedInstMethods notEmpty ifTrue:[
-	aClass theNonMetaclass changed:#projectOrganization.
-	Smalltalk changed:#projectOrganization with:(Array with:aClass theNonMetaclass with:movedInstMethods).
+        aClass theNonMetaclass changed:#projectOrganization.
+        Smalltalk changed:#projectOrganization with:(Array with:aClass theNonMetaclass with:movedInstMethods).
     ].
     movedClassMethods notEmpty ifTrue:[
-	aClass theMetaclass changed:#projectOrganization.
-	Smalltalk changed:#projectOrganization with:(Array with:aClass theMetaclass with:movedClassMethods).
+        aClass theMetaclass changed:#projectOrganization.
+        Smalltalk changed:#projectOrganization with:(Array with:aClass theMetaclass with:movedClassMethods).
     ]
 
     "Modified: / 09-03-2012 / 23:41:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -31035,64 +31032,19 @@
     |dirName|
 
     dirName := self
-		askForDirectoryToFileOut:(resources string:'FileOut %1 class(es) in:'
-						    with:aBunchOfClasses size)
-		default:nil.
+                askForDirectoryToFileOut:(resources string:'FileOut %1 class(es) in:'
+                                                    with:aBunchOfClasses size)
+                default:nil.
     dirName isNil ifTrue:[
-	^ self
-    ].
-    self
-	fileOutEachClass:aBunchOfClasses
-	in:dirName
-	withFormat:aFormatSymbolOrNil
-!
-
-fileOutEachClass:aCollectionOfClasses in:aDirectory withFormat:aFormatSymbolOrNil
-    "fileOut a bunch of classes as individual files into some directory"
-
-    |savedClasses privateClasses owningClasses unsavedOwners answer|
-
-    privateClasses := aCollectionOfClasses
-		select:[:eachClass | eachClass isPrivate].
-    savedClasses := (aCollectionOfClasses
-		select:[:eachClass | eachClass isPrivate not]) asIdentitySet.
-    owningClasses := (privateClasses
-		collect:[:eachPrivateClass | eachPrivateClass topOwningClass])
-		    asIdentitySet.
-    unsavedOwners := owningClasses copy.
-    unsavedOwners removeAllFoundIn:savedClasses.
-    unsavedOwners notEmpty ifTrue:[
-	answer := self
-		    confirmWithCancel:'Private classes are saved with their owningClasses;\\Save owners as well ?'
-			    withCRs.
-	answer isNil ifTrue:[
-	    ^ self
-	].
-	answer == true ifTrue:[
-	    savedClasses addAll:unsavedOwners
-	]
-    ].
-    savedClasses do:[:eachClass |
-	|fn|
-
-	eachClass isPrivate ifFalse:[
-	    self busyLabel:'saving: %1' with:eachClass name.
-	    Class fileOutErrorSignal handle:[:ex |
-		    self
-			warn:'cannot fileOut: %1\(%2)\\skipped.'
-			with:eachClass name allBold
-			with:ex description.
-		    self normalLabel.
-		    ex return
-		]
-		do:[
-		    fn := (Smalltalk fileNameForClass:eachClass) , '.st'.
-		    eachClass fileOutAs:(aDirectory asFilename constructString:fn)
-		]
-	]
-    ].
-    self normalLabel
-!
+        ^ self
+    ].
+    self
+        fileOutEachClassIn:aBunchOfClasses
+        in:dirName
+        withFormat:aFormatSymbolOrNil
+!
+
+
 
 generateUndoableChange:nameOfOperation overClasses:classes via:aBlock
     "helper for code generators; collect changes generated by enumerating
@@ -32567,63 +32519,63 @@
     (aManagerOrNil isNil or:[aManagerOrNil performsCompilabilityChecks not]) ifTrue:[
         errors := self checkCompilabilityOfAll:aCollectionOfClasses withExtensions: true errorsOnly:true.
         errors notEmptyOrNil ifTrue:[
-	(TextBox openOn:errors title:'Attention: about to check in class with errors' readOnly:true) isNil
-	ifTrue:[
-	    AbortSignal raise
-	].
+        (TextBox openOn:errors title:'Attention: about to check in class with errors' readOnly:true) isNil
+        ifTrue:[
+            AbortSignal raise
+        ].
         ].
     ].
 
     utilities := aManagerOrNil isNil
-		    ifTrue:[ SourceCodeManagerUtilities default ]
-		    ifFalse:[ aManagerOrNil utilities ].
+                    ifTrue:[ SourceCodeManagerUtilities default ]
+                    ifFalse:[ aManagerOrNil utilities ].
 
     self withActivityNotificationsRedirectedToInfoLabelDo:[
-	utilities
-	    checkinClasses:aCollectionOfClasses
-	    withInfo:logInfoOrNil
-	    withCheck:doCheck
-	    usingManager:aManagerOrNil.
+        utilities
+            checkinClasses:aCollectionOfClasses
+            withInfo:logInfoOrNil
+            withCheck:doCheck
+            usingManager:aManagerOrNil.
     ].
 
     classesNotInPackage := aCollectionOfClasses select:[:cls |
-				|pkg def|
-
-				pkg := cls package.
-				pkg notNil ifTrue:[
-				    def := ProjectDefinition definitionClassForPackage:pkg.
-				].
-				def notNil and:[
-				    (def allClassNames includes:cls name) not]
-			   ].
+                                |pkg def|
+
+                                pkg := cls package.
+                                pkg notNil ifTrue:[
+                                    def := ProjectDefinition definitionClassForPackage:pkg.
+                                ].
+                                def notNil and:[
+                                    (def allClassNames includes:cls name) not]
+                           ].
     classesNotInPackage := classesNotInPackage collect:[:cls | cls theNonMetaclass].
 
     classesNotInPackage notEmpty ifTrue:[
-	classesNotInPackage size > 1 ifTrue:[
-	    msg := 'Add %2 classes to their Package definition (Make compiled or autoloaded) ?'
-	] ifFalse:[
-	    msg := 'Add %1 to its Package definition (Make compiled or autoloaded) ?'
-	].
-	answer := Dialog
-		    confirmWithCancel:((resources string:msg
-					with:classesNotInPackage first name
-					with:classesNotInPackage size)
-				      , (resources
-					    stringWithCRs:'\\(Notice: You have to "checkIn build support files" for the package\for the compilation to become effective)')
-				      )
-		    labels:(resources array:#('Cancel' 'Autoloaded' 'Compiled')).
-	answer == nil ifTrue:[^ self ].
-
-	classesNotInPackage do:[:eachClass |
-	    |defClass|
-
-	    defClass := eachClass projectDefinitionClass.
-	    answer == true ifTrue:[
-		defClass includeClasses:{ eachClass } usingCompiler:nil
-	    ] ifFalse:[
-		defClass makeClassesAutoloaded:{ eachClass } usingCompiler:nil
-	    ].
-	].
+        classesNotInPackage size > 1 ifTrue:[
+            msg := 'Add %2 classes to their Package definition (Make compiled or autoloaded) ?'
+        ] ifFalse:[
+            msg := 'Add %1 to its Package definition (Make compiled or autoloaded) ?'
+        ].
+        answer := Dialog
+                    confirmWithCancel:((resources string:msg
+                                        with:classesNotInPackage first name
+                                        with:classesNotInPackage size)
+                                      , (resources
+                                            stringWithCRs:'\\(Notice: You have to "checkIn build support files" for the package\for the compilation to become effective)')
+                                      )
+                    labels:(resources array:#('Cancel' 'Autoloaded' 'Compiled')).
+        answer == nil ifTrue:[^ self ].
+
+        classesNotInPackage do:[:eachClass |
+            |defClass|
+
+            defClass := eachClass projectDefinitionClass.
+            answer == true ifTrue:[
+                defClass includeClasses:{ eachClass } usingCompiler:nil
+            ] ifFalse:[
+                defClass makeClassesAutoloaded:{ eachClass } usingCompiler:nil
+            ].
+        ].
     ].
 
     "Created: / 21-12-2011 / 18:22:58 / cg"
@@ -33395,20 +33347,20 @@
     currentClass isNil ifTrue:[^ self].
 
     (projectDefinition := currentClass theNonMetaclass) isProjectDefinition ifFalse:[
-	self classMenuCompareClassExtensionsWithRepository.
-	^ self.
+        self classMenuCompareClassExtensionsWithRepository.
+        ^ self.
     ].
     projectsPackage := projectDefinition package.
 
     mgr := SourceCodeManagerUtilities default sourceCodeManagerFor:projectDefinition.
     mgr isNil ifTrue:[
-	^ self
+        ^ self
     ].
 
     revString := projectDefinition perform:(mgr nameOfVersionMethodForExtensions) ifNotUnderstood:nil.
     revString isNil ifTrue:[
-	self warn:('%1 seems to not have any extensions (loaded)' bindWith:projectsPackage).
-	^ self.
+        self warn:('%1 seems to not have any extensions (loaded)' bindWith:projectsPackage).
+        ^ self.
     ].
     info := mgr revisionInfoFromString:revString.
     rev := info revision.
@@ -33417,62 +33369,62 @@
     "/ ask for revision
     "/
     newestRev := mgr
-		    newestRevisionInFile:'extensions.st'
-		    directory:(projectDefinition directory)
-		    module:(projectDefinition module).
+                    newestRevisionInFile:'extensions.st'
+                    directory:(projectDefinition directory)
+                    module:(projectDefinition module).
 
     msg := resources string:'Compare to revision: (empty for newest)'.
     rev notNil ifTrue:[
-	msg := msg , '\\' , (resources string:'Current extensions.st is based upon rev %1.'
-				       with:rev).
+        msg := msg , '\\' , (resources string:'Current extensions.st is based upon rev %1.'
+                                       with:rev).
     ].
     newestRev notNil ifTrue:[
-	msg := msg , '\' , (resources string:'Newest in reporitory is %1.'
-				       with:newestRev)
+        msg := msg , '\' , (resources string:'Newest in reporitory is %1.'
+                                       with:newestRev)
     ].
 
     self normalLabel.
     rev := SourceCodeManagerUtilities default
-		askForExistingRevision:msg
-		title:'Compare Extensions against Revision'
-		class:nil
-		manager:mgr
-		module:projectDefinition module package:projectDefinition directory
-		fileName:'extensions.st'.
+                askForExistingRevision:msg
+                title:'Compare Extensions against Revision'
+                class:nil
+                manager:mgr
+                module:projectDefinition module package:projectDefinition directory
+                fileName:'extensions.st'.
 
     versionsAreTheSame := false.
     rev isNil ifTrue:[
-	self normalLabel.
-	^ self.
+        self normalLabel.
+        ^ self.
     ].
 
     rev withoutSpaces isEmpty ifTrue:[
-	msg := 'extracting newest %1 (' , (newestRev ? '???') , ')'.
-	rev := newestRev.
-	revString := 'newest'.
-    ] ifFalse:[
-	msg := 'extracting previous %1'.
-	revString := rev
+        msg := 'extracting newest %1 (' , (newestRev ? '???') , ')'.
+        rev := newestRev.
+        revString := 'newest'.
+    ] ifFalse:[
+        msg := 'extracting previous %1'.
+        revString := rev
     ].
     changeSetForMethodsInRepository :=
-	SourceCodeManagerUtilities default
-	    changeSetForExtensionMethodsForPackage:projectsPackage
-	    revision:revString orAskForRevision:false
-	    usingManager:mgr.
+        SourceCodeManagerUtilities default
+            changeSetForExtensionMethodsForPackage:projectsPackage
+            revision:revString orAskForRevision:false
+            usingManager:mgr.
 
     changeSetForMethodsInImage := ChangeSet forExistingMethods:(
-				    Method allInstances
-					select:[:m | m package = projectsPackage
-						     and:[ m mclass isNil or:[m isExtension]]]).
+                                    Method allInstances
+                                        select:[:m | m package = projectsPackage
+                                                     and:[ m mclass notNil and:[m isExtension]]]).
 
     diffSet := changeSetForMethodsInImage diffSetsAgainst:changeSetForMethodsInRepository.
 
     (UserPreferences versionDiffViewerClass)
-	openOnDiffSet:diffSet
-	labelA:'Current (In Image)'
-	labelB:'Repository (',rev,')'
-	title:'Diffs'
-	ignoreExtensions:false.
+        openOnDiffSet:diffSet
+        labelA:'Current (In Image)'
+        labelB:'Repository (',rev,')'
+        title:'Diffs'
+        ignoreExtensions:false.
 
     self normalLabel.
 
@@ -34719,27 +34671,27 @@
 showRepositoryLogOf:aClass short:shortOrNot usingManager: managerOrNil beforeLogDo:aBlock
     "show a classes repository log - append to codeView.
      CAVEAT: that is almost the same code as found in SystemBrowser;
-	     move to SourceCodeManagerUtilities."
+             move to SourceCodeManagerUtilities."
     |codeView aStream|
     aStream := WriteStream on:(String new:200).
     Processor activeProcess
-	withPriority:Processor activePriority-1 to:Processor activePriority
+        withPriority:Processor activePriority-1 to:Processor activePriority
     do:[
-	self busyLabel:'Extracting log of %1' with:aClass name.
-	aBlock value:aStream.
-	(managerOrNil isNil
-		ifTrue:[ SourceCodeManagerUtilities default ]
-		ifFalse:[ managerOrNil utilities ])
-	    repositoryLogOf:aClass short:shortOrNot onto:aStream
+        self busyLabel:'Extracting log of %1' with:aClass name.
+        aBlock value:aStream.
+        (managerOrNil isNil
+                ifTrue:[ SourceCodeManagerUtilities default ]
+                ifFalse:[ managerOrNil utilities ])
+            repositoryLogOf:aClass short:shortOrNot onto:aStream
     ].
     self codeAspect:#repositoryLog.
     self selectedMethods value:nil.
     self selectProtocols:nil.
     codeView := self codeView.
     codeView contents:(codeView contents ,
-		       Character cr asString ,
-		       Character cr asString ,
-		       aStream contents).
+                       Character cr asString ,
+                       Character cr asString ,
+                       aStream contents).
     codeView modified:false.
     navigationState realModifiedState:false.
 "/    self clearAcceptAction.
@@ -36589,14 +36541,14 @@
     |rslt|
 
     aRefactoring isNil ifTrue:[
-	^ self
+        ^ self
     ].
 
     rslt := self
-		handlingRefactoringErrorDo:
-		    [
+                handlingRefactoringErrorDo:
+                    [
 			| changes |
-			aRefactoring isRefactoryChange ifTrue:[
+                        aRefactoring isRefactoryChange ifTrue:[
 			    changes := aRefactoring.
 			    (UserPreferences current confirmRefactorings and:[changes shouldBeConfirmed]) ifTrue:[
 				changes := ChangeSetBrowser2 confirmChanges: changes.
@@ -36612,11 +36564,11 @@
 				].
 				RefactoryChangeManager performChange:changes.
 				RefactoringManager instance addRefactoring: aRefactoring performChanges: false.
-			    ] ifFalse:[
-				aRefactoring execute
+                        ] ifFalse:[
+                            aRefactoring execute
 			    ]
-			].
-		    ].
+                        ].
+                    ].
 
     self enqueueDelayedUpdateCodeWithoutAutoSearch.
     ^ rslt
@@ -37631,6 +37583,7 @@
     "Modified: / 28-02-2012 / 16:27:44 / cg"
 ! !
 
+
 !NewSystemBrowser methodsFor:'menu actions-namespace'!
 
 nameSpaceMenuCheckOut
@@ -38323,7 +38276,7 @@
     ] ifFalse:[
         initial := 'module:directory'.
         currentProject := self theSingleSelectedProject.
-        currentProject notNil ifTrue:[
+        (currentProject notNil and:[ currentProject ~= PackageId noProjectID ]) ifTrue:[
             initial := currentProject.
             (initial includes:$:) ifTrue:[
                 (ProjectDefinition definitionClassForPackage:initial) notNil ifTrue:[
@@ -38333,7 +38286,7 @@
                 initial := initial , ':module/','newProject' allBold.
             ].
         ] ifFalse:[
-            initial := OperatingSystem getLoginName , ':module/'.'newProject' allBold.
+            initial := OperatingSystem getLoginName , ':module/','newProject' allBold.
         ].
 
         defaultProjectType := ProjectDefinition defaultProjectType.
@@ -38363,8 +38316,12 @@
         nameField immediateAccept:true.
         nameField entryCompletionBlock:(DoWhatIMeanSupport packageNameEntryCompletionBlock).
     ].
-    (initial includesString:'newProject') ifTrue:[
-        nameField selectFrom:(initial findString:'newProject').
+    (initial includesString:'module/') ifTrue:[
+        nameField selectFrom:(initial findString:'module').
+    ] ifFalse:[
+        (initial includesString:'newProject') ifTrue:[
+            nameField selectFrom:(initial findString:'newProject').
+        ].
     ].
 
     y := box yPosition.
@@ -39624,32 +39581,32 @@
     selectedProjects := self selectedProjectsValue.
     currentProject := self theSingleSelectedProject.
     currentProject notNil ifTrue:[
-	fileName := currentProject asString copy replaceAny:' :/' with:$_.
-    ] ifFalse:[
-	fileName := 'someProjects'
+        fileName := currentProject asString copy replaceAny:' :/' with:$_.
+    ] ifFalse:[
+        fileName := 'someProjects'
     ].
     aFormatSymbolOrNil == #cypress ifTrue:[
 	suffix := ''.
     ] ifFalse:[
 	aFormatSymbolOrNil == #xml ifTrue:[
-	suffix := '.xml'
-	] ifFalse:[
-	aFormatSymbolOrNil == #sif ifTrue:[
-	    suffix := '.sif'
-	] ifFalse:[
-	    aFormatSymbolOrNil == #binary ifTrue:[
-		suffix := '.cls'
-	    ] ifFalse:[
-		suffix := '.st'
-	    ]
-	]
+        suffix := '.xml'
+	] ifFalse:[
+        aFormatSymbolOrNil == #sif ifTrue:[
+            suffix := '.sif'
+        ] ifFalse:[
+            aFormatSymbolOrNil == #binary ifTrue:[
+                suffix := '.cls'
+            ] ifFalse:[
+                suffix := '.st'
+            ]
+        ]
 	].
     ].
     fileName := fileName , suffix.
 
     aFormatSymbolOrNil == #binary ifTrue:[
-	self error:'binary must go into separate files' mayProceed:true.
-	^ self
+        self error:'binary must go into separate files' mayProceed:true.
+        ^ self
     ].
 
     aFormatSymbolOrNil == #cypress ifTrue:[
@@ -39658,9 +39615,9 @@
 	    "default: (FileSelectionBox lastFileSelectionDirectory)"
     ] ifFalse:[
     saveName := Dialog
-	requestFileNameForSave:(resources string:'FileOut %1 as:' with:(currentProject ? 'selected projects'))
-	default:fileName
-	fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
+        requestFileNameForSave:(resources string:'FileOut %1 as:' with:(currentProject ? 'selected projects'))
+        default:fileName
+        fromDirectory:(FileSelectionBox lastFileSelectionDirectory).
     ].
 
 "/    fileBox := FileSelectionBox
@@ -39680,63 +39637,63 @@
 "/    fileBox := nil.
 
     saveName isEmptyOrNil ifTrue:[
-	^ self
+        ^ self
     ].
     FileSelectionBox lastFileSelectionDirectory:(saveName asFilename directoryName).
     fileName := saveName.
 
     aFormatSymbolOrNil == #sif ifTrue:[
-	SmalltalkInterchangeSTXFileOutManager initialize.
-	mgr := SmalltalkInterchangeFileManager newForFileOut.
-	mgr fileName: fileName.
-	self selectedProjectClasses do:[:eachClass |
-	    mgr addClass:eachClass.
-	].
-	Smalltalk allClassesDo:[:eachClass |
-	    eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
-		|mPckg|
-
-		mPckg := mthd package.
-		mPckg ~= eachClass package ifTrue:[
-		    (selectedProjects includes:mPckg) ifTrue:[
-			mgr addMethodNamed:mthd selector ofClass:mthd mclass
-		    ]
-		]
-	    ]
-	].
-	self busyLabel:'writing...'.
-	mgr fileOut.
-	self normalLabel.
-	^ self
+        SmalltalkInterchangeSTXFileOutManager initialize.
+        mgr := SmalltalkInterchangeFileManager newForFileOut.
+        mgr fileName: fileName.
+        self selectedProjectClasses do:[:eachClass |
+            mgr addClass:eachClass.
+        ].
+        Smalltalk allClassesDo:[:eachClass |
+            eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+                |mPckg|
+
+                mPckg := mthd package.
+                mPckg ~= eachClass package ifTrue:[
+                    (selectedProjects includes:mPckg) ifTrue:[
+                        mgr addMethodNamed:mthd selector ofClass:mthd mclass
+                    ]
+                ]
+            ]
+        ].
+        self busyLabel:'writing...'.
+        mgr fileOut.
+        self normalLabel.
+        ^ self
     ].
 
     aFormatSymbolOrNil isNil ifTrue:[
-	self busyLabel:'writing...'.
-	s := fileName asFilename writeStream.
-	classesToFileout := OrderedCollection withAll:(self selectedProjectClasses).
-	classesToFileout topologicalSort:[:a :b | b isSubclassOf:a].
-
-	classesToFileout do:[:eachClass |
-	    eachClass fileOutOn:s.
-	].
-
-	Smalltalk allClassesDo:[:eachClass |
-	    eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
-		|mPckg|
-
-		mPckg := mthd package.
-		(mPckg = currentProject and:[mPckg ~= eachClass package]) ifTrue:[
-		    eachClass
-			fileOutCategory:mthd category
-			methodFilter:[:m | m == mthd]
-			on:s.
-		    s cr.
-		]
-	    ]
-	].
-	s close.
-	self normalLabel.
-	^ self.
+        self busyLabel:'writing...'.
+        s := fileName asFilename writeStream.
+        classesToFileout := OrderedCollection withAll:(self selectedProjectClasses).
+        classesToFileout topologicalSort:[:a :b | b isSubclassOf:a].
+
+        classesToFileout do:[:eachClass |
+            eachClass fileOutOn:s.
+        ].
+
+        Smalltalk allClassesDo:[:eachClass |
+            eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+                |mPckg|
+
+                mPckg := mthd package.
+                (mPckg = currentProject and:[mPckg ~= eachClass package]) ifTrue:[
+                    eachClass
+                        fileOutCategory:mthd category
+                        methodFilter:[:m | m == mthd]
+                        on:s.
+                    s cr.
+                ]
+            ]
+        ].
+        s close.
+        self normalLabel.
+        ^ self.
     ].
 
     aFormatSymbolOrNil == #cypress ifTrue:[
@@ -40461,24 +40418,24 @@
 
     projectDefinitionClass := self projectDefinitionDialogFor:nil.
     projectDefinitionClass isNil ifTrue:[
-	^ self
+        ^ self
     ].
 
     package := projectDefinitionClass package.
     Class packageQuerySignal answer:package
     do:[
-	projectDefinitionClass compileDescriptionMethods.
-	self selectClass:projectDefinitionClass.
-	category := projectDefinitionClass name copyReplaceAll:$_ with:$-.
-
-	projectDefinitionClass isApplicationDefinition ifTrue:[
-	    appClassName := Dialog
-				request:(resources stringWithCRs:'Create initial application class?\(Enter name or cancel)').
-	    appClassName notEmptyOrNil ifTrue:[
-		(appClass := Smalltalk classNamed:appClassName) notNil ifTrue:[
-		    Dialog warn:(resources stringWithCRs:'Application class already exists\(in "%1")' with:appClass package).
-		] ifFalse:[
-		    theCode := '
+        projectDefinitionClass compileDescriptionMethods.
+        self selectClass:projectDefinitionClass.
+        category := projectDefinitionClass name copyReplaceAll:$_ with:$-.
+
+        projectDefinitionClass isApplicationDefinition ifTrue:[
+            appClassName := Dialog
+                                request:(resources stringWithCRs:'Create initial application class?\(Enter name or cancel)').
+            appClassName notEmptyOrNil ifTrue:[
+                (appClass := Smalltalk classNamed:appClassName) notNil ifTrue:[
+                    Dialog warn:(resources stringWithCRs:'Application class already exists\(in "%1")' with:appClass package).
+                ] ifFalse:[
+                    theCode := '
 ApplicationModel subclass: #''%1''
     instanceVariableNames:'' ''
     classVariableNames:'' ''
@@ -40486,36 +40443,36 @@
     category:''%2''
 '                   bindWith:appClassName with:category.
 
-		    self canUseRefactoringSupport ifTrue:[
-			change := AddClassChange definition: theCode.
-			change name:('Create application class %1' bindWith:appClassName).
-			RefactoryChangeManager performChange:change
-		    ] ifFalse:[
-			self
-			    doAcceptClassDefinition:theCode
-			    usingCompiler:Compiler.
-		    ].
-		    appClass := Smalltalk classNamed:appClassName.
-		    appClass package:package.
-		    self classMenuGenerateApplicationCodeForClasses:{ appClass }.
-		    appClass instAndClassMethodsDo:[:m | m package:package].
-		].
-	    ] ifFalse:[
-		appClassName := nil "/ for xxx below
-	    ].
-	    defaultStartupClassName := (appClassName ? 'xxx'),'Start'.
-	    (Smalltalk classNamed:defaultStartupClassName) notNil ifTrue:[
-		defaultStartupClassName := nil
-	    ].
-	    startupClassName := Dialog
-				    request:(resources
-					stringWithCRs:'Create startup class (e.g. main)?\(Enter name or cancel)')
-				    initialAnswer:defaultStartupClassName.
-	    startupClassName notEmptyOrNil ifTrue:[
-		(startupClass := Smalltalk classNamed:startupClassName) notNil ifTrue:[
-		    Dialog warn:(resources stringWithCRs:'Startup class already exists\(in "%1")' with:startupClass package).
-		] ifFalse:[
-		    theCode := '
+                    self canUseRefactoringSupport ifTrue:[
+                        change := AddClassChange definition: theCode.
+                        change name:('Create application class %1' bindWith:appClassName).
+                        RefactoryChangeManager performChange:change
+                    ] ifFalse:[
+                        self
+                            doAcceptClassDefinition:theCode
+                            usingCompiler:Compiler.
+                    ].
+                    appClass := Smalltalk classNamed:appClassName.
+                    appClass package:package.
+                    self classMenuGenerateApplicationCodeForClasses:{ appClass }.
+                    appClass instAndClassMethodsDo:[:m | m package:package].
+                ].
+            ] ifFalse:[
+                appClassName := nil "/ for xxx below
+            ].
+            defaultStartupClassName := (appClassName ? 'xxx'),'Start'.
+            (Smalltalk classNamed:defaultStartupClassName) notNil ifTrue:[
+                defaultStartupClassName := nil
+            ].
+            startupClassName := Dialog
+                                    request:(resources
+                                        stringWithCRs:'Create startup class (e.g. main)?\(Enter name or cancel)')
+                                    initialAnswer:defaultStartupClassName.
+            startupClassName notEmptyOrNil ifTrue:[
+                (startupClass := Smalltalk classNamed:startupClassName) notNil ifTrue:[
+                    Dialog warn:(resources stringWithCRs:'Startup class already exists\(in "%1")' with:startupClass package).
+                ] ifFalse:[
+                    theCode := '
 StandaloneStartup subclass: #''%1''
     instanceVariableNames:'' ''
     classVariableNames:'' ''
@@ -40523,31 +40480,34 @@
     category:''%2''
 '                           bindWith:startupClassName with:category.
 
-		    self canUseRefactoringSupport ifTrue:[
-			change := AddClassChange definition: theCode.
-			change name:('Create startup class %1' bindWith:startupClassName).
-			RefactoryChangeManager performChange:change
-		    ] ifFalse:[
-			self doAcceptClassDefinition:theCode usingCompiler:Compiler.
-		    ].
-		    startupClass := Smalltalk classNamed:startupClassName.
-		    startupClass package:package.
-		].
-
-		"/ update the classList, again
-		projectDefinitionClass compileDescriptionMethods.
-		"/ generate startupClass code
-
-		SmalltalkCodeGeneratorTool
-			compile:(projectDefinitionClass startupClassName_codeFor:(startupClass name))
-			forClass:projectDefinitionClass theMetaclass
-			inCategory:'description - startup'.
-
-		self classMenuGenerateApplicationCodeForClasses:{ startupClass }.
-		startupClass instAndClassMethodsDo:[:m | m package:package].
-	    ].
-	    self selectClass:(appClass ? startupClass).
-	]
+                    self canUseRefactoringSupport ifTrue:[
+                        change := AddClassChange definition: theCode.
+                        change name:('Create startup class %1' bindWith:startupClassName).
+                        RefactoryChangeManager performChange:change
+                    ] ifFalse:[
+                        self doAcceptClassDefinition:theCode usingCompiler:Compiler.
+                    ].
+                    (startupClass := Smalltalk classNamed:startupClassName) notNil ifTrue:[
+                        startupClass package:package.
+                    ]
+                ].
+
+                "/ update the classList, again
+                projectDefinitionClass compileDescriptionMethods.
+                "/ generate startupClass code
+
+                startupClass notNil ifTrue:[
+                    SmalltalkCodeGeneratorTool
+                            compile:(projectDefinitionClass startupClassName_codeFor:(startupClass name))
+                            forClass:projectDefinitionClass theMetaclass
+                            inCategory:'description - startup'.
+
+                    self classMenuGenerateApplicationCodeForClasses:{ startupClass }.
+                    startupClass instAndClassMethodsDo:[:m | m package:package].
+                ].
+            ].
+            self selectClass:(appClass ? startupClass ? projectDefinitionClass).
+        ]
     ].
 
     "Modified: / 23-07-2012 / 13:44:04 / cg"
@@ -43419,20 +43379,20 @@
      affectedClasses classesOfSelectedMethods suggestion|
 
     RBParser isNil ifTrue:[
-	Dialog warn:'Missing class: RBParser'.
-	^ self
+        Dialog warn:'Missing class: RBParser'.
+        ^ self
     ].
     RBParser autoload.
     MethodNameDialog isNil ifTrue:[
-	Dialog warn:'Missing class: MethodNameDialog'.
-	^ self
+        Dialog warn:'Missing class: MethodNameDialog'.
+        ^ self
     ].
     MethodNameDialog autoload.
 
     tree := aClass parseTreeFor:oldSelector.
     tree isNil ifTrue:[
-	self warn: 'Could not parse the method'.
-	^ self
+        self warn: 'Could not parse the method'.
+        ^ self
     ].
     args := tree argumentNames.
 
@@ -43455,10 +43415,10 @@
 
     newSelector := dialog methodName.
     newSelector = oldSelector ifTrue:[
-	newArgs = args ifTrue:[
-	    Dialog information:'no change'.
-	    ^ self.
-	].
+        newArgs = args ifTrue:[
+            Dialog information:'no change'.
+            ^ self.
+        ].
     ].
 
     LastRenamedOld := oldSelector.
@@ -43469,30 +43429,30 @@
     rewriteLocalSendersOnly := dialog isRewritingLocalSendersOnly.
 
     refactoring := RenameMethodRefactoring
-				renameMethod: oldSelector
-				in: aClass
-				to: newSelector
-				permuation: map.
+                                renameMethod: oldSelector
+                                in: aClass
+                                to: newSelector
+                                permuation: map.
     refactoring suppressRewriteOfSenders:renameOnly.
 
     renameOnly ifFalse:[
-	affectedClasses := rewriteLocalSendersOnly
-				ifTrue:[ Smalltalk allClasses ]
-				ifFalse:[ aClass withAllSubclasses ].
-	"/ ask if so many methods should be rewritten; give chance to cancel
+        affectedClasses := rewriteLocalSendersOnly
+                                ifTrue:[ Smalltalk allClasses ]
+                                ifFalse:[ aClass withAllSubclasses ].
+        "/ ask if so many methods should be rewritten; give chance to cancel
 	"/ JV: but not if refactorings are confimed anyway in performRefactoring:...
 	UserPreferences current confirmRefactorings ifFalse:[
-	(self findSendersOf:oldSelector in:affectedClasses andConfirmRefactoring:refactoring) ifFalse:[ ^ self ].
+        (self findSendersOf:oldSelector in:affectedClasses andConfirmRefactoring:refactoring) ifFalse:[ ^ self ].
 	].
     ].
 
     renameSelectedMethodsOnly ifTrue:[
-	(self selectedMethodsValue collect:[:m | m selector] as:Set) size == 1 ifFalse:[
-	    Dialog warn:'Multiple different selectors selected'.
-	    ^ self.
-	].
-
-	classesOfSelectedMethods := self selectedMethodsValue collect:[:m|m mclass].
+        (self selectedMethodsValue collect:[:m | m selector] as:Set) size == 1 ifFalse:[
+            Dialog warn:'Multiple different selectors selected'.
+            ^ self.
+        ].
+
+        classesOfSelectedMethods := self selectedMethodsValue collect:[:m|m mclass].
 "/        classesOfSelectedMethods := classesOfSelectedMethods
 "/                collect:[:cls |
 "/                    |className rbClass|
@@ -43504,26 +43464,26 @@
 "/                    rbClass model:(RBNamespace new).
 "/                    rbClass
 "/                ].
-	refactoring onlyRenameTheseImplementors:classesOfSelectedMethods.
+        refactoring onlyRenameTheseImplementors:classesOfSelectedMethods.
     ].
 
     self withWaitCursorDo:[
-	|classesOfSelectedMethods affectedImplementors|
+        |classesOfSelectedMethods affectedImplementors|
 
 "/        refactoring model name:('rename %1 to %2' bindWith:oldSelector storeString with:newSelector storeString).
 
-	rslt := self performRefactoring:refactoring.
-	self switchToSelector:newSelector asSymbol.
+        rslt := self performRefactoring:refactoring.
+        self switchToSelector:newSelector asSymbol.
     ].
 
     dialog browseOldSendersHolder value ifTrue:[
-	self spawnMethodSendersBrowserFor:(Array with:oldSelector) in:#newBrowser
+        self spawnMethodSendersBrowserFor:(Array with:oldSelector) in:#newBrowser
     ].
     dialog browseNewSendersHolder value ifTrue:[
-	self spawnMethodSendersBrowserFor:(Array with:newSelector) in:#newBrowser
+        self spawnMethodSendersBrowserFor:(Array with:newSelector) in:#newBrowser
     ].
     dialog browseChangedMethodsHolder value ifTrue:[
-	self spawnMethodImplementorsBrowserFor:(Array with:newSelector) match:false in:#newBrowser
+        self spawnMethodImplementorsBrowserFor:(Array with:newSelector) match:false in:#newBrowser
     ].
 
     "Modified: / 28-02-2012 / 16:28:12 / cg"
@@ -45221,34 +45181,32 @@
 selectorMenuPushMethod:upOrDown
     "push method(s) into subclass(s) or up into superclas"
 
-    |selectedMethods refactoring|
+    |selectedMethods|
 
     (self askIfModified:'Code was modified.\\Push method(s) anyway ?')
     ifFalse:[^ self].
 
     selectedMethods := self selectedMethodsValue.
 
-    (selectedMethods collect:[:m | m mclass]) asIdentitySet do:[:eachClass |
-	|methods selectors nm|
-
-	methods := selectedMethods select:[:m | m mclass == eachClass].
-	selectedMethods := selectedMethods select:[:m | m mclass ~~ eachClass].
-	selectors := methods collect:[:each | each  selector].
-	upOrDown == #down ifTrue:[
-	    refactoring := PushDownMethodRefactoring pushDown:selectors from:eachClass.
-	    nm := 'Push down '.
-	] ifFalse:[
-	    refactoring := PushUpMethodRefactoring pushUp:selectors from:eachClass.
-	    nm := 'Push up '.
-	].
-	selectors size == 1 ifTrue:[
-	    nm := nm , selectors first.
-	] ifFalse:[
-	    nm := nm , selectors size printString , ' methods'.
-	].
-	nm := nm , ' from ' , eachClass name.
-	refactoring model name:nm.
-	self performRefactoring:refactoring.
+    (selectedMethods collect:[:m | m mclass] as:IdentitySet) do:[:eachClass |
+        |selectors refactoring nm|
+
+        selectors := selectedMethods select:[:m | m mclass == eachClass] thenCollect:[:each | each selector].
+        upOrDown == #down ifTrue:[
+            refactoring := PushDownMethodRefactoring pushDown:selectors from:eachClass.
+            nm := 'Push down '.
+        ] ifFalse:[
+            refactoring := PushUpMethodRefactoring pushUp:selectors from:eachClass.
+            nm := 'Push up '.
+        ].
+        selectors size == 1 ifTrue:[
+            nm := nm , selectors first.
+        ] ifFalse:[
+            nm := nm , selectors size printString , ' methods'.
+        ].
+        nm := nm , ' from ' , eachClass name.
+        refactoring model name:nm.
+        self performRefactoring:refactoring.
     ].
 
     "Modified: / 28-02-2012 / 16:29:38 / cg"
@@ -49919,9 +49877,9 @@
 
 selectProjects:aCollectionOfProjects
     self selectedProjects value ~= aCollectionOfProjects ifTrue:[
-	self selectedProjects value:aCollectionOfProjects.
-    ] ifFalse:[
-	self halt
+        self selectedProjects value:aCollectionOfProjects.
+    ] ifFalse:[
+        self breakPoint:#cg
     ]
 
     "Created: / 25.2.2000 / 00:54:14 / cg"
@@ -50917,9 +50875,9 @@
     s := '' writeStream.
 
     (aClass isRealNameSpace) ifTrue:[
-	aClass fileOutDefinitionOn:s
-    ] ifFalse:[
-	aClass theNonMetaclass isJavaClass ifTrue:[
+        aClass fileOutDefinitionOn:s
+    ] ifFalse:[
+        aClass theNonMetaclass isJavaClass ifTrue:[
 	    | src |
 	    src := aClass theNonMetaclass source.
 	    src notNil ifTrue:[ ^ src ].
@@ -50927,23 +50885,23 @@
 	    s nextPutLine: '// Following code has been decompiled from loaded class'.
 	    s nextPutLine: '// *** WARNING ***'.
 	    s cr.
-	    aClass fileOutDefinitionOn:s
-	] ifFalse:[
-	    aClass isMeta ifTrue:[
-		aClass
-		    fileOutClassInstVarDefinitionOn:s
-		    withNameSpace:true.
-	    ] ifFalse:[
-		"/
-		"/ here, show it with a nameSpace pragma
-		"/ and prefer short names.
-		"/
-		aClass
-		    basicFileOutDefinitionOn:s
-		    withNameSpace:true
-		    withPackage:false
-	    ].
-	].
+            aClass fileOutDefinitionOn:s
+        ] ifFalse:[
+            aClass isMeta ifTrue:[
+                aClass
+                    fileOutClassInstVarDefinitionOn:s
+                    withNameSpace:true.
+            ] ifFalse:[
+                "/
+                "/ here, show it with a nameSpace pragma
+                "/ and prefer short names.
+                "/
+                aClass
+                    basicFileOutDefinitionOn:s
+                    withNameSpace:true
+                    withPackage:false
+            ].
+        ].
     ].
 
     ^ s contents withTabsExpanded.
@@ -50966,62 +50924,62 @@
 
     m := aClass theMetaclass compiledMethodAt:#documentation.
     m notNil ifTrue:[
-	s := m comment.
-	isComment := false.
-    ] ifFalse:[
-	"try comment"
-	s := aClass comment.
-	s isString ifTrue:[
-	    s isEmpty ifTrue:[
-		s := nil
-	    ] ifFalse:[
-		(s includes:$") ifTrue:[
-		    s := s copyReplaceAll:$" with:$'.
-		].
-		isComment := true.
-		s size > 80 ifTrue:[
-		    s := s asCollectionOfSubstringsSeparatedBy:$..
-		    s := s asStringCollection.
-		    s := s collect:[:each | (each startsWith:Character space) ifTrue:[
-						each copyFrom:2
-					    ] ifFalse:[
-						each
-					    ]
-				   ].
-		    s := s asStringWith:('.' , Character cr).
-		].
-	    ]
-	] ifFalse:[
-	    "/ class redefines comment ?
-	    s := nil
-	].
+        s := m comment.
+        isComment := false.
+    ] ifFalse:[
+        "try comment"
+        s := aClass comment.
+        s isString ifTrue:[
+            s isEmpty ifTrue:[
+                s := nil
+            ] ifFalse:[
+                (s includes:$") ifTrue:[
+                    s := s copyReplaceAll:$" with:$'.
+                ].
+                isComment := true.
+                s size > 80 ifTrue:[
+                    s := s asCollectionOfSubstringsSeparatedBy:$..
+                    s := s asStringCollection.
+                    s := s collect:[:each | (each startsWith:Character space) ifTrue:[
+                                                each copyFrom:2
+                                            ] ifFalse:[
+                                                each
+                                            ]
+                                   ].
+                    s := s asStringWith:('.' , Character cr).
+                ].
+            ]
+        ] ifFalse:[
+            "/ class redefines comment ?
+            s := nil
+        ].
     ].
     s notNil ifTrue:[
-	s asStringCollection withoutLeadingBlankLines
+        s asStringCollection withoutLeadingBlankLines
     ].
 
     infoStream := TextStream on:''.
     infoStream "cr; cr;" cr.
     s isNil ifTrue:[
-	infoStream nextPutLine:' no comment or documentation method found'.
-    ] ifFalse:[
-	"/ nextPutLine:' Documentation:'.
-	infoStream nextPutLine:s; cr.
-	infoStream nextPutLine:' Notice: '.
-	infoStream nextPutAll:'   the above text has been extracted from the classes '.
-	infoStream nextPutLine:(isComment ifTrue:['comment.'] ifFalse:['documentation method.']).
-	infoStream nextPutLine:'   Any change in it will be lost if you ''accept'' here.'.
-	infoStream nextPutAll:'   To change the '.
-	infoStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation']).
-	infoStream nextPutAll:', switch to the '.
-	infoStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation method']).
-	infoStream nextPutLine:' and ''accept'' any changes there.'.
+        infoStream nextPutLine:' no comment or documentation method found'.
+    ] ifFalse:[
+        "/ nextPutLine:' Documentation:'.
+        infoStream nextPutLine:s; cr.
+        infoStream nextPutLine:' Notice: '.
+        infoStream nextPutAll:'   the above text has been extracted from the classes '.
+        infoStream nextPutLine:(isComment ifTrue:['comment.'] ifFalse:['documentation method.']).
+        infoStream nextPutLine:'   Any change in it will be lost if you ''accept'' here.'.
+        infoStream nextPutAll:'   To change the '.
+        infoStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation']).
+        infoStream nextPutAll:', switch to the '.
+        infoStream nextPutAll:(isComment ifTrue:['comment'] ifFalse:['documentation method']).
+        infoStream nextPutLine:' and ''accept'' any changes there.'.
     ].
     infoStream cr.
 
     info := String streamContents:[:s |
-		aClass programmingLanguage writeComment:(infoStream contents) on:s
-	    ].
+                aClass programmingLanguage writeComment:(infoStream contents) on:s
+            ].
     info := info emphasizeAllWith:UserPreferences current commentEmphasisAndColor.
     ^ info
 
@@ -53063,10 +53021,10 @@
 
     classes := self selectedClassesValue copy.
     classes size == 0 ifTrue:[
-	self isMethodListBrowser ifTrue:[
-	    classes := ((self selectedMethodsClasses)
-			    collect:[:each| each theNonMetaclass]) asIdentitySet.
-	]
+        self isMethodListBrowser ifTrue:[
+            classes := self selectedMethodsClasses
+                                collect:[:each| each theNonMetaclass] as:IdentitySet.
+        ]
     ].
     ^ classes
 
@@ -53115,8 +53073,8 @@
     meta := false.
     nm := aClassName.
     (nm endsWith:' class') ifTrue:[
-	meta := true.
-	nm := nm copyWithoutLast:6.
+        meta := true.
+        nm := nm copyWithoutLast:6.
     ].
     nameSym := nm asSymbol.
 
@@ -53124,32 +53082,32 @@
 listOfNamespaces := self selectedNamespaces value.
 
     currentNamespace = (BrowserList nameListEntryForALL) ifTrue:[
-	(cls := Smalltalk at:nameSym) notNil ifTrue:[
-	    meta ifTrue:[^ cls class].
-	    ^ cls
-	]
+        (cls := Smalltalk at:nameSym) notNil ifTrue:[
+            meta ifTrue:[^ cls class].
+            ^ cls
+        ]
     ].
     ("(Array with:Smalltalk) ," (self listOfNamespaces)) do:[:aNamespace |
-	aNamespace = (BrowserList nameListEntryForALL) ifFalse:[
-	    (cls := aNamespace at:nameSym) notNil ifTrue:[
-		meta ifTrue:[^ cls class].
-		^ cls
-	    ]
-	]
+        aNamespace = (BrowserList nameListEntryForALL) ifFalse:[
+            (cls := aNamespace at:nameSym) notNil ifTrue:[
+                meta ifTrue:[^ cls class].
+                ^ cls
+            ]
+        ]
     ].
     currentNamespace ~= (BrowserList nameListEntryForALL) ifTrue:[
-	(cls := Smalltalk at:nameSym) notNil ifTrue:[
-	    meta ifTrue:[^ cls class].
-	    ^ cls
-	]
+        (cls := Smalltalk at:nameSym) notNil ifTrue:[
+            meta ifTrue:[^ cls class].
+            ^ cls
+        ]
     ].
 
     (nm startsWith:'Smalltalk::') ifTrue:[
-	cls := Smalltalk classNamed:(nm copyFrom:'Smalltalk::' size + 1).
-	cls notNil ifTrue:[
-	    meta ifTrue:[^ cls class].
-	    ^ cls
-	]
+        cls := Smalltalk classNamed:(nm copyFrom:'Smalltalk::' size + 1).
+        cls notNil ifTrue:[
+            meta ifTrue:[^ cls class].
+            ^ cls
+        ]
     ].
 
     "JV@2012-07-30: Search for Java class as well"
@@ -56731,26 +56689,26 @@
     | dialog cnfManagerName srcManagerName |
 
     cnfManager notNil ifTrue:[
-	cnfManagerName := cnfManager managerTypeName
-    ] ifFalse:[
-	cnfManagerName := self class resources at: 'Not configured'.
+        cnfManagerName := cnfManager managerTypeName
+    ] ifFalse:[
+        cnfManagerName := self class resources at: 'Not configured'.
     ].
     srcManager notNil ifTrue:[
 	srcManagerName := srcManager managerTypeName
     ] ifFalse:[
-	srcManagerName := self class resources at: 'Unknown'.
+        srcManagerName := self class resources at: 'Unknown'.
     ].
 
     dialog := DialogBox new.
     dialog label: package, ': source code managers does not match'.
     (dialog addTextLabel:
-	    ('Default configured source manager does match with\' ,
-	    'source code manager for the source. This may mean\' ,
-	    'that you have compiled the package using sources\',
-	    'checked out using different repository and source\',
-	    'code management system that the one you have configured\',
-	    'for the package') withCRs)
-	    adjust: #left.
+            ('Default configured source manager does match with\' ,
+            'source code manager for the source. This may mean\' ,
+            'that you have compiled the package using sources\',
+            'checked out using different repository and source\',
+            'code management system that the one you have configured\',
+            'for the package') withCRs)
+            adjust: #left.
     (dialog addTextLabel: 'Package: ', package) adjust: #left.
     (dialog addTextLabel: 'Configured SCM: ', cnfManagerName) adjust: #left.
     (dialog addTextLabel: 'Source SCM: ', srcManagerName) adjust: #left.
@@ -59074,11 +59032,11 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1854 2013-03-27 19:45:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1857 2013-03-30 19:59:17 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1854 2013-03-27 19:45:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1857 2013-03-30 19:59:17 cg Exp $'
 !
 
 version_HG
--- a/Tools__ProjectCheckerBrowser.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__ProjectCheckerBrowser.st	Mon Apr 01 14:07:29 2013 +0100
@@ -277,7 +277,8 @@
         self problemSelectionHolder value doFix: index
     ] on: UserNotification do:[:not|
         self infoPanel showMessage: not description.
-    ]
+    ].
+    (self builder componentAt:'List') invalidate.
 
     "Created: / 26-07-2012 / 10:06:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
@@ -415,11 +416,11 @@
 !ProjectCheckerBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.3 2013-03-27 19:30:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.4 2013-03-30 19:07:38 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.3 2013-03-27 19:30:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.4 2013-03-30 19:07:38 cg Exp $'
 !
 
 version_SVN
--- a/Tools__TestRunner2.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__TestRunner2.st	Mon Apr 01 14:07:29 2013 +0100
@@ -1845,7 +1845,7 @@
 !TestRunner2::ClassList class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.36 2013-03-13 13:14:03 cg Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
 ! !
 
 !TestRunner2::ClassList methodsFor:'private'!
@@ -1853,11 +1853,13 @@
 nameListEntryFor:aClass withNameSpace:useFullName
 
     | nm |
+
     nm := super nameListEntryFor:aClass withNameSpace:useFullName.
-    (aClass isTestCaseLike) ifFalse:
-        [self breakPoint: #jv.
-        ^nm].
-    aClass isAbstract ifTrue:[nm := nm colorizeAllWith:Color gray].
+    (aClass isTestCaseLike) ifFalse:[
+        self breakPoint: #jv.
+        ^nm
+    ].
+    aClass isAbstract ifTrue:[nm := nm allItalic colorizeAllWith:Color gray].
     ^nm
 
     "Created: / 27-11-2008 / 17:24:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
@@ -2342,11 +2344,11 @@
 !TestRunner2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.36 2013-03-13 13:14:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.36 2013-03-13 13:14:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
 !
 
 version_HG
--- a/Tools__TextDiffTool.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/Tools__TextDiffTool.st	Mon Apr 01 14:07:29 2013 +0100
@@ -63,6 +63,7 @@
 "
 ! !
 
+
 !TextDiffTool class methodsFor:'image specs'!
 
 versionA24x24
@@ -93,8 +94,19 @@
     "Created: / 17-03-2012 / 12:18:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool class methodsFor:'interface specs'!
 
+
+
+
+
+
+
+
+
+
+
 windowSpec
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
@@ -183,6 +195,7 @@
       )
 ! !
 
+
 !TextDiffTool class methodsFor:'interface specs - labels'!
 
 versionALabelSpec
@@ -289,6 +302,8 @@
     "Modified: / 30-06-2011 / 20:53:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 versionCLabelSpec
     "This resource specification was automatically generated
      by the UIPainter of ST/X."
@@ -342,6 +357,7 @@
     "Created: / 16-03-2012 / 12:16:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -364,6 +380,7 @@
     "Created: / 16-03-2012 / 12:18:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool methodsFor:'accessing'!
 
 label: aString
@@ -446,6 +463,7 @@
     "Created: / 30-08-2011 / 09:45:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool methodsFor:'aspects'!
 
 classHolder
@@ -522,6 +540,10 @@
     ].
 !
 
+
+
+
+
 diffView
 "/    diffView isNil ifTrue:[
         diffView := self initializeDiffView.
@@ -559,7 +581,14 @@
     diffView notNil ifTrue:[diffView languageHolder: aValueHolder].
 
     "Modified: / 19-07-2011 / 12:54:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+
+
+
+
+ !
+
 
 !TextDiffTool methodsFor:'aspects-versions'!
 
@@ -749,8 +778,11 @@
     "Created: / 16-03-2012 / 12:14:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool methodsFor:'change & update'!
 
+
+
 codeAspect:aSymbol
     self codeAspectHolder value:aSymbol
 
@@ -783,16 +815,23 @@
     "Created: / 16-03-2012 / 12:36:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 updateAfterAorBorCChanged
     "Called whenever one of the texts changes"
 
     ^ self subclassResponsibility
 
     "Modified (comment): / 16-03-2012 / 12:39:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+ !
+
 
 !TextDiffTool methodsFor:'hooks'!
 
+
+
 postBuildDiffView:aScrollableView
 
     diffView := aScrollableView.
@@ -812,6 +851,7 @@
     "Created: / 26-07-2012 / 19:13:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool methodsFor:'initialization'!
 
 initialize
@@ -829,6 +869,20 @@
     "Created: / 16-01-2013 / 09:45:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
+!TextDiffTool methodsFor:'private'!
+
+
+
+
+
+
+
+
+
+ !
+
+
 !TextDiffTool methodsFor:'testing'!
 
 isDiff2
@@ -849,14 +903,15 @@
     "Created: / 19-03-2012 / 11:53:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !TextDiffTool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.8 2012-07-27 21:48:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.9 2013-03-29 07:27:32 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.8 2012-07-27 21:48:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TextDiffTool.st,v 1.9 2013-03-29 07:27:32 cg Exp $'
 !
 
 version_HG
--- a/extensions.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/extensions.st	Mon Apr 01 14:07:29 2013 +0100
@@ -2064,7 +2064,7 @@
 !stx_libtool class methodsFor:'documentation'!
 
 extensionsVersion_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.102 2013-03-27 16:37:42 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.103 2013-03-30 15:44:24 cg Exp $'
 ! !
 !stx_libtool class methodsFor:'documentation'!
 
--- a/mingwmake.bat	Sun Mar 31 18:03:22 2013 +0100
+++ b/mingwmake.bat	Mon Apr 01 14:07:29 2013 +0100
@@ -8,7 +8,9 @@
 @FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
 @IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
 
-@call ..\rules\find_mingw.bat
+@pushd ..\rules
+@call find_mingw.bat
+@popd
 make.exe -N -f bc.mak %USEMINGW_ARG% %*
 
 
--- a/stx_libtool.st	Sun Mar 31 18:03:22 2013 +0100
+++ b/stx_libtool.st	Mon Apr 01 14:07:29 2013 +0100
@@ -202,7 +202,6 @@
         BrowserView
         (ChangeSetBrowser autoload)
         ChangesBrowser
-        (ClassInspectorView autoload)
         (ClassItem autoload)
         (ClassItemRoot autoload)
         (ClassItemRootForRevision autoload)
@@ -235,6 +234,7 @@
         (HierarchicalClassRevisionList autoload)
         (HierarchicalVersionDiffBrowser autoload)
         InspectorView
+        ClassInspectorView
         (Launcher autoload)
         (LibraryBuilder autoload)
         MemoryMonitor
@@ -355,8 +355,6 @@
         DirectoryTreeBrowser
         PerforceSourceCodeManagementSettingsAppl
         StoreSourceCodeManagementSettingsAppl
-        #'Tools::ChangeList'
-        #'Tools::ChangeSetDiffList'
         #'Tools::ClassCategoryList'
         #'Tools::ClassGeneratorList'
         #'Tools::ClassList'
@@ -367,7 +365,6 @@
         #'Tools::ProjectList'
         #'Tools::VariableList'
         #'Tools::FullMethodCategoryList'
-        #'Tools::HierarchicalChangeList'
         #'Tools::HierarchicalClassCategoryList'
         #'Tools::HierarchicalClassList'
         #'Tools::HierarchicalLintRuleList'
@@ -381,6 +378,9 @@
         #'Tools::LintHighlighter'
         #'Tools::LintService'
         #'Tools::SourceCodeManagerConfigurationTestTool'
+        #'Tools::ChangeList'
+        #'Tools::ChangeSetDiffList'
+        #'Tools::HierarchicalChangeList'
         FileBasedSourceCodeManagementSettingsAppl
         DataBaseSourceCodeManagementSettingsAppl
         DirectoryDifferenceViewApplication
@@ -579,8 +579,6 @@
     "Modified: / 18-07-2012 / 19:11:53 / cg"
 !
 
-
-
 productName
     "Return a product name which will appear in <lib>.rc"
 
@@ -610,11 +608,11 @@
 !stx_libtool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.90 2013-03-18 13:57:34 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.91 2013-03-30 16:04:30 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.90 2013-03-18 13:57:34 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.91 2013-03-30 16:04:30 cg Exp $'
 !
 
 version_HG
--- a/vcmake.bat	Sun Mar 31 18:03:22 2013 +0100
+++ b/vcmake.bat	Mon Apr 01 14:07:29 2013 +0100
@@ -5,7 +5,9 @@
 @REM -------
 
 @if not defined VSINSTALLDIR (
-    call ..\rules\vcsetup.bat
+    pushd ..\rules
+    call vcsetup.bat
+    popd
 )
 @SET DEFINES=
 @REM Kludge got Mercurial, cannot be implemented in Borland make