Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD) jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 04 Apr 2013 19:06:16 +0100
branchjv
changeset 12650 e0f607754b9a
parent 12630 18d06283743d (current diff)
parent 12640 ff31bac2fd1b (diff)
child 12651 80720f8a6c70
child 12652 e5f95ff2fedf
Merged 18d06283743d and ff31bac2fd1b (branch default - CVS HEAD)
AbstractLauncherApplication.st
AbstractSettingsApplication.st
BrowserView.st
ChangeSetBrowser.st
ChangesBrowser.st
ClassItem.st
ClassItemRootForRevision.st
ClassNameItem.st
ClassRevisionTree.st
ClassVariablesInspectorView.st
CodeGeneratorTests.st
ColorInspectorView.st
DebugView.st
DictionaryInspectorView.st
Diff3TextView.st
DirectoryContentsBrowser.st
EWorldIconLibrary.st
EventMonitor.st
ExpandableRevisionItem.st
FileBrowserV2SettingsDialog.st
FileBrowserV2Tests.st
FileDialogV2.st
HierarchicalClassRevisionList.st
HierarchicalVersionDiffBrowser.st
InspectorView.st
Launcher.st
LibraryBuilder.st
MemoryUsageView.st
OldLauncher.st
ProcessMonitor.st
ProjectView.st
RCSConflictEditTextView.st
SemaphoreMonitor.st
SourceRevisionItem.st
SyntaxHighlighter2.st
SystemBrowser.st
TerminalApplication.st
TextDiffTests.st
Tools__BrowserList.st
Tools__ChangeList.st
Tools__ChangeSetBrowser2.st
Tools__ChangeSetDiffTool.st
Tools__ClassCategoryList.st
Tools__ClassChecker.st
Tools__ClassList.st
Tools__CodeHighlightingService.st
Tools__CodeView2DemoApp.st
Tools__CompilerWarningToDoListEntry.st
Tools__DiffCodeView2DemoApp.st
Tools__HierarchicalClassList.st
Tools__HierarchicalProjectList.st
Tools__InheritanceClassList.st
Tools__InlineMessageDialog.st
Tools__MethodCategoryList.st
Tools__MethodList.st
Tools__NavigationHistoryTests.st
Tools__NavigationState.st
Tools__NewSystemBrowser.st
Tools__OrganizerCanvas.st
Tools__ProjectCheckerBrowser.st
Tools__ProjectList.st
Tools__SearchDialog.st
Tools__SmalltalkMergeTool.st
Tools__TestRunner2.st
Tools__TestRunnerEmbedded.st
Tools__ToDoList.st
Tools__ToDoListBrowser.st
Tools__ToDoNotification.st
VersionDiffBrowser.st
VersionRevisionItem.st
WorkspaceApplication.st
extensions.st
stx_libtool.st
--- a/BrowserView.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/BrowserView.st	Thu Apr 04 19:06:16 2013 +0100
@@ -79,7 +79,6 @@
 "
 ! !
 
-
 !BrowserView class methodsFor:'initialization'!
 
 initialize
@@ -129,7 +128,6 @@
     "Modified: / 27.10.1997 / 17:34:25 / cg"
 ! !
 
-
 !BrowserView class methodsFor:'class history'!
 
 addToClassHistory:aClass selector:aSelector
@@ -142,7 +140,6 @@
     SystemBrowser checkClassHistory
 ! !
 
-
 !BrowserView class methodsFor:'cleanup'!
 
 lowSpaceCleanup
@@ -159,7 +156,6 @@
     Icons := DefaultIcon := nil.
 ! !
 
-
 !BrowserView class methodsFor:'defaults'!
 
 changeHistoryMaxSize
@@ -233,7 +229,6 @@
     "Created: / 29.10.1997 / 03:32:43 / cg"
 ! !
 
-
 !BrowserView class methodsFor:'interface specs'!
 
 methodFilterSpec
@@ -616,7 +611,6 @@
       )
 ! !
 
-
 !BrowserView class methodsFor:'menu specs'!
 
 menuSpec
@@ -1675,14 +1669,12 @@
       )
 ! !
 
-
 !BrowserView class methodsFor:'resources'!
 
 classResources
     ^ SystemBrowser classResources
 ! !
 
-
 !BrowserView methodsFor:'change & update'!
 
 delayedUpdate:something with:someArgument from:changedObject
@@ -2094,7 +2086,6 @@
     "Modified: 26.3.1997 / 18:29:51 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class category list menu'!
 
 browserClone
@@ -2140,17 +2131,8 @@
     self withWaitCursorDo:[
         |brwsr methods|
 
-        methods := IdentitySet new.
-        environment allClassesDo:[:eachClass |
-            |classPackage|
-
-            classPackage := eachClass package.
-            eachClass instAndClassMethodsDo:[:mthd |
-                mthd package ~= classPackage ifTrue:[ methods add:mthd ].
-            ].
-        ].
-
-        brwsr := SystemBrowser browseMethods:methods title:'All Class extensions'.
+        methods := Smalltalk allExtensions.
+        brwsr := SystemBrowser browseMethods:methods title:'All Class Extensions'.
         brwsr notNil ifTrue:[brwsr environment:environment].
     ]
 
@@ -2969,7 +2951,6 @@
     "Modified: / 10.4.1998 / 12:25:38 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class category source administration'!
 
 classCategoryCheckinEach
@@ -3426,7 +3407,6 @@
     "Modified (format): / 29-09-2011 / 16:09:52 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class category stuff'!
 
 checkClassCategorySelected
@@ -3711,7 +3691,6 @@
     "Modified: / 27.7.1998 / 10:56:50 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class history'!
 
 changeHistoryMenu
@@ -3909,7 +3888,6 @@
     self class classHistory:savedHistory.
 ! !
 
-
 !BrowserView methodsFor:'class list menu'!
 
 classClassInstVars
@@ -5220,7 +5198,6 @@
     "Modified: 17.6.1997 / 13:32:40 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class list source administration'!
 
 classCheckin
@@ -5770,7 +5747,6 @@
     "Modified: / 10.2.2000 / 14:14:09 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class stuff'!
 
 allClasses
@@ -6946,7 +6922,6 @@
     "Modified: 10.1.1997 / 14:01:20 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class-method list menu'!
 
 classMethodBrowse
@@ -7160,7 +7135,6 @@
     "Modified: / 7.8.1998 / 17:13:47 / cg"
 ! !
 
-
 !BrowserView methodsFor:'class-method stuff'!
 
 classFromClassMethodString:aString
@@ -7449,7 +7423,6 @@
     "Modified: / 17.10.1998 / 11:30:35 / cg"
 ! !
 
-
 !BrowserView methodsFor:'event handling'!
 
 handlesKeyPress:key inView:view
@@ -7552,7 +7525,6 @@
     "Modified: / 18.4.1998 / 15:56:36 / cg"
 ! !
 
-
 !BrowserView methodsFor:'help'!
 
 helpTextFor:aComponent
@@ -7574,7 +7546,6 @@
     "Modified: 28.6.1997 / 15:00:18 / cg"
 ! !
 
-
 !BrowserView methodsFor:'initialization & release'!
 
 autoSearch:aString
@@ -7761,7 +7732,6 @@
     "Modified: 18.8.1997 / 15:19:50 / cg"
 ! !
 
-
 !BrowserView methodsFor:'initialize subviews'!
 
 createClassListViewIn:frame
@@ -8332,7 +8302,6 @@
     "Modified: / 25.10.1997 / 19:27:40 / cg"
 ! !
 
-
 !BrowserView methodsFor:'method category list menu'!
 
 createAccessMethodsFor:aCollectionOfInstVarNames withChange:withChange
@@ -8699,7 +8668,7 @@
     |someCategories existingCategories box superclass|
 
     actualClass notNil ifTrue:[
-        someCategories := actualClass allCategories asSet.
+        someCategories := actualClass allCategories asNewSet.
         (superclass := actualClass superclass) notNil ifTrue:[
             superclass allSubclasses do:[:cls |
                 someCategories addAll:cls categories
@@ -8874,7 +8843,6 @@
                                     ]
 ! !
 
-
 !BrowserView methodsFor:'method category stuff'!
 
 asBrowserList:aList
@@ -9121,7 +9089,6 @@
     "Modified: 18.8.1997 / 15:44:38 / cg"
 ! !
 
-
 !BrowserView methodsFor:'method list menu'!
 
 commonTraceHelperWith:aSelector
@@ -10547,7 +10514,6 @@
     "Modified: / 12.1.1998 / 19:16:22 / cg"
 ! !
 
-
 !BrowserView methodsFor:'method stuff'!
 
 checkMethodSelected
@@ -11091,7 +11057,6 @@
     "Modified: 30.7.1997 / 15:55:06 / cg"
 ! !
 
-
 !BrowserView methodsFor:'misc'!
 
 beep
@@ -11388,7 +11353,6 @@
     "Modified: / 10.2.2000 / 14:15:03 / cg"
 ! !
 
-
 !BrowserView methodsFor:'namespace menu'!
 
 nameSpaceCheckInEach
@@ -11541,7 +11505,6 @@
     "Modified: / 3.2.1999 / 20:18:13 / cg"
 ! !
 
-
 !BrowserView methodsFor:'namespace stuff'!
 
 changeNameSpaceTo:nsName
@@ -11727,7 +11690,6 @@
     "Created: 8.1.1997 / 10:54:03 / cg"
 ! !
 
-
 !BrowserView methodsFor:'private'!
 
 askAndBrowseMethodCategory:title action:aBlock
@@ -13282,7 +13244,6 @@
     "Created: 18.8.1997 / 15:41:52 / cg"
 ! !
 
-
 !BrowserView methodsFor:'private-defaults'!
 
 breakPointedIcon
@@ -13407,7 +13368,6 @@
     ^ self fetchIcon:#trace selector:#traceIcon
 ! !
 
-
 !BrowserView methodsFor:'private-queries'!
 
 hasClassCategorySelected
@@ -13531,7 +13491,6 @@
         and:[ variableListView selectionValue notNil ]]
 ! !
 
-
 !BrowserView methodsFor:'syntax coloring'!
 
 startSyntaxHighlightProcess
@@ -13719,7 +13678,6 @@
     "Modified: / 20.11.2001 / 00:38:09 / cg"
 ! !
 
-
 !BrowserView methodsFor:'unused'!
 
 listOfAllMethodCategoriesInHierarchy:aClass
@@ -13766,7 +13724,6 @@
     "Modified: 5.6.1996 / 11:42:12 / stefan"
 ! !
 
-
 !BrowserView methodsFor:'variable list menu'!
 
 allClassInstVarMods
@@ -14279,7 +14236,6 @@
     "Modified: 25.5.1996 / 12:26:07 / cg"
 ! !
 
-
 !BrowserView methodsFor:'variable stuff'!
 
 hilightEntryFor:entry
@@ -14591,11 +14547,10 @@
     "Modified: / 17.9.1998 / 13:45:02 / cg"
 ! !
 
-
 !BrowserView class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.840 2013-03-22 11:36:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.841 2013-04-02 09:32:19 stefan Exp $'
 !
 
 version_HG
--- a/ChangeSetBrowser.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ChangeSetBrowser.st	Thu Apr 04 19:06:16 2013 +0100
@@ -47,7 +47,6 @@
 "
 ! !
 
-
 !ChangeSetBrowser class methodsFor:'instance creation'!
 
 open
@@ -79,6 +78,7 @@
     ^ self openOn:changeSet
 
     "
+     self openOnFile:'st.chg'
      self openOnFile:'c:\Users\cg\work\stx\goodies\soap\spray5.2\Steve Waring\Spray WebServices\Spray\Auth\SWT Spray Auth Tests.pac'
      ChangeSet fromFile:'c:\Users\cg\work\stx\goodies\soap\spray5.2\Steve Waring\Spray WebServices\Spray\Auth\SWT Spray Auth Tests.pac'
     "
@@ -86,7 +86,6 @@
     "Modified: / 17-02-2011 / 10:29:50 / cg"
 ! !
 
-
 !ChangeSetBrowser class methodsFor:'defaults'!
 
 defaultLabel
@@ -95,7 +94,6 @@
     "Created: / 6.2.1998 / 13:25:47 / cg"
 ! !
 
-
 !ChangeSetBrowser class methodsFor:'menu specs'!
 
 menuSpec
@@ -547,7 +545,6 @@
       )
 ! !
 
-
 !ChangeSetBrowser methodsFor:'initialization & release'!
 
 askIfChangesAreToBeWrittenBack
@@ -627,7 +624,6 @@
     ^ "false" super showingDiffsDefault 
 ! !
 
-
 !ChangeSetBrowser methodsFor:'menu aspects'!
 
 hasNotUndoableChangeSelected
@@ -671,7 +667,6 @@
     ^ false
 ! !
 
-
 !ChangeSetBrowser methodsFor:'private'!
 
 applyChange:changeNr
@@ -984,7 +979,6 @@
     "Modified: / 7.2.1998 / 19:52:44 / cg"
 ! !
 
-
 !ChangeSetBrowser methodsFor:'user actions'!
 
 doInspectChange
@@ -1039,14 +1033,18 @@
     super updateDiffViewFor:changeNr.
 ! !
 
-
 !ChangeSetBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.57 2013-03-31 11:58:23 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.58 2013-04-02 19:24:48 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.57 2013-03-31 11:58:23 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.58 2013-04-02 19:24:48 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
 
--- a/ChangesBrowser.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ChangesBrowser.st	Thu Apr 04 19:06:16 2013 +0100
@@ -104,7 +104,6 @@
 "
 ! !
 
-
 !ChangesBrowser class methodsFor:'instance creation'!
 
 new
@@ -138,7 +137,6 @@
     "Modified: / 18-07-2010 / 10:32:18 / cg"
 ! !
 
-
 !ChangesBrowser class methodsFor:'behavior'!
 
 autoSelectNext
@@ -148,7 +146,6 @@
     ^ true
 ! !
 
-
 !ChangesBrowser class methodsFor:'defaults'!
 
 defaultIcon
@@ -172,7 +169,6 @@
     "Created: / 27.9.1999 / 12:28:27 / cg"
 ! !
 
-
 !ChangesBrowser class methodsFor:'menu specs'!
 
 flyByHelpSpec
@@ -761,7 +757,6 @@
       )
 ! !
 
-
 !ChangesBrowser class methodsFor:'private-changeFile access'!
 
 readXMLChangesFrom:aStream inBackground:inBackground
@@ -800,7 +795,6 @@
     ^ set.
 ! !
 
-
 !ChangesBrowser class methodsFor:'utilities'!
 
 isXMLFile:aFilename
@@ -834,7 +828,6 @@
         )
 ! !
 
-
 !ChangesBrowser methodsFor:'aspects'!
 
 applyInOriginalNameSpace
@@ -978,7 +971,6 @@
     ^ updateChangeSet
 ! !
 
-
 !ChangesBrowser methodsFor:'compiler interface'!
 
 wantChangeLog
@@ -988,7 +980,6 @@
     ^ false
 ! !
 
-
 !ChangesBrowser methodsFor:'compiler interface-error handling'!
 
 correctableError:aString position:relPos to:relEndPos from:aCompiler
@@ -1090,7 +1081,6 @@
     ^ self
 ! !
 
-
 !ChangesBrowser methodsFor:'event handling'!
 
 handlesKeyPress:key inView:view
@@ -1150,7 +1140,6 @@
     "Modified: / 18.6.1998 / 22:15:36 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'help'!
 
 showActivity:someMessage
@@ -1167,7 +1156,6 @@
     "Modified: 23.4.1996 / 21:39:36 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'initialization & release'!
 
 autoCompareChanged
@@ -1631,7 +1619,6 @@
     "Modified: / 03-01-2012 / 15:23:13 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'menu actions'!
 
 doApply
@@ -3034,23 +3021,23 @@
 setEnforcedPackage
     |pkg listOfKnownPackages|
 
-    listOfKnownPackages := Set new.
-    Smalltalk allClassesDo:[:eachClass |
-				|package|
-
-				package := eachClass package.
-				package size > 0 ifTrue:[
-				    listOfKnownPackages add:package
-				]
-			   ].
-    listOfKnownPackages := listOfKnownPackages asOrderedCollection sort.
+    listOfKnownPackages := Smalltalk allProjectIDs.
+"/    Smalltalk allClassesDo:[:eachClass |
+"/                                |package|
+"/
+"/                                package := eachClass package.
+"/                                package size > 0 ifTrue:[
+"/                                    listOfKnownPackages add:package
+"/                                ]
+"/                           ].
+    listOfKnownPackages := listOfKnownPackages asNewOrderedCollection sort.
 
     pkg := Dialog
-		request:'When applying, changes go into package:'
-		initialAnswer:(enforcedPackage ? Class packageQuerySignal query)
-		list:listOfKnownPackages.
+                request:'When applying, changes go into package:'
+                initialAnswer:(enforcedPackage ? Class packageQuerySignal query)
+                list:listOfKnownPackages.
     pkg size ~~ 0 ifTrue:[
-	enforcedPackage := pkg
+        enforcedPackage := pkg
     ]
 !
 
@@ -3058,7 +3045,6 @@
     ToolApplicationModel openAboutSTX
 ! !
 
-
 !ChangesBrowser methodsFor:'private'!
 
 autoSelect:changeNr
@@ -3545,7 +3531,6 @@
     self withSelectedChangesInOrder:nil do:aBlock
 ! !
 
-
 !ChangesBrowser methodsFor:'private-change access'!
 
 changeIsFollowupMethodChange:changeNr
@@ -4110,7 +4095,6 @@
     ^ aStream
 ! !
 
-
 !ChangesBrowser methodsFor:'private-changeFile access'!
 
 changeFileName:aFileName
@@ -4176,7 +4160,7 @@
      since comparing slows down startup time, it is now disabled by
      default and can be enabled via a toggle."
 
-    |inStream i f askedForEditingClassSource myProcess myPriority myPrioRange encoding decoder|
+    |inStream i f askedForEditingClassSource myProcess myPriority myPrioRange|
 
     editingClassSource := false.
     askedForEditingClassSource := false.
@@ -4191,14 +4175,7 @@
 
     f := changeFileName asFilename.
     f exists ifFalse:[^ self].
-    inStream :=  f readStream.
-
-    encoding := CharacterEncoder guessEncodingOfStream:inStream.
-    encoding notNil ifTrue:[
-        decoder := CharacterEncoder encoderFor:encoding.
-        inStream := EncodedStream stream:inStream encoder:decoder.
-        inStream skipEncodingChunk.
-    ].
+    inStream := EncodedStream decodedStreamFor:(f readStream).
 
     i := f info.
     changeFileSize := i fileSize.
@@ -4374,7 +4351,6 @@
     "Modified: / 27-07-2012 / 09:46:00 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'private-user interaction ops'!
 
 appendChange:changeNr toFile:aFileNameOrFileNameString
@@ -5571,7 +5547,6 @@
     "Modified: / 05-03-2012 / 14:33:16 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'termination'!
 
 askIfChangesAreToBeWrittenBack
@@ -5618,7 +5593,6 @@
     "Modified: / 3.8.1998 / 19:54:00 / cg"
 ! !
 
-
 !ChangesBrowser methodsFor:'user interaction'!
 
 askForSearch:msg initialAnswer:initial thenSearchUsing:searchBlock2 onCancel:cancelBlock
@@ -5890,7 +5864,6 @@
     "Created: / 03-01-2012 / 15:26:36 / cg"
 ! !
 
-
 !ChangesBrowser::ChangeFileReader methodsFor:'accessing'!
 
 autoCompare:something
@@ -5963,7 +5936,6 @@
     "Modified: / 06-10-2006 / 11:18:49 / cg"
 ! !
 
-
 !ChangesBrowser::ChangeFileReader methodsFor:'private'!
 
 contractClass:className selector:selector to:maxLen
@@ -6033,7 +6005,6 @@
     ^ browser nameSpaceForApply
 ! !
 
-
 !ChangesBrowser::ChangeFileReader methodsFor:'reading'!
 
 addHeaderLineForChangeType:changeType changeString:changeString changeDelta:changeDelta timeStampInfo:timeStampInfo
@@ -6562,15 +6533,14 @@
     "Modified: / 10-07-2010 / 10:58:08 / cg"
 ! !
 
-
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.435 2013-03-31 11:57:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.436 2013-04-03 15:44:38 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.435 2013-03-31 11:57:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.436 2013-04-03 15:44:38 cg Exp $'
 !
 
 version_HG
--- a/ClassItem.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ClassItem.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 AbstractVersionDiffBrowserItem subclass:#ClassItem
 	instanceVariableNames:'myClass isRegistered revisonColl revisionInfo'
@@ -80,12 +79,14 @@
 myClass
     "return the value of the instance variable 'myClass' (automatically generated)"
 
-    ^ myClass!
+    ^ myClass
+!
 
 myClass:something
     "set the value of the instance variable 'myClass' (automatically generated)"
 
-    myClass := something.!
+    myClass := something.
+!
 
 needsChildren
     "return the value of the instance variable 'isRegistered' (automatically generated)"
@@ -96,12 +97,14 @@
 revisonColl
     "return the value of the instance variable 'revisonColl' (automatically generated)"
 
-    ^ revisonColl!
+    ^ revisonColl
+!
 
 revisonColl:something
     "set the value of the instance variable 'revisonColl' (automatically generated)"
 
-    revisonColl := something.! !
+    revisonColl := something.
+! !
 
 !ClassItem methodsFor:'initialization'!
 
@@ -263,4 +266,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/ClassItem.st,v 1.8 2000/02/18 14:09:35 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/ClassItemRootForRevision.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ClassItemRootForRevision.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 ClassItemRoot subclass:#ClassItemRootForRevision
 	instanceVariableNames:''
@@ -93,4 +92,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/ClassItemRootForRevision.st,v 1.3 2000/02/18 14:09:10 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/ClassNameItem.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ClassNameItem.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 HierarchicalItem subclass:#ClassNameItem
 	instanceVariableNames:'revisionInfo'
@@ -76,7 +75,8 @@
 @@@@@@@@@@@@@@@C@0@B@@DA@P@D@ PBA@HD@ P@@@LC@@H@@@DA@@HD@ PBA@HD@ @@@0L@@ @E@@D@A@HD@@@@@@HD@@@C@0@B@@@E@@@BA@H@@ P@A@H@
 @@LC@@H@@@@E@@PBA@HD@ PBA@@@@0L@@ @@@@@@@ PBA@HD@ PB@@@C@0@B@@P@@@@D@ PBA@HD@ P@@@LC@@H@@ P@@@@@@@@@@@@@@@@@@0L@@ @D@ @@
 @@@@@@@@@@@@@@@C@0@B@@HD@ PBA@HD@@H@@@@@@@LC@@H@A@HD@ PBA@H@@ @@@@@@@0L@@ @@@@@@@@@@@@@B@@@@@@@C@0@B@ HB@ HB@ HB@ H@@@@@
-@@@C@@HB@ HB@ HB@ HB@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 119 124 119 248 252 0 119 124 0 168 168 168 248 252 248]; mask:((Depth1Image new) width: 20; height: 20; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>O??>O??>O??>O??????????????????????????????????????>O??>O??>O??>O??>O_?>OO?>O') ; yourself); yourself]! !
+@@@C@@HB@ HB@ HB@ HB@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 119 124 119 248 252 0 119 124 0 168 168 168 248 252 248]; mask:((Depth1Image new) width: 20; height: 20; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'??>O??>O??>O??>O??????????????????????????????????????>O??>O??>O??>O??>O_?>OO?>O') ; yourself); yourself]
+! !
 
 !ClassNameItem methodsFor:'accessing'!
 
@@ -90,12 +90,14 @@
 revisionInfo
     "return the value of the instance variable 'revisionInfo' (automatically generated)"
 
-    ^ revisionInfo!
+    ^ revisionInfo
+!
 
 revisionInfo:something
     "set the value of the instance variable 'revisionInfo' (automatically generated)"
 
-    revisionInfo := something.! !
+    revisionInfo := something.
+! !
 
 !ClassNameItem methodsFor:'protocol'!
 
@@ -159,4 +161,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/ClassNameItem.st,v 1.3 2000/02/18 14:08:58 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/ClassRevisionTree.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ClassRevisionTree.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 ApplicationModel subclass:#ClassRevisionTree
 	instanceVariableNames:'selectionHolder dataHolder menuBlock selectionBlock listView
@@ -292,12 +291,14 @@
 listView
     "return the value of the instance variable 'listView' (automatically generated)"
 
-    ^ listView!
+    ^ listView
+!
 
 listView:something
     "set the value of the instance variable 'listView' (automatically generated)"
 
-    listView := something.! !
+    listView := something.
+! !
 
 !ClassRevisionTree methodsFor:'actions'!
 
@@ -410,17 +411,20 @@
 menuBlock:something
     "set the value of the instance variable 'menuBlock' (automatically generated)"
 
-    menuBlock := something.!
+    menuBlock := something.
+!
 
 selectionBlock
     "return the value of the instance variable 'selectionBlock' (automatically generated)"
 
-    ^ selectionBlock!
+    ^ selectionBlock
+!
 
 selectionBlock:something
     "set the value of the instance variable 'selectionBlock' (automatically generated)"
 
-    selectionBlock := something.!
+    selectionBlock := something.
+!
 
 selectionHolder
 
@@ -471,4 +475,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/ClassRevisionTree.st,v 1.9 2000/02/18 14:08:48 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/ClassVariablesInspectorView.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ClassVariablesInspectorView.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,7 +9,6 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
 "{ Package: 'stx:libtool' }"
 
 SmalltalkInspectorView subclass:#ClassVariablesInspectorView
@@ -64,4 +63,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/ClassVariablesInspectorView.st,v 1.2 2006/01/30 18:17:56 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/CodeGeneratorTests.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/CodeGeneratorTests.st	Thu Apr 04 19:06:16 2013 +0100
@@ -180,6 +180,12 @@
     ^ '§Header: /cvs/stx/stx/libtool/CodeGeneratorTests.st,v 1.2 2011/07/03 13:41:39 cg Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: CodeGeneratorTests.st 7728 2011-05-05 23:02:13Z vranyj1 $'
 ! !
+
--- a/ColorInspectorView.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ColorInspectorView.st	Thu Apr 04 19:06:16 2013 +0100
@@ -129,6 +129,12 @@
     ^ '§Header: /cvs/stx/stx/libtool/ColorInspectorView.st,v 1.14 2011/07/05 12:04:32 cg Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: ColorInspectorView.st 7944 2012-03-19 15:32:45Z vranyj1 $'
 ! !
+
--- a/Diff3TextView.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Diff3TextView.st	Thu Apr 04 19:06:16 2013 +0100
@@ -59,7 +59,6 @@
 "
 ! !
 
-
 !Diff3TextView class methodsFor:'instance creation'!
 
 openOnMergedText:text label:firstLabel label:secondLabel label:thirdLabel
@@ -100,7 +99,6 @@
     "Modified: 12.12.1995 / 13:09:13 / cg"
 ! !
 
-
 !Diff3TextView class methodsFor:'public helpers'!
 
 emphasizeMergedDiff3Text:mergedText emphasize1:e1 emphasize2:e2 emphasizeSep:e3
@@ -283,7 +281,6 @@
     "Created: / 01-06-2012 / 10:44:31 / cg"
 ! !
 
-
 !Diff3TextView methodsFor:'initialization'!
 
 initStyle
@@ -312,7 +309,6 @@
     "Modified: 12.12.1995 / 12:25:55 / cg"
 ! !
 
-
 !Diff3TextView methodsFor:'private'!
 
 updateListsFromMergedText:mergedText
@@ -438,13 +434,17 @@
     "Modified: 13.12.1995 / 19:56:32 / cg"
 ! !
 
-
 !Diff3TextView class methodsFor:'documentation'!
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/Diff3TextView.st,v 1.9 2012-06-01 10:44:15 cg Exp $'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: Diff3TextView.st 8016 2012-07-18 09:57:46Z vranyj1 $'
 ! !
--- a/EWorldIconLibrary.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/EWorldIconLibrary.st	Thu Apr 04 19:06:16 2013 +0100
@@ -254,6 +254,12 @@
     ^ '§Header: /cvs/stx/stx/libtool/EWorldIconLibrary.st,v 1.1 2011/07/01 13:18:34 cg Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: EWorldIconLibrary.st 7810 2011-08-12 14:54:02Z vranyj1 $'
-! !
\ No newline at end of file
+! !
+
--- a/EventMonitor.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/EventMonitor.st	Thu Apr 04 19:06:16 2013 +0100
@@ -725,6 +725,12 @@
     ^ '$Id: EventMonitor.st 7958 2012-03-29 13:52:31Z vranyj1 $'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: EventMonitor.st 7958 2012-03-29 13:52:31Z vranyj1 $'
 ! !
+
--- a/ExpandableRevisionItem.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ExpandableRevisionItem.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 AbstractRevisionItem subclass:#ExpandableRevisionItem
 	instanceVariableNames:''
@@ -105,4 +104,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/ExpandableRevisionItem.st,v 1.5 2000/02/18 14:08:35 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/FileBrowserV2SettingsDialog.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/FileBrowserV2SettingsDialog.st	Thu Apr 04 19:06:16 2013 +0100
@@ -336,6 +336,12 @@
     ^ '§Header: /cvs/stx/stx/libtool/FileBrowserV2SettingsDialog.st,v 1.11 2010/10/15 08:31:37 cg Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id:: FileBrowserV2SettingsDialog.st 7972 2012-04-05 17:53:51Z vranyj1                                                       $'
 ! !
+
--- a/FileBrowserV2Tests.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/FileBrowserV2Tests.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,7 +9,6 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
 "{ Package: 'stx:libtool' }"
 
 TestCase subclass:#FileBrowserV2Tests
@@ -185,4 +184,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/FileBrowserV2Tests.st,v 1.9 2003/10/02 12:22:11 penk Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/FileDialogV2.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/FileDialogV2.st	Thu Apr 04 19:06:16 2013 +0100
@@ -1636,4 +1636,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/FileDialogV2.st,v 1.6 2006/12/06 11:09:13 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/HierarchicalClassRevisionList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/HierarchicalClassRevisionList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 HierarchicalList subclass:#HierarchicalClassRevisionList
 	instanceVariableNames:'itemComputationList semaphoreCritical itemTask currentItemInTask
@@ -206,4 +205,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/HierarchicalClassRevisionList.st,v 1.3 2000/02/18 14:08:26 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/HierarchicalVersionDiffBrowser.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/HierarchicalVersionDiffBrowser.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 ApplicationModel subclass:#HierarchicalVersionDiffBrowser
 	instanceVariableNames:'versionDiffBrowser classTree treeSelectionHolder classHolder'
@@ -374,7 +373,8 @@
 classHolder:something
     "set the value of the instance variable 'classHolder' (automatically generated)"
 
-    classHolder := something.!
+    classHolder := something.
+!
 
 classTree
 
@@ -384,7 +384,8 @@
 classTree:something
     "set the value of the instance variable 'classTree' (automatically generated)"
 
-    classTree := something.!
+    classTree := something.
+!
 
 treeSelectionHolder
 
@@ -642,4 +643,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/HierarchicalVersionDiffBrowser.st,v 1.9 2000/02/18 14:06:52 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/InspectorView.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/InspectorView.st	Thu Apr 04 19:06:16 2013 +0100
@@ -2462,7 +2462,7 @@
         which == #all ifTrue:[
             messages := cls allSelectors.
         ] ifFalse:[
-            messages := cls allSelectors copy asSet removeAll:cls selectors; yourself.
+            messages := cls allSelectors asNewSet removeAll:cls selectors; yourself.
         ].
     ].
 
@@ -3505,10 +3505,15 @@
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.302 2013-03-31 09:52:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.303 2013-04-02 09:33:13 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.302 2013-03-31 09:52:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.303 2013-04-02 09:33:13 stefan Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
 
--- a/Launcher.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Launcher.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,7 +9,6 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
 "{ Package: 'stx:libtool' }"
 
 AbstractLauncherApplication subclass:#Launcher
@@ -1727,4 +1726,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/Launcher.st,v 1.406 2004/03/12 22:50:40 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/LibraryBuilder.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/LibraryBuilder.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,10 +9,6 @@
  other person. No title to or ownership of the software is
  hereby transferred.
 "
-
-
-
-
 "{ Package: 'stx:libtool' }"
 
 ApplicationBuilder subclass:#LibraryBuilder
@@ -1101,4 +1097,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/LibraryBuilder.st,v 1.8 2006/09/05 16:45:22 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/MemoryUsageView.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/MemoryUsageView.st	Thu Apr 04 19:06:16 2013 +0100
@@ -59,7 +59,6 @@
 "
 ! !
 
-
 !MemoryUsageView class methodsFor:'startup'!
 
 isVisualStartable
@@ -68,7 +67,6 @@
     "Created: / 10.8.1998 / 16:02:59 / cg"
 ! !
 
-
 !MemoryUsageView methodsFor:'auto update'!
 
 autoUpdate
@@ -126,7 +124,6 @@
     "Created: / 05-05-2011 / 17:19:03 / cg"
 ! !
 
-
 !MemoryUsageView methodsFor:'initialization'!
 
 initialize
@@ -186,7 +183,6 @@
     "Created: / 05-05-2011 / 17:26:24 / cg"
 ! !
 
-
 !MemoryUsageView methodsFor:'menu-actions'!
 
 browseClass
@@ -606,7 +602,6 @@
     "Created: / 11-05-2011 / 14:36:00 / cg"
 ! !
 
-
 !MemoryUsageView methodsFor:'menu-sorting'!
 
 sortByAverageSize
@@ -746,7 +741,6 @@
     "Modified: / 05-05-2011 / 16:13:58 / cg"
 ! !
 
-
 !MemoryUsageView methodsFor:'private'!
 
 updateDisplay
@@ -933,7 +927,6 @@
     "Modified: / 08-05-2011 / 12:35:11 / cg"
 ! !
 
-
 !MemoryUsageView methodsFor:'realization'!
 
 pixelOrigin:a extent:b
@@ -951,7 +944,6 @@
     "Modified: 14.10.1997 / 21:03:52 / cg"
 ! !
 
-
 !MemoryUsageView::StatisticEntry methodsFor:'accessing'!
 
 averageSize
@@ -1033,7 +1025,6 @@
     ^ overallByteSize
 ! !
 
-
 !MemoryUsageView::StatisticEntry methodsFor:'updating'!
 
 addStatisticForInstance:o class:classNameOrSymbolArg
@@ -1056,7 +1047,6 @@
     "Created: / 05-05-2011 / 16:04:42 / cg"
 ! !
 
-
 !MemoryUsageView class methodsFor:'documentation'!
 
 version
@@ -1065,5 +1055,10 @@
 
 version_CVS
     ^ '$Header: /cvs/stx/stx/libtool/MemoryUsageView.st,v 1.61 2012-11-04 22:12:51 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
 
--- a/OldLauncher.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/OldLauncher.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,7 +9,6 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
 "{ Package: 'stx:libtool' }"
 
 StandardSystemView subclass:#OldLauncher
@@ -1047,4 +1046,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/OldLauncher.st,v 1.42 2001/09/10 13:45:26 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/ProcessMonitor.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ProcessMonitor.st	Thu Apr 04 19:06:16 2013 +0100
@@ -778,4 +778,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/ProcessMonitor.st,v 1.84 2007/10/05 09:53:00 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/ProjectView.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/ProjectView.st	Thu Apr 04 19:06:16 2013 +0100
@@ -770,4 +770,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/ProjectView.st,v 1.52 2007/01/23 18:19:38 stefan Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/RCSConflictEditTextView.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/RCSConflictEditTextView.st	Thu Apr 04 19:06:16 2013 +0100
@@ -155,6 +155,12 @@
     ^ '$Id: RCSConflictEditTextView.st 8016 2012-07-18 09:57:46Z vranyj1 $'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id:: RCSConflictEditTextView.st 8016 2012-07-18 09:57:46Z vranyj1                                                           $'
 ! !
+
--- a/SemaphoreMonitor.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/SemaphoreMonitor.st	Thu Apr 04 19:06:16 2013 +0100
@@ -55,7 +55,6 @@
 
 ! !
 
-
 !SemaphoreMonitor class methodsFor:'defaults'!
 
 defaultLabel
@@ -64,7 +63,6 @@
     "Created: 23.1.1997 / 02:52:53 / cg"
 ! !
 
-
 !SemaphoreMonitor methodsFor:'drawing'!
 
 titleLine
@@ -230,7 +228,6 @@
     "Modified: / 14.12.1999 / 20:53:14 / cg"
 ! !
 
-
 !SemaphoreMonitor methodsFor:'menu'!
 
 debugWaiters
@@ -353,7 +350,6 @@
     "Modified: / 17.6.1998 / 14:17:05 / cg"
 ! !
 
-
 !SemaphoreMonitor methodsFor:'queries'!
 
 preferredExtent
@@ -365,7 +361,6 @@
     "Created: 23.1.1997 / 03:04:58 / cg"
 ! !
 
-
 !SemaphoreMonitor methodsFor:'user actions'!
 
 doubleClicked
@@ -377,10 +372,14 @@
     "Modified: 31.1.1997 / 22:33:27 / cg"
 ! !
 
-
 !SemaphoreMonitor class methodsFor:'documentation'!
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/SemaphoreMonitor.st,v 1.17 2013-02-08 18:42:22 stefan Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
 
--- a/SourceRevisionItem.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/SourceRevisionItem.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 AbstractRevisionItem subclass:#SourceRevisionItem
 	instanceVariableNames:''
@@ -130,4 +129,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/SourceRevisionItem.st,v 1.6 2000/02/18 14:08:16 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/TerminalApplication.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/TerminalApplication.st	Thu Apr 04 19:06:16 2013 +0100
@@ -480,6 +480,12 @@
     ^ '§Header: /cvs/stx/stx/libtool/TerminalApplication.st,v 1.11 2011/11/30 10:06:32 vrany Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: TerminalApplication.st 7963 2012-04-03 12:32:03Z vranyj1 $'
 ! !
+
--- a/TextDiffTests.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/TextDiffTests.st	Thu Apr 04 19:06:16 2013 +0100
@@ -671,6 +671,12 @@
     ^ '§Header: /cvs/stx/stx/libtool/TextDiffTests.st,v 1.1 2011/07/01 14:12:24 cg Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: TextDiffTests.st 7927 2012-03-16 19:30:50Z vranyj1 $'
 ! !
+
--- a/Tools_ClassCategoryList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools_ClassCategoryList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -820,7 +820,7 @@
         rawCategoryList add:self class nameListEntryForExtendedClasses.
         categories add:((self class nameListEntryForExtendedClassesWithCount bindWith:numExtendedClasses) allItalic colorizeAllWith:pseudoEntryColor).
     ].
-    numClassesInChangeSet := (ChangeSet current changedClasses collect:[:c | c theNonMetaclass]) asSet size.
+    numClassesInChangeSet := (ChangeSet current changedClasses collect:[:c | c theNonMetaclass] as:Set) size.
     numClassesInChangeSet > 0 ifTrue:[
         rawCategoryList addFirst:self class nameListEntryForChanged.
         categories addFirst:((self class nameListEntryForChangedWithCount bindWith:numClassesInChangeSet) allItalic colorizeAllWith:pseudoEntryColor).
@@ -1003,10 +1003,10 @@
 !ClassCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.44 2013-03-25 22:07:48 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.45 2013-04-02 09:33:11 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.44 2013-03-25 22:07:48 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.45 2013-04-02 09:33:11 stefan Exp $'
 ! !
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tools_ClassChecker.st	Thu Apr 04 19:06:16 2013 +0100
@@ -0,0 +1,927 @@
+"
+ 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 }"
+
+Object subclass:#ClassChecker
+	instanceVariableNames:'checkedClass badClasses badClassInfo badMethods badMethodInfo
+		obsoleteWarners allObsoleteMethods checksPerformed'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Interface-Browsers-New'
+!
+
+!ClassChecker class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2004 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+    embeddable application displaying the class-categories.
+    Provides an outputGenerator, which enumerates the classes in
+    the selected categories.
+
+    Attention: do not change the method categories 'checks-' into something else.
+    The 'checks-' prefix is used to detect checks and these are listed in the browsers
+    lint dialog.
+
+    [author:]
+        Claus Gittinger (cg@exept.de)
+"
+! !
+
+!ClassChecker class methodsFor:'queries'!
+
+individualChecks
+    "return a list of supported checks"
+
+    |checks|
+
+    checks := OrderedCollection new.
+    self methodDictionary keysAndValuesDo:[:sel :mthd |
+	(mthd category startsWith:'checks')  ifTrue:[checks add:sel]
+    ].
+    checks sort.
+    ^ checks
+
+    "
+     self individualChecks
+    "
+
+    "Created: / 18.8.2000 / 22:30:46 / cg"
+    "Modified: / 18.8.2000 / 22:31:02 / cg"
+! !
+
+!ClassChecker methodsFor:'accessing'!
+
+badClassInfo
+    ^ badClassInfo
+!
+
+badMethodInfo
+    ^ badMethodInfo
+!
+
+checkedClass
+    "return the value of the instance variable 'checkedClass' (automatically generated)"
+
+    ^ checkedClass
+!
+
+checkedClass:something
+    "set the value of the instance variable 'checkedClass' (automatically generated)"
+
+    checkedClass := something.
+    checksPerformed := nil.
+! !
+
+!ClassChecker methodsFor:'checking'!
+
+allChecks
+    self errorChecks.
+    self warningChecks.
+    self styleChecks.
+!
+
+doCheck:whichCheck
+    checksPerformed isNil ifTrue:[
+	checksPerformed := Set new.
+    ].
+    (checksPerformed includes:whichCheck) ifFalse:[
+	checksPerformed add:whichCheck.
+	self perform:whichCheck
+    ]
+!
+
+errorChecks
+    self doCheck:#subclassResponsibilityNotDefined.
+    self doCheck:#sentNotImplemented.
+    self doCheck:#definesEqualButNotHash.
+    self doCheck:#instanceVariablesNeverWritten.
+!
+
+styleChecks
+    self doCheck:#checkProtocols.
+    self doCheck:#sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa.
+    self doCheck:#unusedInstanceVariables.
+    self doCheck:#unusedClassVariables.
+
+"/    self doCheck:#guardingClause.
+
+    "Modified: / 18-05-2010 / 14:38:15 / cg"
+!
+
+warningChecks
+    self doCheck:#messageNeverSentAndNotUsedAsSymbol.
+    self doCheck:#sendsObsoleteMessages.
+    self doCheck:#instanceVariablesNeverUsed.
+    self doCheck:#instanceVariablesNeverWritten.
+    self doCheck:#classVariablesNeverUsed.
+    self doCheck:#classVariablesNeverWritten.
+    self doCheck:#classInstanceVariablesNeverUsed.
+    self doCheck:#classInstanceVariablesNeverWritten.
+    self doCheck:#invalidKeyInImageResourceMethod
+! !
+
+!ClassChecker methodsFor:'checks-individual'!
+
+checkProtocols
+    checkedClass instAndClassSelectorsAndMethodsDo:[:mSelector :method |
+	self checkProtocolOf:method
+    ]
+!
+
+checkVariableNameConventions
+    |badInstVars badClassVars|
+
+    badInstVars := checkedClass instanceVariableNames select:[:varName | varName isUppercaseFirst].
+    badClassVars := checkedClass classVarNames select:[:varName | varName first isLowercase].
+
+    badInstVars notEmpty ifTrue:[
+        badInstVars := (badInstVars collect:[:v | '''' , v , '''']) asStringWith:$, .
+        self 
+            rememberBadClass:checkedClass
+            info:('instVars ' , badInstVars , ' should be lowercase (#checkNameConventions)').
+    ].
+    badClassVars notEmpty ifTrue:[
+        badClassVars := (badClassVars collect:[:v | '''' , v , '''']) asStringWith:$, .
+        self 
+            rememberBadClass:checkedClass
+            info:('classVars ' , badClassVars , ' should be uppercase (#checkNameConventions)').
+    ].
+!
+
+classInstanceVariablesNeverUsed
+    self instanceVariablesNeverUsedIn:checkedClass theMetaclass.
+!
+
+classInstanceVariablesNeverWritten
+    self instanceVariablesNeverWrittenIn:checkedClass theMetaclass.
+!
+
+classVariablesNeverUsed
+    |cls notUsedHere notUsedAnyWhere anySubclass|
+
+    cls := checkedClass theNonMetaclass.
+    notUsedHere := cls classVarNames asNewSet.
+    notUsedHere isEmpty ifTrue:[^ self].
+
+    self removeUsedClassVariablesIn:cls from:notUsedHere.
+    self removeUsedClassVariablesIn:cls class from:notUsedHere.
+
+    notUsedHere notEmpty ifTrue:[
+        notUsedAnyWhere := notUsedHere copy.
+        anySubclass := false.
+        cls allSubclassesDo:[:eachSubclass |
+            anySubclass := true.
+            notUsedAnyWhere notEmpty ifTrue:[
+                self removeUsedClassVariablesIn:eachSubclass from:notUsedAnyWhere.
+                self removeUsedClassVariablesIn:eachSubclass class from:notUsedAnyWhere.
+            ]
+        ].
+
+        notUsedHere do:[:eachVariable |
+            |className|
+
+            className := checkedClass name allBold.
+            self 
+                rememberBadClass:cls
+                info:('classVar ' , eachVariable allBold , ' is unused in ' , className , ' (#classVariablesNeverUsed)').
+            (notUsedAnyWhere includes:eachVariable) ifTrue:[
+                self 
+                    rememberBadClass:cls
+                    info:('classVar ' , eachVariable allBold , ' is not even used in subclasses of ' , className , ' (#classVariablesNeverUsed)')
+            ]
+        ].
+    ]
+!
+
+classVariablesNeverWritten
+    |cls notWrittenHere notWrittenAnyWhere anySubclass|
+
+    cls := checkedClass theNonMetaclass.
+    notWrittenHere := cls classVarNames asNewSet.
+    notWrittenHere isEmpty ifTrue:[^ self].
+
+    self removeWrittenClassVariablesIn:cls from:notWrittenHere.
+    self removeWrittenClassVariablesIn:cls class from:notWrittenHere.
+
+    notWrittenHere notEmpty ifTrue:[
+        notWrittenAnyWhere := notWrittenHere copy.
+        anySubclass := false.
+        cls allSubclassesDo:[:eachSubclass |
+            anySubclass := true.
+            notWrittenAnyWhere notEmpty ifTrue:[
+                self removeWrittenClassVariablesIn:eachSubclass from:notWrittenAnyWhere.
+                self removeWrittenClassVariablesIn:eachSubclass class from:notWrittenAnyWhere.
+            ]
+        ].
+
+        notWrittenHere do:[:eachVariable |
+            |className|
+
+            className := cls name allBold.
+            self 
+                rememberBadClass:cls
+                info:('classVar ' , eachVariable allBold , ' is not set in ' , className , ' (#classVariablesNeverWritten)').
+            (notWrittenAnyWhere includes:eachVariable) ifTrue:[
+                self 
+                    rememberBadClass:cls
+                    info:('classVar ' , eachVariable allBold , ' is not even set in subclasses of ' , className , ' (#classVariablesNeverWritten)')
+            ]
+        ].
+    ]
+!
+
+definesEqualButNotHash
+    (checkedClass includesSelector:#=) ifTrue:[
+	(checkedClass includesSelector:#hash) ifFalse:[
+	    self 
+		rememberBadClass:checkedClass 
+		info:(checkedClass name allBold, ' redefines #=, but not #hash (#definesEqualButNotHash)').
+	]
+    ]
+!
+
+guardingClause
+    |detector|
+
+    detector := ParseTreeLintRule guardingClause.
+    detector runOnEnvironment: (Array with:checkedClass).
+self breakPoint:#cg.
+!
+
+instanceVariablesNeverUsed
+    self instanceVariablesNeverUsedIn:checkedClass theNonMetaclass.
+!
+
+instanceVariablesNeverWritten
+    self instanceVariablesNeverWrittenIn:checkedClass theNonMetaclass.
+!
+
+invalidKeyInImageResourceMethod
+    Icon flushCachedIcons.
+    checkedClass instAndClassSelectorsAndMethodsDo:[:sel :mthd | 
+        |img key name|
+
+        (mthd hasImageResource) ifTrue:[
+           img := mthd valueWithReceiver:nil arguments:#().
+           key := (Icon classVarAt:#KnownIcons) keyAtIdentityValue:img.
+           key notNil ifTrue:[
+              mthd mclass notNil ifTrue:[  
+                  name := (mthd mclass name , ' ', mthd selector).
+                  name ~= key ifTrue:[
+                      self 
+                          rememberBadMethod:mthd 
+                          key:#invalidKeyInImageResourceMethod
+                          info:('key in constantNamed: does not match the method name')
+                  ]
+              ]
+           ]
+        ]
+    ].
+!
+
+messageNeverSent
+    "/ old code: (slow)
+"/    checkedClass instAndClassSelectorsAndMethodsDo:[:mSelector :method |
+"/        (self anySendsOf:mSelector) ifFalse:[
+"/            self 
+"/                rememberBadMethod:method 
+"/                info:('#' , mSelector , ' is nowhere sent (#messageNeverSent)')
+"/        ].
+"/    ].
+
+    |selectorsOfInterest|
+
+    selectorsOfInterest := IdentitySet new.
+    checkedClass instAndClassSelectorsAndMethodsDo:[:mSelector :method |  selectorsOfInterest add:mSelector].
+    (self messagesNeverSentIn:selectorsOfInterest) do:[:eachNeverSent |
+	self 
+	    rememberBadMethod:(checkedClass compiledMethodAt:eachNeverSent) 
+	    key:#messageNeverSent
+	    info:('#' , eachNeverSent allBold, ' is nowhere sent (#messageNeverSent)')
+    ].
+
+    "Modified: / 18.8.2000 / 22:54:45 / cg"
+!
+
+messageNeverSentAndNotUsedAsSymbol
+    |selectorsOfInterest|
+
+    selectorsOfInterest := IdentitySet new.
+    checkedClass instAndClassSelectorsAndMethodsDo:[:mSelector :method |  selectorsOfInterest add:mSelector].
+    (self messagesNeverSentAndNotUsedAsSymbolIn:selectorsOfInterest) do:[:eachNeverSent |
+	self 
+	    rememberBadMethod:(checkedClass compiledMethodAt:eachNeverSent) 
+	    key:#messageNeverSentAndNotUsedAsSymbol
+	    info:('#' , eachNeverSent allBold, ' is nowhere sent and selector-symbol not used in any method (#messageNeverSentAndNotUsedAsSymbol)')
+    ].
+
+    "Modified: / 18.8.2000 / 23:10:56 / cg"
+!
+
+parseMethod:method in:aClass withParserDo:aBlock onErrorDo:errorBlock
+    |source parser|
+
+    source := method source.
+    parser := Parser
+                parseMethod:source
+                in:aClass
+                ignoreErrors:true
+                ignoreWarnings:true.
+
+    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+        aBlock value:parser
+    ] ifFalse:[
+        errorBlock value
+    ].
+
+    "Created: / 18-05-2010 / 15:17:19 / cg"
+!
+
+sendsObsoleteMessages
+    obsoleteWarners isNil ifTrue:[
+        obsoleteWarners := Object selectors select:[:each | each startsWith:'obsoleteMethodWarning'].
+    ].
+    allObsoleteMethods isNil ifTrue:[
+        allObsoleteMethods := IdentitySet new.
+        Method allSubInstancesDo:[:eachMethod | |lits selector|
+                ((lits := eachMethod literals) notNil
+                and:[lits includesAny:obsoleteWarners]) ifTrue:[
+                     (eachMethod messagesSent includesAny:obsoleteWarners) ifTrue:[
+                        selector := eachMethod selector.
+                        selector notNil ifTrue:[
+                            allObsoleteMethods add:selector.
+                        ]
+                    ].
+                ].
+            ].
+
+        "/ manually patchup; there are some which should not be considered as bad ...
+        allObsoleteMethods removeAllFoundIn:#( #','  #'at:'  #'at:put:'  #'raise').
+        allObsoleteMethods removeAllFoundIn:#( #'asText').
+        allObsoleteMethods removeAllFoundIn:obsoleteWarners.
+    ].
+
+    checkedClass instAndClassSelectorsAndMethodsDo:[:sel :mthd | 
+        |lits sentMessages whichOnes pT searcher nodes|
+
+        ((lits := mthd literals) notNil
+        and:[lits includesAny:allObsoleteMethods]) ifTrue:[
+            sentMessages := mthd messagesSent.
+            (sentMessages includesAny:allObsoleteMethods) ifTrue:[
+                whichOnes := sentMessages select:[:each | allObsoleteMethods includes:each].
+
+                (RBParser notNil
+                and:[RBParser isLoaded]) ifTrue:[
+                    "/ lets look at this a bit more detailed;
+                    "/ parse it and see if we can filter out any messages 
+                    "/ (i.e. look if we can figure out the receiver type)
+
+"/                    pT := RBParser 
+"/                            parseMethod: (mthd source)
+"/                            onError: [:aString :pos | nil].
+"/                    pT notNil ifTrue:[
+"/                        searcher := ParseTreeSearcher 
+"/                                        allMessageSendsMatchingAny:whichOnes ignoreCase:false.
+"/                        nodes := searcher executeTree:pT initialAnswer:(OrderedCollection new).
+"/                        nodes := nodes 
+"/                            select:
+"/                                [:aSendNode |
+"/                                    self halt.
+"/                                ].
+"/                        whichOnes := nodes collect:[:aSendNode | aSendNode selector].
+"/                    ].
+                ].
+
+                whichOnes asOrderedCollection sort do:[:eachObsoleteMessage |
+                    self 
+                        rememberBadMethod:mthd 
+                        key:#sendsObsoleteMessages
+                        info:('possibly sends an obsolete message: ' , eachObsoleteMessage , ' (#sendsObsoleteMessages)')
+                ].
+            ].
+        ]
+    ]
+!
+
+sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa
+    |obsoleteWarners|
+
+    obsoleteWarners := #( #'obsoleteMethodWarning' #'obsoleteMethodWarning:' ).
+
+    checkedClass instAndClassSelectorsAndMethodsDo:[:sel :mthd | 
+        |lits sentMessages whichOnes pT searcher nodes|
+
+        ((lits := mthd literals) notNil
+        and:[lits includesAny:obsoleteWarners]) ifTrue:[
+            mthd isObsolete ifFalse:[
+                self 
+                    rememberBadMethod:mthd 
+                    key:#sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa
+                    info:('sends obsoleteMethodWarning but not tagged as obsolete')
+            ].
+        ] ifFalse:[
+            mthd isObsolete ifTrue:[
+                self 
+                    rememberBadMethod:mthd 
+                    key:#sendsObsoleteMethodWarningButNotTaggedAsObsoleteOrViceVersa
+                    info:('tagged as obsolete but does not send an obsoleteMethodWarning')
+            ].
+        ].
+    ]
+!
+
+sentNotImplemented
+    |alreadyChecked alreadyCheckedSelf alreadyCheckedSuper|
+
+    alreadyChecked := IdentitySet new.
+    alreadyCheckedSelf := IdentitySet new.
+    alreadyCheckedSuper := IdentitySet new.
+
+    checkedClass methodDictionary keysAndValuesDo:[:mSelector :method |
+	|sentSelectors selfSelectors superSelectors selectorsNoWhereImplemented|
+
+	selectorsNoWhereImplemented := IdentitySet new.
+	sentSelectors := method messagesSent.
+	sentSelectors do:[:eachSelector |
+	    (alreadyChecked includes:eachSelector) ifFalse:[
+		(self anyImplementationOf:eachSelector) ifTrue:[
+		    alreadyChecked add:eachSelector
+		] ifFalse:[
+		    selectorsNoWhereImplemented add:eachSelector.
+		    self 
+			rememberBadMethod:method 
+			key:#sentNotImplemented
+			info:('#' , eachSelector allBold, ' is nowhere implemented (#sentNotImplemented)')
+		]
+	    ]
+	].
+
+	selfSelectors := method messagesSentToSelf.
+	selfSelectors do:[:eachSelector |
+	    (selectorsNoWhereImplemented includes:eachSelector) ifFalse:[
+		(alreadyCheckedSelf includes:eachSelector) ifFalse:[
+		    (self anyImplementationOf:eachSelector inOrAbove:checkedClass) ifTrue:[
+			alreadyCheckedSelf add:eachSelector
+		    ] ifFalse:[            
+			self 
+			    rememberBadMethod:method 
+			    key:#sentNotImplemented
+			    info:('#' , eachSelector allBold, ' is not implemented in the class (#sentNotImplemented)')
+		    ]
+		]
+	    ]
+	].
+        
+	superSelectors := method messagesSentToSuper.
+	superSelectors do:[:eachSelector |
+	    (selectorsNoWhereImplemented includes:eachSelector) ifFalse:[
+		(alreadyCheckedSuper includes:eachSelector) ifFalse:[
+		    (self anyImplementationOf:eachSelector inOrAbove:(checkedClass superclass)) ifTrue:[
+			alreadyCheckedSuper add:eachSelector
+		    ] ifFalse:[            
+			self 
+			    rememberBadMethod:method 
+			    key:#sentNotImplemented
+			    info:('#' , eachSelector allBold, ' is not implemented in any superclass (#sentNotImplemented)')
+		    ]
+		]
+	    ]
+	].
+    ].
+!
+
+subclassResponsibilityNotDefined
+    |classesInBetween|
+
+    checkedClass allSuperclasses do:[:eachSuperClass |
+	eachSuperClass methodDictionary keysAndValuesDo:[:mSelector :method |
+	    (method referencesLiteral:#subclassResponsibility) ifTrue:[
+		"/ parse it to see if it really does ...
+		(method sends:#subclassResponsibility) ifTrue:[
+		    "/ ok, got one;
+		    "/ now, see if it is defined below this superClass
+		    classesInBetween := checkedClass withAllSuperclasses copy.
+		    classesInBetween removeAll:(eachSuperClass withAllSuperclasses).
+		    (self anyImplementationOf:mSelector in:classesInBetween) ifFalse:[
+			(self methodShouldBeIgnoredInSubclassResponsibilityNotDefined:method)
+			ifFalse:[
+			    self 
+				rememberBadMethod:method 
+				key:#subclassResponsibilityNotDefined
+				info:(checkedClass name allBold , ' should redefine the #' , mSelector allBold , ' method (#subclassResponsibilityNotDefined)').
+			].
+		    ].
+		]
+	    ]
+	]
+    ].
+!
+
+unusedClassVariables
+    |remainingVars|
+
+    remainingVars := checkedClass theNonMetaclass classVarNames asNewSet.
+
+    checkedClass theNonMetaclass withAllSubclassesDo:[:eachClassToCheck |
+        eachClassToCheck instAndClassMethodsDo:[:method |
+            self 
+                parseMethod:method in:method mclass 
+                withParserDo:[:parser |
+                    remainingVars removeAllFoundIn:(parser usedClassVars)
+                ]
+                onErrorDo:[]
+        ].
+    ].
+
+    remainingVars asSortedCollection do:[:eachVar |
+        self rememberBadClass:checkedClass info:'Unused class variable: ',eachVar
+    ].
+
+    "Created: / 18-05-2010 / 14:37:42 / cg"
+!
+
+unusedInstanceVariables
+    |remainingVars|
+
+    remainingVars := checkedClass theNonMetaclass instVarNames asNewSet.
+
+    checkedClass theNonMetaclass withAllSubclassesDo:[:eachClassToCheck |
+        eachClassToCheck methodDictionary keysAndValuesDo:[:mSelector :method |
+            self 
+                parseMethod:method in:eachClassToCheck 
+                withParserDo:[:parser |
+                    remainingVars removeAllFoundIn:(parser usedInstVars)
+                ]
+                onErrorDo:[]
+        ].
+    ].
+
+    remainingVars asSortedCollection do:[:eachVar |
+        self rememberBadClass:checkedClass info:'Unused instance variable: ',eachVar
+    ].
+
+    "Created: / 18-05-2010 / 14:32:09 / cg"
+! !
+
+!ClassChecker methodsFor:'helpers'!
+
+anyImplementationOf:aSelector
+    Smalltalk allClassesDo:[:eachClass |
+	(eachClass theNonMetaclass includesSelector:aSelector) ifTrue:[^ true].
+	(eachClass theMetaclass includesSelector:aSelector) ifTrue:[^ true].
+    ].
+    ^ false
+!
+
+anyImplementationOf:aSelector in:aCollectionOfClasses
+    ^ aCollectionOfClasses 
+        contains:[:aClass | (aClass includesSelector:aSelector) ].
+!
+
+anyImplementationOf:aSelector inOrAbove:aClass
+    aClass withAllSuperclassesDo:[:eachClass |
+	(eachClass includesSelector:aSelector) ifTrue:[^ true].
+    ].
+    ^ false
+!
+
+anySendsOf:aSelector
+    Smalltalk allMethodsDo:[:mthd |
+        (mthd sends:aSelector) ifTrue:[^ true].
+    ].
+    ^ false
+!
+
+checkProtocolOf:aMethod
+    |mClass mSelector protocol superClass implClass superProtocol|
+
+    mClass := aMethod mclass.
+    mSelector := aMethod selector.
+    mClass isNil ifTrue:[^ true].
+    mSelector isNil ifTrue:[^ true].
+
+    protocol := aMethod category.
+    protocol isNil ifTrue: [^true].
+
+    superClass := mClass superclass.
+    superClass isNil ifTrue: [^true].
+
+    implClass := superClass whichClassIncludesSelector:mSelector.
+    implClass isNil ifTrue: [^true].
+
+    superProtocol := (implClass compiledMethodAt:mSelector) category.
+    superProtocol = protocol ifTrue: [^true].
+    superProtocol isNil ifTrue: [^true].
+
+    self 
+        rememberBadMethod:aMethod
+        key:#checkProtocols
+        info:('#' , mSelector allBold , ' is classified under "' , protocol allBold , '" in '
+              , mClass name , ' and under "' , superProtocol allBold , '" in ' , implClass name
+              , ' (#checkProtocols)')
+
+    "Modified: / 18.8.2000 / 23:13:53 / cg"
+!
+
+checkUnusedVariables:aMethod rememberReadInstVarsIn:readInstVars writtenInstVarsIn:writtenInstVars readClassVarsIn:readClassVars writtenClassVarsIn:writtenClassVars
+    |p mClass sourceString|
+
+    sourceString := aMethod source.
+
+    mClass := aMethod mclass.
+
+    p := Parser parseMethodSilent:sourceString in:mClass.
+    readInstVars addAll:(p readInstVars).
+    writtenInstVars addAll:(p modifiedInstVars).
+    readClassVars addAll:(p readClassVars).
+    writtenClassVars addAll:(p modifiedClassVars).
+!
+
+instanceVariablesNeverUsedIn:aClass
+    |notUsedHere notUsedAnyWhere anySubclass|
+
+    notUsedHere := aClass instVarNames asNewSet.
+    notUsedHere isEmpty ifTrue:[^ self].
+
+    self removeUsedInstanceVariablesIn:aClass from:notUsedHere.
+
+    notUsedHere notEmpty ifTrue:[
+        notUsedAnyWhere := notUsedHere copy.
+        anySubclass := false.
+        aClass allSubclassesDo:[:eachSubclass |
+            anySubclass := true.
+            notUsedAnyWhere notEmpty ifTrue:[
+                self removeUsedInstanceVariablesIn:eachSubclass from:notUsedAnyWhere.
+            ]
+        ].
+
+        notUsedHere do:[:eachVariable |
+            |className|
+
+            className := aClass name allBold.
+            self 
+                rememberBadClass:aClass 
+                info:('instVar ' , eachVariable allBold , ' is unused in ' , className , ' (#instanceVariablesNeverUsed)').
+
+            anySubclass ifTrue:[
+                (notUsedAnyWhere includes:eachVariable) ifTrue:[
+                    self 
+                        rememberBadClass:aClass 
+                        info:('instVar ' , eachVariable allBold , ' is not even used in subclasses of ' , className , ' (#instanceVariablesNeverUsed)')
+                ]
+            ]
+        ].
+    ]
+!
+
+instanceVariablesNeverWrittenIn:aClass
+    |notWrittenHere notWrittenAnyWhere anySubclass|
+
+    notWrittenHere := aClass instVarNames asNewSet.
+    notWrittenHere isEmpty ifTrue:[^ self].
+
+    self removeWrittenInstanceVariablesIn:aClass from:notWrittenHere.
+
+    notWrittenHere notEmpty ifTrue:[
+        notWrittenAnyWhere := notWrittenHere copy.
+        anySubclass := false.
+        aClass allSubclassesDo:[:eachSubclass |
+            anySubclass := true.
+            notWrittenAnyWhere notEmpty ifTrue:[
+                self removeWrittenInstanceVariablesIn:eachSubclass from:notWrittenAnyWhere.
+            ]
+        ].
+
+        notWrittenHere do:[:eachVariable |
+            |className|
+
+            className := aClass name allBold.
+            self 
+                rememberBadClass:aClass
+                info:('instVar ' , eachVariable allBold , ' is nowhere set in ' , className , ' (#instanceVariablesNeverWritten)').
+            anySubclass ifTrue:[
+                (notWrittenAnyWhere includes:eachVariable) ifTrue:[
+                    self 
+                        rememberBadClass:aClass
+                        info:('instVar ' , eachVariable allBold , ' is not even set in subclasses of ' , className , ' (#instanceVariablesNeverWritten)')
+                ]
+            ]
+        ].
+    ]
+!
+
+messagesNeverSentAndNotUsedAsSymbolIn:selectorsOfInterest
+    |remaining toRemove checkBlock|
+
+    remaining := selectorsOfInterest asNewIdentitySet.
+    toRemove := IdentitySet new.
+
+    checkBlock := [:eachClass |
+        eachClass instAndClassSelectorsAndMethodsDo:[:mSel :mthd | |lits|
+            lits := mthd literals.
+            lits notNil ifTrue:[
+                lits traverse:[:eachLiteral |
+                    eachLiteral isSymbol ifTrue:[        
+                        remaining remove:eachLiteral ifAbsent:nil.
+                    ]
+                ].
+                remaining isEmpty ifTrue:[^ remaining].
+            ]
+        ].
+    ].
+
+    "/ start searching in the checkedClass - chances are high, we find some here
+    checkBlock value:checkedClass.
+    checkedClass superclass notNil ifTrue:[checkBlock value:checkedClass superclass].
+    Smalltalk allClassesDo:checkBlock.
+
+    ^ remaining
+
+    "Modified: / 18.8.2000 / 23:05:53 / cg"
+    "Created: / 18.8.2000 / 23:06:55 / cg"
+!
+
+messagesNeverSentIn:selectorsOfInterest
+    |remaining|
+
+    remaining := selectorsOfInterest copy.
+    Smalltalk allMethodsDo:[:mthd |
+        |lits|
+
+        lits := mthd literals.
+        lits notNil ifTrue:[
+            (lits includesAny:remaining) ifTrue:[
+                remaining removeAllFoundIn:(mthd messagesSent).
+                remaining isEmpty ifTrue:[^ remaining].
+            ]
+        ]
+    ].
+    ^ remaining
+
+    "Created: / 18.8.2000 / 22:53:38 / cg"
+    "Modified: / 18.8.2000 / 22:56:59 / cg"
+!
+
+methodShouldBeIgnoredInSubclassResponsibilityNotDefined:aMethod
+    "a kludge for now - would like to have a pragma, resource or other
+     way to mark such a method"
+
+    aMethod == (Object compiledMethodAt:#implementedBySubclass) ifTrue:[^ true].
+    aMethod == (Object compiledMethodAt:#readBinaryContentsFromData:manager:) ifTrue:[^ true].
+    aMethod == (Object compiledMethodAt:#finalize) ifTrue:[^ true].
+    ^ false.
+!
+
+rememberBadClass:class info:whatIsWrong
+    |entry|
+
+    badClasses isNil ifTrue:[
+	badClasses := IdentitySet new.
+    ].
+    badClasses add:class.
+
+    badClassInfo isNil ifTrue:[
+	badClassInfo := IdentityDictionary new.
+    ].
+    entry := badClassInfo at:class ifAbsentPut:[ OrderedCollection new ].
+    entry add:whatIsWrong.
+!
+
+rememberBadMethod:method key:key info:whatIsWrong
+    |entry|
+
+    badMethods isNil ifTrue:[
+	badMethods := Set new.
+    ].
+    (badMethods includes:(method -> key)) ifTrue:[^ self].
+
+    badMethods add:(method -> key).
+
+    badMethodInfo isNil ifTrue:[
+	badMethodInfo := IdentityDictionary new.
+    ].
+    entry := badMethodInfo at:method ifAbsentPut:[ OrderedCollection new ].
+    entry add:whatIsWrong.
+!
+
+rememberBadMethods:methods key:key info:whatIsWrong
+    methods do:[:eachMethod |  
+	self rememberBadMethod:eachMethod key:key info:whatIsWrong
+    ].
+!
+
+removeUsedClassVariablesIn:aClass from:aCollectionOfVariablenames
+    aClass selectorsAndMethodsDo:[:mSelector :method |
+	|src usedVars parser|
+
+	src := method source.
+	src notNil ifTrue:[
+	    parser := Parser
+			    parseMethod:src 
+			    in:aClass 
+			    ignoreErrors:true 
+			    ignoreWarnings:true.
+
+	    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+		aCollectionOfVariablenames removeAllFoundIn:(parser usedClassVars).
+		aCollectionOfVariablenames isEmpty ifTrue:[^ self].
+	    ]
+	].
+    ].
+!
+
+removeUsedInstanceVariablesIn:aClass from:aCollectionOfVariablenames
+    aClass selectorsAndMethodsDo:[:mSelector :method |
+	|src usedVars parser|
+
+	src := method source.
+	src notNil ifTrue:[
+	    parser := Parser
+			    parseMethod:src 
+			    in:aClass 
+			    ignoreErrors:true 
+			    ignoreWarnings:true.
+
+	    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+		aCollectionOfVariablenames removeAllFoundIn:(parser usedInstVars).
+		aCollectionOfVariablenames isEmpty ifTrue:[^ self].
+	    ]
+	].
+    ].
+!
+
+removeWrittenClassVariablesIn:aClass from:aCollectionOfVariablenames
+    aClass selectorsAndMethodsDo:[:mSelector :method |
+	|src usedVars parser|
+
+	src := method source.
+	src notNil ifTrue:[
+	    parser := Parser
+			    parseMethod:src 
+			    in:aClass 
+			    ignoreErrors:true 
+			    ignoreWarnings:true.
+
+	    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+		aCollectionOfVariablenames removeAllFoundIn:(parser modifiedClassVars).
+		aCollectionOfVariablenames isEmpty ifTrue:[^ self].
+	    ]
+	].
+    ].
+!
+
+removeWrittenInstanceVariablesIn:aClass from:aCollectionOfVariablenames
+    aClass selectorsAndMethodsDo:[:mSelector :method |
+	|src usedVars parser|
+
+	src := method source.
+	src notNil ifTrue:[
+	    parser := Parser
+			    parseMethod:src 
+			    in:aClass 
+			    ignoreErrors:true 
+			    ignoreWarnings:true.
+
+	    (parser notNil and:[parser ~~ #Error]) ifTrue:[
+		aCollectionOfVariablenames removeAllFoundIn:(parser modifiedInstVars).
+		aCollectionOfVariablenames isEmpty ifTrue:[^ self].
+	    ]
+	].
+    ].
+! !
+
+!ClassChecker class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassChecker.st,v 1.18 2013-04-02 09:32:24 stefan Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassChecker.st,v 1.18 2013-04-02 09:32:24 stefan Exp $'
+! !
+
--- a/Tools_MethodCategoryList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools_MethodCategoryList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -901,8 +901,8 @@
                 ].
                 showChanged := packages notNil and:[packages includes:(self class nameListEntryForChanged)].
 
-                remainingClasses := leafClasses copy asIdentitySet.
-                remainingCategories := protocols copy asSet.
+                remainingClasses := leafClasses asNewIdentitySet.
+                remainingCategories := protocols asNewSet.
 
                 classesAlreadyDone := IdentitySet new.
                 classSelectorPairsAlreadyDone := Set new.
@@ -2080,11 +2080,11 @@
 !MethodCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.92 2013-03-16 09:49:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.93 2013-04-02 09:34:03 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.92 2013-03-16 09:49:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.93 2013-04-02 09:34:03 stefan Exp $'
 ! !
 
 
--- a/Tools_MethodList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools_MethodList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -1643,12 +1643,19 @@
 
                 lastResultOrNil := cls rememberedOutcomeFor:selector.
                 lastResultOrNil notNil ifTrue:[
-                    (lastResultOrNil result == TestResult statePass) ifTrue:[
+                    |state|
+
+                    state := lastResultOrNil result.
+                    (state == TestResult statePass) ifTrue:[
                         icn := SystemBrowser testCasePassedIcon
                     ] ifFalse:[
-                        ((lastResultOrNil result == TestResult stateError)
-                        or:[ (lastResultOrNil result == TestResult stateFail) ]) ifTrue:[
+                        ((state == TestResult stateError)
+                        or:[ (state == TestResult stateFail) ]) ifTrue:[
                             icn := SystemBrowser testCaseFailedIcon
+                        ] ifFalse:[
+                            (state == TestResult stateSkip) ifTrue:[
+                                icn := SystemBrowser testCaseSkippedIcon
+                            ] 
                         ] 
                     ]
                 ].
@@ -1806,10 +1813,10 @@
 !MethodList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.81 2013-03-28 17:22:01 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.82 2013-04-03 13:24:44 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.81 2013-03-28 17:22:01 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodList.st,v 1.82 2013-04-03 13:24:44 cg Exp $'
 ! !
 
--- a/Tools_NavigationState.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools_NavigationState.st	Thu Apr 04 19:06:16 2013 +0100
@@ -1429,7 +1429,7 @@
                     nm := nm , ' ', (methodName ? '???')
                 ] ifFalse:[
                     nm := methods size printString , ' methods'.
-                    numClasses := (methods collect:[:each | each mclass]) asIdentitySet size.
+                    numClasses := (methods collect:[:each | each mclass] as:IdentitySet) size.
                     numClasses > 1 ifTrue:[
                         nm := nm , ' in ' , numClasses printString , ' classes'.
                     ].
@@ -1679,11 +1679,11 @@
 !NavigationState class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.48 2013-03-06 09:40:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.49 2013-04-02 09:32:41 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.48 2013-03-06 09:40:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.49 2013-04-02 09:32:41 stefan Exp $'
 !
 
 version_SVN
--- a/Tools_OrganizerCanvas.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools_OrganizerCanvas.st	Thu Apr 04 19:06:16 2013 +0100
@@ -4643,7 +4643,7 @@
 
         "/ must update the packageFilter
         orgMode == OrganizerCanvas organizerModeProject ifTrue:[
-            self selectedProjects value:(classes collect:[:each | each package]) asSet.
+            self selectedProjects value:(classes collect:[:each | each package] as:Set).
             packageFilter setValue:(self selectedProjects value)
         ] ifFalse:[
             packageFilter value:nil
@@ -4895,7 +4895,7 @@
         packages := self selectedProjects value ? #().
         packages isEmpty ifTrue:[
             selectedClasses notEmptyOrNil ifTrue:[
-                packages := (selectedClasses collect:[:cls | cls package]) asSet asOrderedCollection.
+                packages := (selectedClasses collect:[:cls | cls package] as:Set) asOrderedCollection.
             ].
         ].
 
@@ -4922,7 +4922,7 @@
     allEntry := self class nameListEntryForALL.
 
     selectedProjects := self selectedProjects value.
-    oldSelectedProjects := ((selectedProjects ? #()) collect:[:pkg | pkg string]) asSet.
+    oldSelectedProjects := ((selectedProjects ? #()) collect:[:pkg | pkg string] as:Set).
 
     variableFilter value:nil.
     packageFilter value:nil.
@@ -5044,10 +5044,10 @@
 !OrganizerCanvas class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.52 2013-03-26 16:28:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.53 2013-04-02 09:34:11 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.52 2013-03-26 16:28:36 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_OrganizerCanvas.st,v 1.53 2013-04-02 09:34:11 stefan Exp $'
 ! !
 
--- a/Tools_SearchDialog.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools_SearchDialog.st	Thu Apr 04 19:06:16 2013 +0100
@@ -887,7 +887,7 @@
     |b packages numPackages|
 
     packages := ((browser selectedMethods value ? #()) 
-                    collect:[:m | m package]) asSet.
+                    collect:[:m | m package] as:Set).
     numPackages := packages size.
     numPackages size == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
 
@@ -1250,12 +1250,12 @@
         ^ self.
     ].
     (where == #listOfSelectedMethodClasses) ifTrue:[ 
-        classes := ((browser selectedMethods value ? #()) collect:[:m | m mclass theNonMetaclass]) asSet asOrderedCollection.
+        classes := ((browser selectedMethods value ? #()) collect:[:m | m mclass theNonMetaclass] as:Set) asOrderedCollection.
         methods := nil.
         ^ self.
     ].
     (where == #listOfSelectedMethodPackages) ifTrue:[ 
-        classes := (((browser selectedMethods value ? #()) collect:[:m | m package]) asSet
+        classes := (((browser selectedMethods value ? #()) collect:[:m | m package] as:Set)
                         collectAll:[:p | Smalltalk allClassesInPackage:p ]) asOrderedCollection.
         methods := nil.
         ^ self.
@@ -1284,7 +1284,7 @@
         ^ self.
     ].
 
-    self halt:'inumplemented search'.
+    self todo:'unimplemented search'.
 
     "Modified: / 05-10-2011 / 15:48:20 / az"
     "Modified: / 29-02-2012 / 19:47:42 / cg"
@@ -1395,7 +1395,7 @@
 !SearchDialog class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.74 2013-03-16 16:12:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_SearchDialog.st,v 1.75 2013-04-02 09:34:13 stefan Exp $'
 ! !
 
 
--- a/Tools__BrowserList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__BrowserList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -719,9 +719,6 @@
 !
 
 enqueueDelayedUpdateOutputGenerator
-    slaveMode value == true ifTrue:[
-        self halt:'should not be invoked'
-    ].
     (NewSystemBrowser synchronousUpdate == true
     or:[ immediateUpdate value == true ])
     ifTrue:[
@@ -979,13 +976,14 @@
     "answer an icon to mark methods"
 
     icons isNil ifTrue:[icons := IdentityDictionary new].
-    Icons isNil ifTrue:[Icons := IdentityDictionary new].
+    "/ Icons isNil ifTrue:[Icons := IdentityDictionary new].
 
     ^ icons at:name ifAbsentPut:[
         |fh icn h|
 
-        (icn := Icons at:name ifAbsent:nil) isNil ifTrue: [
-            Icons at:name put:(icn := (SystemBrowser perform:fetchSelector) onDevice:Display).
+        true "(icn := Icons at:name ifAbsent:nil) isNil" ifTrue: [
+            icn := (SystemBrowser perform:fetchSelector) onDevice:Display.
+            "/ Icons at:name put:icn.
             icn clearMaskedPixels.
         ].
         h := icn height.
@@ -1578,7 +1576,9 @@
     list := builder componentAt:#List.
     list notNil ifTrue:[
         list selectConditionBlock:[:item | self selectionChangeAllowed].
-"/        list ignoreReselect:false.
+        (list respondsTo:#ignoreReselect) ifTrue:[
+            list ignoreReselect:false.
+        ]
     ].
 
     UserPreferences current useInPlaceSearchInBrowserLists ifTrue:[
@@ -1591,7 +1591,7 @@
         ]
     ]
 
-    "Modified: / 07-03-2013 / 11:09:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-04-2013 / 18:47:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 commonPostOpen
--- a/Tools__ChangeSetBrowser2.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ChangeSetBrowser2.st	Thu Apr 04 19:06:16 2013 +0100
@@ -80,7 +80,6 @@
 "
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'instance creation'!
 
 on: aStringOrChangeSet
@@ -128,7 +127,6 @@
     "Created: / 17-05-2012 / 23:36:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'accessing'!
 
 showRemoved
@@ -141,7 +139,6 @@
     ShowRemoved := aBoolean
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -365,7 +362,6 @@
     "Modified: / 01-08-2012 / 18:40:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'image specs'!
 
 applyFromLastSnapshotIcon
@@ -636,7 +632,6 @@
 @P@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 255 0 0 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??@C??B@@@B@C@B@G B@O0@@_8@@G @@G @@G @') ; yourself); yourself]
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'interface opening'!
 
 confirmChanges: aChangeSet
@@ -741,7 +736,6 @@
     "Modified: / 26-07-2012 / 13:19:30 / cg"
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'interface specs'!
 
 hierarchicalNavigatorSpec
@@ -1227,7 +1221,6 @@
     "Modified: / 16-03-2012 / 13:09:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'menu specs'!
 
 changeMenu
@@ -1742,7 +1735,6 @@
       )
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -1762,7 +1754,6 @@
 
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'accessing'!
 
 allowAccept: aBoolean
@@ -1817,6 +1808,12 @@
     self changesetHolder value: aChangeSet
 !
 
+codeAspect
+    ^self codeAspectHolder value
+
+    "Created: / 04-04-2013 / 18:28:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 readOnly: aBoolean
     self allowAcceptHolder value:false.
 
@@ -1865,7 +1862,6 @@
     "Created: / 26-10-2010 / 23:01:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'accessing - defaults'!
 
 defaultTitle
@@ -1874,7 +1870,6 @@
     "Modified: / 08-04-2011 / 10:10:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'accessing - menus'!
 
 list1MenuHolder
@@ -1903,7 +1898,6 @@
     "Modified (format): / 05-09-2011 / 16:07:34 / cg"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'actions'!
 
 accept: source
@@ -1925,7 +1919,6 @@
     "Modified: / 19-07-2011 / 19:08:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'aspects'!
 
 allowAcceptHolder
@@ -2052,11 +2045,12 @@
     "return/create the 'codeAspectHolder' value holder (automatically generated)"
 
     codeAspectHolder isNil ifTrue:[
-	codeAspectHolder := SyntaxHighlighter codeAspectMethod asValue.
+        codeAspectHolder := ValueHolder with: nil.
     ].
     ^ codeAspectHolder
 
     "Modified: / 27-07-2012 / 22:04:12 / cg"
+    "Modified: / 04-04-2013 / 18:28:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 imageSourceHolder
@@ -2355,10 +2349,7 @@
 
     "Created: / 07-09-2011 / 15:54:03 / cg"
     "Created: / 11-02-2012 / 22:40:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
- !
-
+! !
 
 !ChangeSetBrowser2 methodsFor:'aspects-queries'!
 
@@ -2398,7 +2389,6 @@
     "Created: / 17-05-2012 / 20:45:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'change & update'!
 
 changesetChanged
@@ -2498,7 +2488,6 @@
     "Created: / 24-10-2009 / 19:29:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'initialization'!
 
 list1View: aSubApplicationView
@@ -2517,7 +2506,6 @@
     "Modified: / 10-09-2012 / 14:22:50 / cg"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'menu actions'!
 
 doApply
@@ -2888,7 +2876,6 @@
     "Created: / 07-09-2011 / 12:47:15 / cg"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'menu actions - changes'!
 
 changeMenuApply: changeList
@@ -3303,7 +3290,6 @@
     "Created: / 23-07-2012 / 13:13:11 / cg"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'menu actions - changes - helpers'!
 
 changeMenuApplyChange: aChange
@@ -3391,7 +3377,6 @@
     "Modified: / 21-01-2013 / 17:12:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'private'!
 
 changesDo:aBlock
@@ -3500,7 +3485,6 @@
     "Created: / 07-09-2011 / 20:12:04 / cg"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'queries'!
 
 canApplyChanges
@@ -3539,7 +3523,6 @@
     "Created: / 04-08-2011 / 18:25:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 methodsFor:'testing'!
 
 isHierarchical
@@ -3566,7 +3549,6 @@
     "Created: / 30-03-2012 / 11:59:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2::ChangeEditor class methodsFor:'documentation'!
 
 documentation
@@ -3603,7 +3585,6 @@
 "
 ! !
 
-
 !ChangeSetBrowser2::ChangeEditor class methodsFor:'interface specs'!
 
 windowSpec
@@ -3687,7 +3668,6 @@
     "Modified: / 16-03-2012 / 13:08:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2::ChangeEditor methodsFor:'accessing'!
 
 sourceChangeHolder
@@ -3706,7 +3686,6 @@
     sourceImageHolder := something.
 ! !
 
-
 !ChangeSetBrowser2::ChangeEditor methodsFor:'aspects'!
 
 changeHolder
@@ -3817,7 +3796,6 @@
     showdiffHolder := something.
 ! !
 
-
 !ChangeSetBrowser2::ChangeEditor methodsFor:'change & update'!
 
 changeChanged
@@ -3847,7 +3825,6 @@
     "Modified: / 29-11-2011 / 11:15:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !ChangeSetBrowser2 class methodsFor:'documentation'!
 
 version
--- a/Tools__ChangeSetDiffTool.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ChangeSetDiffTool.st	Thu Apr 04 19:06:16 2013 +0100
@@ -39,7 +39,7 @@
 		hasDiffsetHolder mergeSavedHolder canSaveHolder
 		autoMoveToNextConflictHolder textDiff2App textDiff3App list1App
 		list2App alreadyWarnedAboutUnsavedMerge labelSpecHolder
-		labelsView navigatorAndDiffPanelView'
+		labelsView navigatorAndDiffPanelView codeAspectHolder'
 	classVariableNames:'LastDiffInfo AutoMoveToNextConflict'
 	poolDictionaries:''
 	category:'Interface-Diff'
@@ -1724,6 +1724,12 @@
     "Created: / 20-11-2009 / 20:43:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+codeAspect
+    ^self codeAspectHolder value
+
+    "Created: / 04-04-2013 / 18:23:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 diffInfo
 
     ^self diffInfoHolder value
@@ -1886,12 +1892,14 @@
             labelBHolder: self versionBLabelHolder;
              textBHolder: self versionBTextHolder;
 
+            codeAspectHolder: self codeAspectHolder;
+
             yourself
     ].
     ^textDiff2App
 
     "Created: / 16-03-2012 / 13:58:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 17-01-2013 / 20:36:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-04-2013 / 18:17:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 textDiff3Tool
@@ -1906,16 +1914,18 @@
             labelBHolder: self versionBLabelHolder;
              textBHolder: self versionBTextHolder;
 
-
             labelAHolder: self versionALabelHolder;
              textAHolder: self versionATextHolder;
 
+            codeAspectHolder: self codeAspectHolder;
+
+
             yourself
     ].
     ^textDiff3App
 
     "Created: / 16-03-2012 / 15:16:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 17-01-2013 / 20:36:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 04-04-2013 / 18:17:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetDiffTool methodsFor:'accessing-subviews'!
@@ -1964,6 +1974,15 @@
     "Modified: / 17-01-2013 / 21:00:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+codeAspectHolder
+    "return/create the valueHolder 'codeAspectHolder'"
+
+    codeAspectHolder isNil ifTrue:[
+        codeAspectHolder := ValueHolder with:nil "defaultValue here".
+    ].
+    ^ codeAspectHolder
+!
+
 diffInfoHolder
     "return/create the 'diffInfoHolder' value holder (automatically generated)"
 
--- a/Tools__ClassCategoryList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ClassCategoryList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -271,7 +271,7 @@
 
 delayedUpdate:something with:aParameter from:changedObject
     |selectedCategories allSelectedBefore 
-     nameListEntryForALL categoryOfClass wg|
+     nameListEntryForALL cls categoryOfClass wg|
 
     selectedCategories := self selectedCategoriesStrings.
 
@@ -312,6 +312,33 @@
             ].
             ^ self
         ].
+        something == #projectOrganization ifTrue:[
+            listValid == false ifTrue:[
+                ^ self
+            ].
+            aParameter isNil ifTrue:[
+                self invalidateList.                
+                slaveMode value ~~ true ifTrue:[
+                    selectedCategories notEmptyOrNil ifTrue:[
+                        self enqueueDelayedUpdateOutputGenerator
+                    ].
+                ]
+            ] ifFalse:[
+                cls := aParameter first.
+                categoryOfClass := cls category.
+
+                (rawCategoryList includes:categoryOfClass) ifFalse:[
+                    self invalidateList.                
+                ].
+
+                slaveMode value ~~ true ifTrue:[
+                    (selectedCategories includes:categoryOfClass) ifTrue:[
+                        self enqueueDelayedUpdateOutputGenerator
+                    ].
+                ]
+            ].
+            ^ self
+        ].
 
         self invalidateList.
 
@@ -634,7 +661,10 @@
     |categories categoriesBag hideUnloadedClasses generator nameSpaceFilter packageFilter allName
      categoriesWithExtensions categoriesWithChangedCode categoriesWithRemoteChangedCode
      classesInChangeSet classesInRemoteChangeSet classesWithExtensions
-     numClassesInChangeSet numClasses numUnloaded numUndocumented numExtendedClasses pseudoEntryColor|
+     numClassesInChangeSet numClasses numUnloaded numUndocumented numExtendedClasses 
+     pseudoEntryColor showCounts|
+
+    showCounts := true.
 
     allName := self class nameListEntryForALL.
 
@@ -767,8 +797,10 @@
                     ]
                 ]
             ].
-            item := item , ((' (%1)' bindWith:(categoriesBag occurrencesOf:cat)) 
-                                colorizeAllWith:pseudoEntryColor).
+            showCounts ifTrue:[
+                item := item , ((' (%1)' bindWith:(categoriesBag occurrencesOf:cat)) 
+                                    colorizeAllWith:pseudoEntryColor).
+            ].
             isInChangeSet ifTrue:[
                 item := item , self class markForBeingInChangeList
             ].
@@ -788,7 +820,7 @@
         rawCategoryList add:self class nameListEntryForExtendedClasses.
         categories add:((self class nameListEntryForExtendedClassesWithCount bindWith:numExtendedClasses) allItalic colorizeAllWith:pseudoEntryColor).
     ].
-    numClassesInChangeSet := ChangeSet current changedClasses size.
+    numClassesInChangeSet := (ChangeSet current changedClasses collect:[:c | c theNonMetaclass] as:Set) size.
     numClassesInChangeSet > 0 ifTrue:[
         rawCategoryList addFirst:self class nameListEntryForChanged.
         categories addFirst:((self class nameListEntryForChangedWithCount bindWith:numClassesInChangeSet) allItalic colorizeAllWith:pseudoEntryColor).
--- a/Tools__ClassChecker.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ClassChecker.st	Thu Apr 04 19:06:16 2013 +0100
@@ -185,36 +185,36 @@
     |cls notUsedHere notUsedAnyWhere anySubclass|
 
     cls := checkedClass theNonMetaclass.
-    notUsedHere := cls classVarNames asSet.
+    notUsedHere := cls classVarNames asNewSet.
     notUsedHere isEmpty ifTrue:[^ self].
 
     self removeUsedClassVariablesIn:cls from:notUsedHere.
     self removeUsedClassVariablesIn:cls class from:notUsedHere.
 
     notUsedHere notEmpty ifTrue:[
-	notUsedAnyWhere := notUsedHere copy.
-	anySubclass := false.
-	cls allSubclassesDo:[:eachSubclass |
-	    anySubclass := true.
-	    notUsedAnyWhere notEmpty ifTrue:[
-		self removeUsedClassVariablesIn:eachSubclass from:notUsedAnyWhere.
-		self removeUsedClassVariablesIn:eachSubclass class from:notUsedAnyWhere.
-	    ]
-	].
+        notUsedAnyWhere := notUsedHere copy.
+        anySubclass := false.
+        cls allSubclassesDo:[:eachSubclass |
+            anySubclass := true.
+            notUsedAnyWhere notEmpty ifTrue:[
+                self removeUsedClassVariablesIn:eachSubclass from:notUsedAnyWhere.
+                self removeUsedClassVariablesIn:eachSubclass class from:notUsedAnyWhere.
+            ]
+        ].
 
-	notUsedHere do:[:eachVariable |
-	    |className|
+        notUsedHere do:[:eachVariable |
+            |className|
 
-	    className := checkedClass name allBold.
-	    self 
-		rememberBadClass:cls
-		info:('classVar ' , eachVariable allBold , ' is unused in ' , className , ' (#classVariablesNeverUsed)').
-	    (notUsedAnyWhere includes:eachVariable) ifTrue:[
-		self 
-		    rememberBadClass:cls
-		    info:('classVar ' , eachVariable allBold , ' is not even used in subclasses of ' , className , ' (#classVariablesNeverUsed)')
-	    ]
-	].
+            className := checkedClass name allBold.
+            self 
+                rememberBadClass:cls
+                info:('classVar ' , eachVariable allBold , ' is unused in ' , className , ' (#classVariablesNeverUsed)').
+            (notUsedAnyWhere includes:eachVariable) ifTrue:[
+                self 
+                    rememberBadClass:cls
+                    info:('classVar ' , eachVariable allBold , ' is not even used in subclasses of ' , className , ' (#classVariablesNeverUsed)')
+            ]
+        ].
     ]
 !
 
@@ -222,36 +222,36 @@
     |cls notWrittenHere notWrittenAnyWhere anySubclass|
 
     cls := checkedClass theNonMetaclass.
-    notWrittenHere := cls classVarNames asSet.
+    notWrittenHere := cls classVarNames asNewSet.
     notWrittenHere isEmpty ifTrue:[^ self].
 
     self removeWrittenClassVariablesIn:cls from:notWrittenHere.
     self removeWrittenClassVariablesIn:cls class from:notWrittenHere.
 
     notWrittenHere notEmpty ifTrue:[
-	notWrittenAnyWhere := notWrittenHere copy.
-	anySubclass := false.
-	cls allSubclassesDo:[:eachSubclass |
-	    anySubclass := true.
-	    notWrittenAnyWhere notEmpty ifTrue:[
-		self removeWrittenClassVariablesIn:eachSubclass from:notWrittenAnyWhere.
-		self removeWrittenClassVariablesIn:eachSubclass class from:notWrittenAnyWhere.
-	    ]
-	].
+        notWrittenAnyWhere := notWrittenHere copy.
+        anySubclass := false.
+        cls allSubclassesDo:[:eachSubclass |
+            anySubclass := true.
+            notWrittenAnyWhere notEmpty ifTrue:[
+                self removeWrittenClassVariablesIn:eachSubclass from:notWrittenAnyWhere.
+                self removeWrittenClassVariablesIn:eachSubclass class from:notWrittenAnyWhere.
+            ]
+        ].
 
-	notWrittenHere do:[:eachVariable |
-	    |className|
+        notWrittenHere do:[:eachVariable |
+            |className|
 
-	    className := cls name allBold.
-	    self 
-		rememberBadClass:cls
-		info:('classVar ' , eachVariable allBold , ' is not set in ' , className , ' (#classVariablesNeverWritten)').
-	    (notWrittenAnyWhere includes:eachVariable) ifTrue:[
-		self 
-		    rememberBadClass:cls
-		    info:('classVar ' , eachVariable allBold , ' is not even set in subclasses of ' , className , ' (#classVariablesNeverWritten)')
-	    ]
-	].
+            className := cls name allBold.
+            self 
+                rememberBadClass:cls
+                info:('classVar ' , eachVariable allBold , ' is not set in ' , className , ' (#classVariablesNeverWritten)').
+            (notWrittenAnyWhere includes:eachVariable) ifTrue:[
+                self 
+                    rememberBadClass:cls
+                    info:('classVar ' , eachVariable allBold , ' is not even set in subclasses of ' , className , ' (#classVariablesNeverWritten)')
+            ]
+        ].
     ]
 !
 
@@ -545,7 +545,7 @@
 unusedClassVariables
     |remainingVars|
 
-    remainingVars := checkedClass theNonMetaclass classVarNames asSet.
+    remainingVars := checkedClass theNonMetaclass classVarNames asNewSet.
 
     checkedClass theNonMetaclass withAllSubclassesDo:[:eachClassToCheck |
         eachClassToCheck instAndClassMethodsDo:[:method |
@@ -568,7 +568,7 @@
 unusedInstanceVariables
     |remainingVars|
 
-    remainingVars := checkedClass theNonMetaclass instVarNames asSet.
+    remainingVars := checkedClass theNonMetaclass instVarNames asNewSet.
 
     checkedClass theNonMetaclass withAllSubclassesDo:[:eachClassToCheck |
         eachClassToCheck methodDictionary keysAndValuesDo:[:mSelector :method |
@@ -665,94 +665,94 @@
 instanceVariablesNeverUsedIn:aClass
     |notUsedHere notUsedAnyWhere anySubclass|
 
-    notUsedHere := aClass instVarNames asSet.
+    notUsedHere := aClass instVarNames asNewSet.
     notUsedHere isEmpty ifTrue:[^ self].
 
     self removeUsedInstanceVariablesIn:aClass from:notUsedHere.
 
     notUsedHere notEmpty ifTrue:[
-	notUsedAnyWhere := notUsedHere copy.
-	anySubclass := false.
-	aClass allSubclassesDo:[:eachSubclass |
-	    anySubclass := true.
-	    notUsedAnyWhere notEmpty ifTrue:[
-		self removeUsedInstanceVariablesIn:eachSubclass from:notUsedAnyWhere.
-	    ]
-	].
+        notUsedAnyWhere := notUsedHere copy.
+        anySubclass := false.
+        aClass allSubclassesDo:[:eachSubclass |
+            anySubclass := true.
+            notUsedAnyWhere notEmpty ifTrue:[
+                self removeUsedInstanceVariablesIn:eachSubclass from:notUsedAnyWhere.
+            ]
+        ].
 
-	notUsedHere do:[:eachVariable |
-	    |className|
+        notUsedHere do:[:eachVariable |
+            |className|
 
-	    className := aClass name allBold.
-	    self 
-		rememberBadClass:aClass 
-		info:('instVar ' , eachVariable allBold , ' is unused in ' , className , ' (#instanceVariablesNeverUsed)').
+            className := aClass name allBold.
+            self 
+                rememberBadClass:aClass 
+                info:('instVar ' , eachVariable allBold , ' is unused in ' , className , ' (#instanceVariablesNeverUsed)').
 
-	    anySubclass ifTrue:[
-		(notUsedAnyWhere includes:eachVariable) ifTrue:[
-		    self 
-			rememberBadClass:aClass 
-			info:('instVar ' , eachVariable allBold , ' is not even used in subclasses of ' , className , ' (#instanceVariablesNeverUsed)')
-		]
-	    ]
-	].
+            anySubclass ifTrue:[
+                (notUsedAnyWhere includes:eachVariable) ifTrue:[
+                    self 
+                        rememberBadClass:aClass 
+                        info:('instVar ' , eachVariable allBold , ' is not even used in subclasses of ' , className , ' (#instanceVariablesNeverUsed)')
+                ]
+            ]
+        ].
     ]
 !
 
 instanceVariablesNeverWrittenIn:aClass
     |notWrittenHere notWrittenAnyWhere anySubclass|
 
-    notWrittenHere := aClass instVarNames asSet.
+    notWrittenHere := aClass instVarNames asNewSet.
     notWrittenHere isEmpty ifTrue:[^ self].
 
     self removeWrittenInstanceVariablesIn:aClass from:notWrittenHere.
 
     notWrittenHere notEmpty ifTrue:[
-	notWrittenAnyWhere := notWrittenHere copy.
-	anySubclass := false.
-	aClass allSubclassesDo:[:eachSubclass |
-	    anySubclass := true.
-	    notWrittenAnyWhere notEmpty ifTrue:[
-		self removeWrittenInstanceVariablesIn:eachSubclass from:notWrittenAnyWhere.
-	    ]
-	].
+        notWrittenAnyWhere := notWrittenHere copy.
+        anySubclass := false.
+        aClass allSubclassesDo:[:eachSubclass |
+            anySubclass := true.
+            notWrittenAnyWhere notEmpty ifTrue:[
+                self removeWrittenInstanceVariablesIn:eachSubclass from:notWrittenAnyWhere.
+            ]
+        ].
 
-	notWrittenHere do:[:eachVariable |
-	    |className|
+        notWrittenHere do:[:eachVariable |
+            |className|
 
-	    className := aClass name allBold.
-	    self 
-		rememberBadClass:aClass
-		info:('instVar ' , eachVariable allBold , ' is nowhere set in ' , className , ' (#instanceVariablesNeverWritten)').
-	    anySubclass ifTrue:[
-		(notWrittenAnyWhere includes:eachVariable) ifTrue:[
-		    self 
-			rememberBadClass:aClass
-			info:('instVar ' , eachVariable allBold , ' is not even set in subclasses of ' , className , ' (#instanceVariablesNeverWritten)')
-		]
-	    ]
-	].
+            className := aClass name allBold.
+            self 
+                rememberBadClass:aClass
+                info:('instVar ' , eachVariable allBold , ' is nowhere set in ' , className , ' (#instanceVariablesNeverWritten)').
+            anySubclass ifTrue:[
+                (notWrittenAnyWhere includes:eachVariable) ifTrue:[
+                    self 
+                        rememberBadClass:aClass
+                        info:('instVar ' , eachVariable allBold , ' is not even set in subclasses of ' , className , ' (#instanceVariablesNeverWritten)')
+                ]
+            ]
+        ].
     ]
 !
 
 messagesNeverSentAndNotUsedAsSymbolIn:selectorsOfInterest
     |remaining toRemove checkBlock|
 
-    remaining := selectorsOfInterest copy asIdentitySet.
+    remaining := selectorsOfInterest asNewIdentitySet.
     toRemove := IdentitySet new.
 
     checkBlock := [:eachClass |
-	eachClass instAndClassSelectorsAndMethodsDo:[:mSel :mthd | |lits|
-	    lits := mthd literals.
-	    lits notNil ifTrue:[
-		lits traverse:[:eachLiteral |
-		    eachLiteral isSymbol ifTrue:[        
-			remaining remove:eachLiteral ifAbsent:nil.
-		    ]
-		].
-		remaining isEmpty ifTrue:[^ remaining].
-	    ]
-	].
+        eachClass instAndClassSelectorsAndMethodsDo:[:mSel :mthd | |lits|
+            lits := mthd literals.
+            lits notNil ifTrue:[
+                lits traverse:[:eachLiteral |
+                    eachLiteral isSymbol ifTrue:[        
+                        remaining remove:eachLiteral ifAbsent:nil.
+                    ]
+                ].
+                remaining isEmpty ifTrue:[^ remaining].
+            ]
+        ].
     ].
 
     "/ start searching in the checkedClass - chances are high, we find some here
--- a/Tools__ClassList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ClassList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -856,7 +856,7 @@
         something == #lastTestRunResult ifTrue:[
             cls := aParameter at:1.
             sel := aParameter at:2.
-            (cls notNil and:[sel notNil]) ifTrue:[
+            (cls notNil and:[sel isNil]) ifTrue:[
                 classListValue size > 0 ifTrue:[
                     ((classListValue includesIdentical:cls theNonMetaclass)
                     or:[(classListValue includesIdentical:cls theMetaclass)]) ifTrue:[
@@ -937,7 +937,6 @@
     super update:something with:aParameter from:changedObject
 
     "Modified: / 05-06-2012 / 23:39:34 / cg"
-    "Modified: / 02-04-2013 / 10:51:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ClassList methodsFor:'drag & drop'!
@@ -1020,15 +1019,20 @@
 
     ^ Iterator 
         on:[:whatToDo |
-                |allEntry classes cls already anyMethod packages classIsInPackage showChanged changedClasses|
+                |allEntry classes cls already anyMethod packages classIsInPackage 
+                 showChanged changedClasses|
 
                 allEntry := self class nameListEntryForALL.
-                changedClasses := ChangeSet current changedClasses.
 
                 classes := self selectedClasses value ? #().
                 packages := packageFilter value value.
+
                 (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+
                 showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
+                showChanged ifTrue:[
+                    changedClasses := ChangeSet current changedClasses.
+                ].
 
                 classes do:[:cls |
                     (cls notNil and:[cls ~~ allEntry]) ifTrue:[
@@ -1044,7 +1048,9 @@
                                 whatToDo value:cls value:(self class nameListEntryForNonStatic).
                             ]
                         ] ifFalse:[
-                            cls supportsMethodCategories ifTrue:[
+                            cls supportsMethodCategories ifFalse:[
+                                whatToDo value:cls value:(self class nameListEntryForNILCategory).
+                            ] ifTrue:[
                                 already := Set new.
                                 cls methodDictionary keysAndValuesDo:[:sel :mthd |
                                     |cat|
@@ -1052,16 +1058,14 @@
                                     cat := mthd category.
                                     (already includes:cat) ifFalse:[
                                         (classIsInPackage
-                                        or:[packages isNil
-                                        or:[packages includes:mthd package]])
+                                            or:[packages isNil
+                                            or:[(packages includes:mthd package) ]])
                                         ifTrue:[
                                             already add:cat.
                                             whatToDo value:cls value:cat.
                                         ]
                                     ]
                                 ].
-                            ] ifFalse:[
-                                whatToDo value:cls value:(self class nameListEntryForNILCategory).
                             ].
                         ].
 
@@ -1082,20 +1086,25 @@
 
     ^ Iterator 
         on:[:whatToDo |
-                |allEntry classes cls already packages classIsInPackage showChanged cat |
+                |allEntry classes cls already packages classIsInPackage 
+                 showChanged changedClasses cat |
 
                 allEntry := self class nameListEntryForALL.
 
                 classes := self selectedClasses value ? #().
                 packages := packageFilter value value.
                 (packages notNil and:[packages includes:allEntry]) ifTrue:[packages := nil].
+
                 showChanged := packages notNil and:[packages includes:NavigatorModel nameListEntryForChanged].
+                showChanged ifTrue:[
+                    changedClasses := ChangeSet current changedClasses.
+                ].
 
                 classes do:[:cls |
                     (cls notNil and:[cls ~~ allEntry]) ifTrue:[
                         classIsInPackage := packages isNil 
                                             or:[(packages includes:cls package)
-                                            or:[ showChanged and:[ChangeSet current changedClasses includes:cls]] ].
+                                            or:[ showChanged and:[changedClasses includes:cls]] ].
                         cls isMeta ifTrue:[
                             cat := self class nameListEntryForStatic.
                         ] ifFalse:[
@@ -1879,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).
     ].
--- a/Tools__CodeView2DemoApp.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__CodeView2DemoApp.st	Thu Apr 04 19:06:16 2013 +0100
@@ -150,6 +150,12 @@
     ^ '§Header: /cvs/stx/stx/libtool/Tools__CodeView2DemoApp.st,v 1.2 2011/07/03 17:50:09 cg Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: Tools__CodeView2DemoApp.st 7567 2010-04-17 10:59:53Z vranyj1 $'
-! !
\ No newline at end of file
+! !
+
--- a/Tools__CompilerWarningToDoListEntry.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__CompilerWarningToDoListEntry.st	Thu Apr 04 19:06:16 2013 +0100
@@ -284,4 +284,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/Tools__CompilerWarningToDoListEntry.st,v 1.11 2008/08/20 19:41:29 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/Tools__DiffCodeView2DemoApp.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__DiffCodeView2DemoApp.st	Thu Apr 04 19:06:16 2013 +0100
@@ -169,6 +169,12 @@
     ^ '§Header: /cvs/stx/stx/libtool/Tools__DiffCodeView2DemoApp.st,v 1.2 2011/07/03 17:50:00 cg Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: Tools__DiffCodeView2DemoApp.st 7925 2012-03-16 17:08:17Z vranyj1 $'
 ! !
+
--- a/Tools__HierarchicalClassList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__HierarchicalClassList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -267,12 +267,13 @@
     aClass == (self class nameListEntryForALL) ifTrue:[ ^ aClass ].
     aClass == InheritedEntry ifTrue:[ ^ aClass ].
 
-    nm := aClass name.
+    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).
     ].
--- a/Tools__HierarchicalProjectList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__HierarchicalProjectList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -384,12 +384,12 @@
 
 update:something with:aParameter from:changedObject
     something == #methodTrap ifTrue:[
-	"/ dont care for that.
-	^ self.
+        "/ don't care for that.
+        ^ self.
     ].
     changedObject == organizerMode ifTrue:[
-	"/ dont care for that.
-	^ self.
+        "/ don't care for that.
+        ^ self.
     ].
     super update:something with:aParameter from:changedObject
 !
--- a/Tools__InheritanceClassList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__InheritanceClassList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -61,38 +61,35 @@
 delayedUpdate:something with:aParameter from:changedObject
     |top oldSelection newSelection showMeta|
 
-"/    self inSlaveModeOrInvisible ifTrue:[^ self].
-"/    self inSlaveMode ifTrue:[^ self].
+    self inSlaveModeOrInvisible ifTrue:[^ self].
+"/    (self slaveMode value == true) ifTrue:[^ self].
 
     changedObject == slaveMode ifTrue:[
-        self inSlaveMode ifTrue:[
-            self invalidateList.
-        ] ifFalse:[
-            listValid ifFalse:[
-                self updateList
-            ].
-        ].
-        ^  self
+	listValid ~~ true ifTrue:[
+	    self enqueueDelayedUpdateList
+	].
+	"/ self invalidateList.
+	^  self
     ].
 
     changedObject == meta ifTrue:[
-        oldSelection := self selectedClasses value ? #().
-        showMeta := meta value.
+	oldSelection := self selectedClasses value ? #().
+	showMeta := meta value.
 
-        newSelection := oldSelection collect:[:cls | showMeta ifTrue:[cls theMetaclass] ifFalse:[cls theNonMetaclass]].
-        newSelection := newSelection asOrderedCollection.
+	newSelection := oldSelection collect:[:cls | showMeta ifTrue:[cls theMetaclass] ifFalse:[cls theNonMetaclass]].
+	newSelection := newSelection asOrderedCollection.
 
-        top := self topClassHolder value.
-        top notNil ifTrue:[
-            top := showMeta ifTrue:[top theMetaclass] ifFalse:[top theNonMetaclass].
-            self topClassHolder value:top.
-        ].
-        self invalidateList.
+	top := self topClassHolder value.
+	top notNil ifTrue:[
+	    top := showMeta ifTrue:[top theMetaclass] ifFalse:[top theNonMetaclass].
+	    self topClassHolder value:top.
+	].
+	self invalidateList.
 
-        (newSelection includes:nil) ifTrue:[self halt:'should not happen'].
+(newSelection includes:nil) ifTrue:[self halt:'should not happen'].
 
-        self selectedClasses value:newSelection.
-        ^ self.
+	self selectedClasses value:newSelection.
+	^ self.
     ].
     super delayedUpdate:something with:aParameter from:changedObject
 
--- a/Tools__InlineMessageDialog.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__InlineMessageDialog.st	Thu Apr 04 19:06:16 2013 +0100
@@ -106,7 +106,6 @@
 "
 ! !
 
-
 !InlineMessageDialog class methodsFor:'accessing-colors'!
 
 defaultInformationBackground
@@ -123,7 +122,6 @@
     "Created: / 10-04-2012 / 19:30:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog class methodsFor:'interface specs'!
 
 messageInfoSpec
@@ -317,14 +315,17 @@
       )
 ! !
 
-
 !InlineMessageDialog class methodsFor:'others'!
 
 version_CVS
     ^ '$Header: /cvs/stx/stx/libtool/Tools__InlineMessageDialog.st,v 1.11 2013-03-31 20:32:27 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
 
-
 !InlineMessageDialog methodsFor:'accessing'!
 
 backgroundColor: aColor
@@ -362,7 +363,6 @@
     "Created: / 28-10-2010 / 18:24:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'accessing-presentation'!
 
 changeLayoutUponShowHide: aBoolean
@@ -377,7 +377,6 @@
     "Modified (comment): / 17-05-2012 / 13:56:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'actions'!
 
 doAbort
@@ -423,7 +422,6 @@
     "Modified: / 31-03-2013 / 18:02:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'adding & removing components'!
 
 addButton: aButton
@@ -525,7 +523,6 @@
     "Created: / 11-04-2012 / 00:51:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'aspects'!
 
 backgroundColorHolder
@@ -637,7 +634,6 @@
     "Modified: / 28-10-2010 / 18:29:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'change & update'!
 
 update:aspect with:parameter from:changedObject
@@ -652,7 +648,6 @@
     "Modified: / 10-04-2012 / 19:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'hooks'!
 
 commonPostBuild
@@ -681,7 +676,6 @@
     "Created: / 10-02-2012 / 10:42:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'private'!
 
 getMyView
@@ -780,7 +774,6 @@
     "Created: / 29-10-2010 / 11:48:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'utilities'!
 
 reset
@@ -875,7 +868,6 @@
     "Created: / 11-04-2012 / 13:38:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !InlineMessageDialog methodsFor:'utilities-obsolete'!
 
 information: message 
@@ -944,18 +936,12 @@
     "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.11 2013-03-31 20:32:27 cg Exp $'
 !
 
-version_HG
-
-    ^ '§Changeset: <not expanded> §'
-!
-
 version_SVN
     ^ '§Id: Tools__InlineMessageDialog.st 7976 2012-04-11 16:14:22Z vranyj1 §'
 ! !
--- a/Tools__MethodCategoryList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__MethodCategoryList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -76,7 +76,7 @@
 
 initialize
     MethodInfoCache := Dictionary new.
-    MethodInfoCacheAccessLock := RecursionLock new.
+    MethodInfoCacheAccessLock := RecursionLock new name:'MethodInfoCacheAccessLock'.
 ! !
 
 !MethodCategoryList class methodsFor:'cleanup'!
@@ -850,29 +850,31 @@
      (i.e. to pass multiple-class and multiple-protocol info
       without a need for another classHolder/protocolHolder in the methodList)."
 
+    |protocols noPackage noCat static notStatic|
+
+    noPackage := PackageId noProjectID.
+    noCat := (self class nameListEntryForNILCategory).
+    static := (self class nameListEntryForStatic).
+    notStatic := (self class nameListEntryForNonStatic).
+
+    protocols := self selectedProtocols value ? #().
+    protocols := protocols collect:[:each | (each ifNil:[noCat]) string].
+    lastGeneratedProtocols := protocols.
+    protocols := protocols asSet.
+
     ^ Iterator 
         on:[:whatToDo |
-            |protocols 
+            | 
              allProtocols superSendProtocols uncommentedProtocols obsoleteProtocols 
              documentationProtocols longProtocols extensionProtocols redefinedProtocols
              redefineProtocols  overrideProtocols
              missingRequiredProtocols subclassResponsibilities
              notInstrumentedProtocols annotatedProtocols fullyCoveredProtocols 
              partiallyCoveredProtocols uncoveredProtocols
-             noCat static notStatic classSelectorPairsAlreadyDone
-             packages remainingClasses remainingCategories classesAlreadyDone noPackage
+             classSelectorPairsAlreadyDone
+             packages remainingClasses remainingCategories classesAlreadyDone 
              catListed showChanged|
 
-            noPackage := PackageId noProjectID.
-            noCat := (self class nameListEntryForNILCategory).
-            static := (self class nameListEntryForStatic).
-            notStatic := (self class nameListEntryForNonStatic).
-
-            protocols := self selectedProtocols value ? #().
-            protocols := protocols collect:[:each | (each ifNil:[noCat]) string].
-            lastGeneratedProtocols := protocols.
-            protocols := protocols asSet.
-
             (leafClasses size > 0 and:[protocols size > 0]) ifTrue:[
                 allProtocols := protocols includes:(self class nameListEntryForALL).
                 superSendProtocols := protocols includes:(self class nameListEntryForSuperSend).
@@ -899,8 +901,8 @@
                 ].
                 showChanged := packages notNil and:[packages includes:(self class nameListEntryForChanged)].
 
-                remainingClasses := leafClasses copy asIdentitySet.
-                remainingCategories := protocols copy asSet.
+                remainingClasses := leafClasses asNewIdentitySet.
+                remainingCategories := protocols asNewSet.
 
                 classesAlreadyDone := IdentitySet new.
                 classSelectorPairsAlreadyDone := Set new.
@@ -1225,6 +1227,7 @@
     numRedefine := numRedefined := numOverride := numExtension := numMissingRequired := numSubclassResponsibility := 0.
     numNotInstrumented := numFullyCovered := numPartiallyCovered := numUncovered := 0.
     numAnnotated := 0.
+    numAll := 0.
 
     generator do:[:clsIn :catIn | 
                         |emptyProtocols clsName doHighLight doHighLightRed includedCats|
@@ -1297,6 +1300,7 @@
                                                 and:[ (packageFilter includes:mthd package) not 
                                                 and:[ showChanges not ]].
                                     suppress ifFalse:[
+        numAll := numAll + 1.
                                         categoryBag add:cat.
                                         suppressPseudoProtocolsNow ifFalse:[
                                             info := self methodInfoFor:mthd in:cls selector:sel lazy:suppressPseudoProtocolsNow.
@@ -1327,8 +1331,6 @@
                         ]
                  ].
 
-    numAll := 0.
-
     changeSet := ChangeSet current.
 
     classesProcessed do:[:eachClass |
@@ -1349,13 +1351,13 @@
             ].
             mPackage ~~ classPackage ifTrue:[
                 (mCategory notNil and:[mPackage ~= PackageId noProjectID]) ifTrue:[
-                    itemsWithExtensions add:mCategory.    
-
                     (packageFilter notNil 
                     and:[ (packageFilter includes:mPackage) not])
                     ifTrue:[
                         itemsWithSuppressedExtensions add:mCategory.    
-                    ].
+                    ] ifFalse:[
+                        itemsWithExtensions add:mCategory.    
+                    ]
                 ].
             ].
 
@@ -1382,7 +1384,13 @@
                 ].
             ].
             (changeSet includesChangeForClass:eachClass selector:mSelector) ifTrue:[
-                itemsInChangeSet add:mCategory.    
+                (packageFilter notNil 
+                and:[ (packageFilter includes:mPackage) not])
+                ifTrue:[
+                    "/ itemsInChangeSetSuppressed add:mCategory.    
+                ] ifFalse:[
+                    itemsInChangeSet add:mCategory.    
+                ]
             ].
             (SmallTeam notNil and:[ SmallTeam includesChangeForClass:eachClass selector:mSelector] ) ifTrue:[
                 itemsInRemoteChangeSet add:mCategory.    
@@ -1396,7 +1404,6 @@
                 numMissingRequired := numMissingRequired + required size.
             ].
         ].
-        numAll := numAll + (eachClass methodDictionary size)
     ].
 
     pseudoEntryColor := self class pseudoEntryForegroundColor.
--- a/Tools__MethodList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__MethodList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -366,7 +366,7 @@
 !MethodList methodsFor:'change & update'!
 
 delayedUpdate:something with:aParameter from:changedObject
-    |cls sel oldMethod newMethod methods newSelection
+    |cls clsName sel oldMethod newMethod methods newSelection
      selectionHolder selection needSelectionChange|
 
     selectionHolder := self selectedMethods.
@@ -376,15 +376,11 @@
         classes notNil ifTrue:[
             something == #classDefinition ifTrue:[
                 cls := aParameter.
-                (classes contains:[:aClass | aClass name == cls name]) ifFalse:[
-                    ^ self   "/ I dont care for that class
+                clsName := cls name.        
+                (classes contains:[:aClass | aClass name = clsName]) ifFalse:[
+                    ^ self   "/ I don't care for that class
                 ].
-                classes := classes collect:[:eachClass | eachClass isMeta ifTrue:[
-                                                             (Smalltalk at:eachClass theNonMetaclass name) class 
-                                                         ] ifFalse:[
-                                                             Smalltalk at:eachClass name
-                                                         ]
-                                           ].
+                classes := classes collect:[:eachClass | (Smalltalk classNamed:eachClass name) ].
                 self invalidateList.
 "/                self updateList.
                 ^ self.
@@ -782,12 +778,11 @@
 
 selectionChangedByClick
     "we are not interested in that - get another notification
-     via the changed valueHolder"
-
+     via the changed valueHolder "
 !
 
 update:something with:aParameter from:changedObject
-    |cls mthd mustFlushInheritanceInfo|
+    |cls clsName sel mthd mustFlushInheritanceInfo|
 
     mustFlushInheritanceInfo := true.
 
@@ -834,19 +829,24 @@
         (something == #methodTrap 
         or:[ something == #methodPrivacy
         or:[ something == #lastTestRunResult] ]) ifTrue:[
-            cls := aParameter at:1.
-            (classes includesIdentical:cls) ifFalse:[
-                ^ self   "/ I dont care for that class
-            ].
             self window shown ifFalse:[
                 "JV@2011-11-17: Do not break the dependency here,
                  because then the window won't get updates once
-                 deiconified -> leads to confusing behavior (browser
-                 shows obsolete info)"
+                 deiconified -> leads to confusing behavior
+                 (browser shows obsolete info)"
                 "/changedObject removeDependent:self. "/ ?????
                 self invalidateList.
                 ^ self
             ].
+            cls := aParameter at:1.
+            sel := aParameter at:2.
+            mthd := cls compiledMethodAt:sel.
+            (mthd isWrapped or:[mthd isMethodWithBreakpoints]) ifTrue:[
+                (methodList includes:mthd originalMethod) ifTrue:[
+                    methodList replaceAll:mthd originalMethod with:mthd.
+                    lastSelectedMethods replaceAll:mthd originalMethod with:mthd.
+                ]
+            ].
             mustFlushInheritanceInfo := false.    
         ].
         something == #newClass ifTrue:[
@@ -855,11 +855,18 @@
 
         (something == #methodInClass 
         or:[ something == #methodInClassRemoved ]) ifTrue:[
-            |sel|
-
+            cls := aParameter first.
+            clsName := cls name.    
+            (classes contains:[:aClass | aClass name = clsName]) ifFalse:[
+                ^ self   "/ I dont care for that class
+            ].
             sel := aParameter second.
-            (methodList contains:[:mthd | mthd selector = sel]) ifFalse:[
+            (methodList contains:[:mthd | mthd getMclass notNil and:[mthd selector = sel]]) ifFalse:[
                 mustFlushInheritanceInfo := false.
+                self window topView hasFocus ifFalse:[
+                    self enqueueDelayedUpdate:something with:aParameter from:changedObject.
+                    ^ self.
+                ].
             ].
         ].
 
@@ -870,8 +877,9 @@
 
         something == #classDefinition ifTrue:[
             cls := aParameter.
-            (classes contains:[:aClass | aClass name == cls name]) ifFalse:[
-                ^ self   "/ I dont care for that class
+            clsName := cls name.    
+            (classes contains:[:aClass | aClass name = clsName]) ifFalse:[
+                ^ self   "/ I don't care for that class
             ].
             self enqueueDelayedUpdate:something with:aParameter from:changedObject.
             ^ self.
@@ -957,7 +965,7 @@
 
 !MethodList methodsFor:'private'!
 
-isMethodToBeShown:aMethod
+isMethodToBeShown:aMethod 
     "invoked, when we get a change for aMethod which was previously not
      in the list (for example, if I show a filtered list).
      Check if that single method is to be shown now.
@@ -967,30 +975,29 @@
 
     generator := inGeneratorHolder value.
     generator isNil ifTrue:[
-	^ false
+        ^ false
     ].
-
+    
     "/ generator generates nil-selector entries
     "/ to pass multiple-class and multiple-protocol info
-
-    generator do:[:cls :cat :sel :mthd |
-	mthd == aMethod ifTrue:[
-	    (mthd isSynthetic not or:[self showSyntheticMethods value]) ifTrue:[
-		sel notNil ifTrue:[
+    
+    generator do:[:cls :cat :sel :mthd | 
+        mthd == aMethod ifTrue:[
+            mthd isSynthetic ifFalse:[ 
+                sel notNil ifTrue:[
 "/ cg: no longer filter those...
-"/                    (packageFilter value isNil
+"/                    (packageFilter value isNil 
 "/                    or:[ packageFilter value includes:mthd package ]) ifTrue:[
-			^ true
+                        ^ true
 "/                    ]
-		]
-	    ].
-	    ^ false
-	]
+                ]
+            ].
+            ^ false
+        ]
     ].
     ^ false
 
     "Created: / 17-08-2011 / 15:03:34 / cg"
-    "Modified: / 13-04-2012 / 17:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 listOfMethodNames
@@ -1420,84 +1427,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].
-	    ].
-	    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]
-		].
+            "/ 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.
-		].
-	    ] ifFalse:[
-		lastSelectedMethods := selectedMethodsHolder value.
-		lastSelectedMethods notNil ifTrue:[
-		    lastSelectedMethods := lastSelectedMethods asOrderedCollection
-		].
-		selectedMethodNameIndices value size > 0 ifTrue:[
-		    selectedMethodNameIndices value:#().
-		]
-	    ].
+            "/ 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:#().
+            ]
+        ].
 
-	    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.
+        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 size ~= classes size
-	    or:[prevClasses asOrderedCollection ~= (classes ? #()) asOrderedCollection ]) ifTrue:[
-		(newListSize > 0 or:[oldListSize > 0]) ifTrue:[
-		    self selectionChanged.
-		]
-	    ]
-	]
-    "/ ].
+        (prevClasses ~= (classes ? IdentitySet new)) ifTrue:[
+            (newListSize > 0 or:[oldListSize > 0]) ifTrue:[
+                self selectionChanged.
+            ]
+        ]
+    ]
 
     "Modified: / 05-03-2007 / 16:07:24 / cg"
 !
@@ -1597,7 +1600,7 @@
     ].
 
     "/
-    "/ wrap icons (i.e. break- or trace points)
+    "/ wrap icons (i.e. break- or trace points on the method)
     "/ have higher prio ...
     "/
     (aMethod notNil and:[aMethod isWrapped]) ifTrue:[
@@ -1615,6 +1618,15 @@
         ].
     ].
 
+    "/
+    "/ breakpoint icons (i.e. break- or trace points inside)
+    "/
+    icn isNil ifTrue:[
+        (aMethod notNil and:[aMethod isMethodWithBreakpoints]) ifTrue:[
+            icn := self breakPointedIcon
+        ].
+    ].
+
     icn isNil ifTrue:[
         self showImageResourceMethodsImages value ~~ false ifTrue:[
             (aMethod hasImageResource) ifTrue:[
@@ -1655,12 +1667,19 @@
 
                 lastResultOrNil := cls rememberedOutcomeFor:selector.
                 lastResultOrNil notNil ifTrue:[
-                    (lastResultOrNil result == TestResult statePass) ifTrue:[
+                    |state|
+
+                    state := lastResultOrNil result.
+                    (state == TestResult statePass) ifTrue:[
                         icn := SystemBrowser testCasePassedIcon
                     ] ifFalse:[
-                        ((lastResultOrNil result == TestResult stateError)
-                        or:[ (lastResultOrNil result == TestResult stateFail) ]) ifTrue:[
+                        ((state == TestResult stateError)
+                        or:[ (state == TestResult stateFail) ]) ifTrue:[
                             icn := SystemBrowser testCaseFailedIcon
+                        ] ifFalse:[
+                            (state == TestResult stateSkip) ifTrue:[
+                                icn := SystemBrowser testCaseSkippedIcon
+                            ] 
                         ] 
                     ]
                 ].
--- a/Tools__NavigationHistoryTests.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__NavigationHistoryTests.st	Thu Apr 04 19:06:16 2013 +0100
@@ -36,7 +36,6 @@
 "
 ! !
 
-
 !NavigationHistoryTests methodsFor:'initialization'!
 
 setUp
@@ -46,7 +45,6 @@
     "Created: / 21-02-2008 / 16:52:19 / janfrog"
 ! !
 
-
 !NavigationHistoryTests methodsFor:'tests'!
 
 test_01
@@ -124,13 +122,17 @@
     "Modified: / 06-06-2008 / 09:31:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
-
 !NavigationHistoryTests class methodsFor:'documentation'!
 
 version_CVS
     ^ '$Header: /cvs/stx/stx/libtool/Tools__NavigationHistoryTests.st,v 1.2 2012-09-02 11:21:14 cg Exp $'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '§Id: Tools__NavigationHistoryTests.st 7486 2009-10-26 22:06:24Z vranyj1 §'
 ! !
--- a/Tools__NavigationState.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__NavigationState.st	Thu Apr 04 19:06:16 2013 +0100
@@ -1020,8 +1020,6 @@
     "Modified: / 26-02-2013 / 12:29:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-"bad name- it's a holder, baby"
-
 selectedLintRules
     selectedLintRules isNil ifTrue:[
         selectedLintRules := nil asValue.
@@ -1474,7 +1472,7 @@
                     nm := nm , ' ', (methodName ? '???')
                 ] ifFalse:[
                     nm := methods size printString , ' methods'.
-                    numClasses := (methods collect:[:each | each mclass]) asIdentitySet size.
+                    numClasses := (methods collect:[:each | each mclass] as:IdentitySet) size.
                     numClasses > 1 ifTrue:[
                         nm := nm , ' in ' , numClasses printString , ' classes'.
                     ].
@@ -1526,7 +1524,7 @@
             ] ifFalse:[
                 cats := self selectedCategories value.
                 cats size == 1 ifTrue:[
-                    nm := cats first string
+                    nm := (cats first ? '') string
                 ]
             ]
         ].
--- a/Tools__OrganizerCanvas.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__OrganizerCanvas.st	Thu Apr 04 19:06:16 2013 +0100
@@ -4643,7 +4643,7 @@
 
         "/ must update the packageFilter
         orgMode == OrganizerCanvas organizerModeProject ifTrue:[
-            self selectedProjects value:(classes collect:[:each | each package]) asSet.
+            self selectedProjects value:(classes collect:[:each | each package] as:Set).
             packageFilter setValue:(self selectedProjects value)
         ] ifFalse:[
             packageFilter value:nil
@@ -4689,6 +4689,9 @@
         ].
         (orgMode == OrganizerCanvas organizerModeProject) ifTrue:[
             projectListSlaveMode value:false.
+            self selectedProjects value isEmptyOrNil ifTrue:[
+                self updateProjectSelectionFromClasses.
+            ].
         ].
         (orgMode == OrganizerCanvas organizerModePackageDiagram) ifTrue:[
             "/
@@ -4703,9 +4706,12 @@
     changedObject == selectedClasses ifTrue:[
         selectedClasses value size ~~ 0 ifTrue:[
             (orgMode ~~ OrganizerCanvas organizerModeClassHierarchy
-            and:[ orgMode ~~ OrganizerCanvas organizerModeProject
-            and:[ orgMode ~~ OrganizerCanvas organizerModePackageDiagram ]]) ifTrue:[
-                self updateOrganizationFromChangedClass.
+            and:[ orgMode ~~ OrganizerCanvas organizerModePackageDiagram ]) ifTrue:[
+                "/ if the organizerMode is project, avoid clobbering the project selection
+                (orgMode ~~ OrganizerCanvas organizerModeProject
+                or:[ (self selectedProjects value includesAll:( selectedClasses value collect:[:each | each package] )) not ])  ifTrue:[
+                    self updateOrganizationFromChangedClass.
+                ].
             ].
         ]
     ].
@@ -4832,9 +4838,6 @@
     |orgMode selectedClassesHolder selectedClasses classHierarchyTopClassHolder commonSuperClass|
 
     orgMode := organizerMode value.
-    selectedClassesHolder := self selectedClasses.
-    selectedClasses := selectedClassesHolder value.
-    classHierarchyTopClassHolder := self classHierarchyTopClass.
 
     orgMode == OrganizerCanvas organizerModeCategory ifTrue:[
         self updateCategorySelectionFromClasses.
@@ -4852,6 +4855,15 @@
         classHierarchyTopClassHolder value:nil.
         ^ self.
     ].
+    orgMode == OrganizerCanvas organizerModePackageDiagram ifTrue:[
+        self updatePackageDiagramView.
+        ^ self.
+    ].
+
+    selectedClassesHolder := self selectedClasses.
+    selectedClasses := selectedClassesHolder value.
+    classHierarchyTopClassHolder := self classHierarchyTopClass.
+
     (orgMode == OrganizerCanvas organizerModeClassHierarchy) ifTrue:[
 "/        (selectedClasses size == 1) ifTrue:[
 "/            self classHierarchyTopClass value:selectedClasses first
@@ -4871,9 +4883,6 @@
             ((selectedClasses size == 1) ifTrue:[selectedClasses first] ifFalse:nil).
         ^ self.
     ].
-    orgMode == OrganizerCanvas organizerModePackageDiagram ifTrue:[
-        self updatePackageDiagramView.
-    ].
 !
 
 updatePackageDiagramView
@@ -4886,7 +4895,7 @@
         packages := self selectedProjects value ? #().
         packages isEmpty ifTrue:[
             selectedClasses notEmptyOrNil ifTrue:[
-                packages := (selectedClasses collect:[:cls | cls package]) asSet asOrderedCollection.
+                packages := (selectedClasses collect:[:cls | cls package] as:Set) asOrderedCollection.
             ].
         ].
 
@@ -4913,7 +4922,7 @@
     allEntry := self class nameListEntryForALL.
 
     selectedProjects := self selectedProjects value.
-    oldSelectedProjects := (selectedProjects ? #()) asSet.
+    oldSelectedProjects := ((selectedProjects ? #()) collect:[:pkg | pkg string] as:Set).
 
     variableFilter value:nil.
     packageFilter value:nil.
--- a/Tools__ProjectCheckerBrowser.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ProjectCheckerBrowser.st	Thu Apr 04 19:06:16 2013 +0100
@@ -423,6 +423,11 @@
     ^ '$Header: /cvs/stx/stx/libtool/Tools__ProjectCheckerBrowser.st,v 1.4 2013-03-30 19:07:38 cg Exp $'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ 'Id: Tools__ProjectCheckerBrowser.st 8024 2012-07-26 10:10:37Z vranyj1 '
 ! !
--- a/Tools__ProjectList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ProjectList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -15,7 +15,7 @@
 
 BrowserList subclass:#ProjectList
 	instanceVariableNames:'projectList projectNameList selectionIndexHolder worker
-		workerQueue includedPseudoEntryForChanged'
+		workerQueue includedPseudoEntryForChanged selectionIndexValid'
 	classVariableNames:'AdditionalEmptyProjects HideModules'
 	poolDictionaries:''
 	category:'Interface-Browsers-New'
@@ -227,42 +227,50 @@
 !ProjectList methodsFor:'change & update'!
 
 delayedUpdate:something with:aParameter from:changedObject
-    |cls sel pkg mthd newSel allIdx|
+    |cls sel pkg mthd newSel|
 
     self inSlaveModeOrInvisible 
     "/ (self slaveMode value == true) 
     ifTrue:[
         (changedObject == Smalltalk
-        or:[ something == #projectOrganization ]) ifTrue:[ 
+        or:[ something == #projectOrganization ]) ifTrue:[
+            listValid ifFalse:[ ^ self].
             listValid := false
         ].
-        ^ self
+        changedObject == self selectionHolder ifTrue:[
+            selectionIndexValid := false.
+        ].
+        changedObject == inGeneratorHolder ifTrue:[
+            self invalidateList.
+            self updateList.
+        ].
+"/
+"/        self window shown ifFalse:[ ^ self ].
+    ].
+
+    (changedObject == self selectionHolder) ifTrue:[
+        self updateSelectionIndexFromSelection.
+        "/ self enqueueDelayedUpdateOutputGenerator.
+        ^ self.
+    ].
+
+    selectionIndexValid ifFalse:[
+        self updateSelectionIndexFromSelection.
     ].
 
     changedObject == self selectionIndexHolder ifTrue:[
         listValid ifFalse:[
              self updateList.
         ].
+        changedObject value == 0 ifTrue:[
+            self selectionIndexHolder value:#()
+        ].
         newSel := changedObject value collect:[:idx | projectList value at:idx].
         newSel ~= self selectedProjects value ifTrue:[
             self selectedProjects value:newSel.
         ].
         ^ self.
     ].
-    changedObject == self selectionHolder ifTrue:[
-        listValid ifFalse:[
-             self updateList.
-        ].
-        allIdx := projectList value indexOf:(self class nameListEntryForALL).
-        newSel := changedObject value 
-                        collect:[:val | |i|
-                                        i := projectList value indexOf:val.
-                                        i == 0 ifTrue:[allIdx] ifFalse:[i]]
-                        thenSelect:[:idx | idx ~~ 0].
-        newSel ~= self selectionIndexHolder value ifTrue:[
-            self selectionIndexHolder value:newSel
-        ].
-    ].
 
     changedObject == slaveMode ifTrue:[
         listValid ~~ true ifTrue:[
@@ -279,7 +287,9 @@
     changedObject == Smalltalk ifTrue:[
         something == #projectOrganization ifTrue:[
             self invalidateList.
-            self enqueueDelayedUpdateOutputGenerator.
+            slaveMode value == true ifFalse:[
+                self enqueueDelayedUpdateOutputGenerator.
+            ].
             ^ self.
         ].
         something == #methodInClass ifTrue:[
@@ -351,13 +361,18 @@
     "we are not interested in that - get another notification
      via the changed valueHolder"
 
+    self enqueueDelayedUpdateOutputGenerator.
+
     "Created: / 17.2.2000 / 23:41:17 / cg"
 !
 
 update:something with:aParameter from:changedObject
-
     (self builder isNil or:[self window topView realized not]) ifTrue:[
-        self makeIndependent
+        "/ ignore those changes while I am invisible
+        "/ self makeIndependent.
+        listValid := false.
+        selectionIndexValid := false.
+        ^ self
     ].
 
     changedObject == Smalltalk ifTrue:[
@@ -386,6 +401,32 @@
     super update:something with:aParameter from:changedObject
 
     "Modified: / 20-07-2011 / 18:54:39 / cg"
+!
+
+updateSelectionIndexFromSelection
+    |newSel allIdx|
+
+    self selectionHolder value isNil ifTrue:[
+        self selectionIndexHolder value:0.
+        ^ self.
+    ].
+
+    listValid ifFalse:[
+         self updateList.
+    ].
+    allIdx := projectList value indexOf:(self class nameListEntryForALL).
+
+    newSel := self selectionHolder value 
+                    collect:[:val | |i|
+                                    i := projectList value indexOf:val.
+                                    i == 0 ifTrue:[allIdx] ifFalse:[i]]
+                    thenSelect:[:idx | idx ~~ 0]. 
+    (newSel ~= self selectionIndexHolder value
+    or:[ self selectionIndexHolder value == 0]) ifTrue:[
+        self selectionIndexHolder value:newSel
+    ].
+
+    selectionIndexValid := true.
 ! !
 
 !ProjectList methodsFor:'drag & drop'!
@@ -605,25 +646,13 @@
     listValid ifFalse:[
         self enqueueDelayedUpdateList.
     ]. 
-    "Make myself dependent. It might happen that I unsubscribe myself
-    in #update:with:from: because the window was not shown. Now I'm
-    shown again, so subscribe."
-    self makeDependent.
-
-    "Modified (comment): / 31-01-2013 / 13:37:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 commonPostOpen
     super commonPostOpen.
     listValid ifFalse:[
         self enqueueDelayedUpdateList.
-    ].
-    "(Re)register myself as dependent to receive updates.
-    Maybe I unregisterd myself un #update:with:from when 
-    not shown..."
-    self makeDependent.
-
-    "Modified (comment): / 25-01-2013 / 19:36:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    ]. 
 !
 
 initialize
@@ -631,6 +660,7 @@
     super initialize.
     workerQueue := SharedQueue new.
     includedPseudoEntryForChanged := true.
+    selectionIndexValid := false.
 
     "Created: / 14-12-2010 / 15:41:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -900,16 +930,19 @@
 !
 
 startWorker
+    worker 
+        ifNil:[
+            worker := [
+                    [ workerQueue notEmpty ] whileTrue:[
+                        |job|
 
-    worker ifNil:
-        [worker := 
-            [[workerQueue notEmpty ] whileTrue:
-                [| job |
-                job := workerQueue next.
-                job value].
-            worker := nil.
-            ] newProcess.
-        worker resume].
+                        job := workerQueue next.
+                        job value
+                    ].
+                    worker := nil.
+                ] newProcess.
+            worker resume
+        ].
 
     "Created: / 14-12-2010 / 15:49:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 16-12-2010 / 17:35:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -932,7 +965,10 @@
 "/            selectedProjectsHolder addDependent:self.
 "/        ].
 
-        self projectList value:newList.
+        self projectList value ~= newList ifTrue:[
+            "Hack to avoid recursion"
+            self projectList value:newList.
+        ].
         listValid := true.
         self projectNameList value:newNameList.
 
@@ -977,11 +1013,11 @@
 !ProjectList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.56 2012/12/13 18:39:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.63 2013/03/26 16:29:25 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.56 2012/12/13 18:39:32 cg Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.63 2013/03/26 16:29:25 cg Exp $'
 !
 
 version_HG
--- a/Tools__SearchDialog.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__SearchDialog.st	Thu Apr 04 19:06:16 2013 +0100
@@ -879,7 +879,7 @@
     |b packages numPackages|
 
     packages := ((browser selectedMethods value ? #()) 
-                    collect:[:m | m package]) asSet.
+                    collect:[:m | m package] as:Set).
     numPackages := packages size.
     numPackages size == 0 ifTrue:[^ self]. "/ comment this to show, but disabled
 
@@ -1242,12 +1242,12 @@
         ^ self.
     ].
     (where == #listOfSelectedMethodClasses) ifTrue:[ 
-        classes := ((browser selectedMethods value ? #()) collect:[:m | m mclass theNonMetaclass]) asSet asOrderedCollection.
+        classes := ((browser selectedMethods value ? #()) collect:[:m | m mclass theNonMetaclass] as:Set) asOrderedCollection.
         methods := nil.
         ^ self.
     ].
     (where == #listOfSelectedMethodPackages) ifTrue:[ 
-        classes := (((browser selectedMethods value ? #()) collect:[:m | m package]) asSet
+        classes := (((browser selectedMethods value ? #()) collect:[:m | m package] as:Set)
                         collectAll:[:p | Smalltalk allClassesInPackage:p ]) asOrderedCollection.
         methods := nil.
         ^ self.
@@ -1276,7 +1276,7 @@
         ^ self.
     ].
 
-    self halt:'inumplemented search'.
+    self todo:'unimplemented search'.
 
     "Modified: / 05-10-2011 / 15:48:20 / az"
     "Modified: / 29-02-2012 / 19:47:42 / cg"
--- a/Tools__SmalltalkMergeTool.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__SmalltalkMergeTool.st	Thu Apr 04 19:06:16 2013 +0100
@@ -903,8 +903,14 @@
     ^ '§Header: /cvs/stx/stx/libtool/Tools__SmalltalkMergeTool.st,v 1.2 2011/07/03 20:56:26 cg Exp §'
 !
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
     ^ '$Id: Tools__SmalltalkMergeTool.st 7925 2012-03-16 17:08:17Z vranyj1 $'
 ! !
 
+
 SmalltalkMergeTool initialize!
--- a/Tools__TestRunner2.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__TestRunner2.st	Thu Apr 04 19:06:16 2013 +0100
@@ -1149,13 +1149,14 @@
 !
 
 allTestPackages
-
     | packages |
+
     packages := Set new.
-    Smalltalk allClassesDo:
-        [:cls|
-        (self isTestCaseLike: cls) ifTrue:
-            [packages add: cls package]].
+    Smalltalk allClassesDo: [:cls|
+        (self isTestCaseLike: cls) ifTrue:[
+            packages add: cls package
+        ]
+    ].
     ^packages
 
     "Modified: / 28-02-2011 / 21:25:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1425,7 +1426,7 @@
 
 classListMenuBrowse
     UserPreferences current systemBrowserClass 
-        browseClasses: (self selectedTestSuite tests collect:[:each | each class]) asSet
+        browseClasses: (self selectedTestSuite tests collect:[:each | each class] as:Set)
 
     "Created: / 30-06-2011 / 22:02:26 / cg"
 !
@@ -1845,7 +1846,7 @@
 !TestRunner2::ClassList class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.38 2013-04-02 09:33:29 stefan Exp $'
 ! !
 
 !TestRunner2::ClassList methodsFor:'private'!
@@ -2054,7 +2055,7 @@
     (results isEmptyOrNil or:[results size = 1])
         ifTrue:[timestampFormat := nil].
 
-    ((results collect:[:each|each timestamp]) asSet size = 1)
+    ((results collect:[:each|each timestamp] as:Set) size = 1)
         ifTrue: [timestampFormat := ' (%h:%m)']
         ifFalse:[timestampFormat := ' (%(month)-%(day) %h:%m)']
 
@@ -2344,11 +2345,11 @@
 !TestRunner2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.38 2013-04-02 09:33:29 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.37 2013-03-30 14:16:29 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunner2.st,v 1.38 2013-04-02 09:33:29 stefan Exp $'
 !
 
 version_HG
--- a/Tools__ToDoList.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ToDoList.st	Thu Apr 04 19:06:16 2013 +0100
@@ -181,6 +181,12 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/Tools__ToDoList.st,v 1.4 2008/08/20 19:41:31 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
 
+
 ToDoList initialize!
--- a/Tools__ToDoListBrowser.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ToDoListBrowser.st	Thu Apr 04 19:06:16 2013 +0100
@@ -69,7 +69,6 @@
 "
 ! !
 
-
 !ToDoListBrowser class methodsFor:'class initialization'!
 
 current
@@ -96,7 +95,6 @@
     "Created: / 21-10-2006 / 20:39:03 / cg"
 ! !
 
-
 !ToDoListBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -148,7 +146,6 @@
     "Modified: / 18-02-2007 / 12:55:32 / cg"
 ! !
 
-
 !ToDoListBrowser class methodsFor:'menu specs'!
 
 itemMenu
@@ -279,7 +276,6 @@
     "Modified: / 23-10-2006 / 23:22:45 / cg"
 ! !
 
-
 !ToDoListBrowser class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -347,7 +343,6 @@
     "Modified: / 25-10-2006 / 01:05:50 / cg"
 ! !
 
-
 !ToDoListBrowser methodsFor:'accessing'!
 
 aboutThisApplicationText
@@ -404,7 +399,6 @@
     ^ shownCopyOfToDoList at:idx
 ! !
 
-
 !ToDoListBrowser methodsFor:'change & update'!
 
 delayedUpdate:something with:aParameter from:changedObject
@@ -431,7 +425,6 @@
     "Created: / 18-02-2007 / 12:54:58 / cg"
 ! !
 
-
 !ToDoListBrowser methodsFor:'initialization & release'!
 
 closeDownViews
@@ -507,7 +500,6 @@
     "Modified: / 18-02-2007 / 12:57:07 / cg"
 ! !
 
-
 !ToDoListBrowser methodsFor:'menu actions'!
 
 clearList
@@ -528,7 +520,6 @@
     "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
 ! !
 
-
 !ToDoListBrowser methodsFor:'menu actions-item'!
 
 browseItem
@@ -570,7 +561,6 @@
     self removeItems:entriesToRemove
 ! !
 
-
 !ToDoListBrowser methodsFor:'user actions'!
 
 itemDoubleClicked:itemIndex
@@ -647,10 +637,14 @@
     "Created: / 25-10-2006 / 00:54:59 / cg"
 ! !
 
-
 !ToDoListBrowser class methodsFor:'documentation'!
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/Tools__ToDoListBrowser.st,v 1.18 2012-11-03 16:16:49 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
 
--- a/Tools__ToDoNotification.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/Tools__ToDoNotification.st	Thu Apr 04 19:06:16 2013 +0100
@@ -40,4 +40,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/Tools__ToDoNotification.st,v 1.2 2008/08/20 19:41:37 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/VersionDiffBrowser.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/VersionDiffBrowser.st	Thu Apr 04 19:06:16 2013 +0100
@@ -69,7 +69,6 @@
 
 ! !
 
-
 !VersionDiffBrowser class methodsFor:'interface specs'!
 
 windowSpec
@@ -283,7 +282,6 @@
       )
 ! !
 
-
 !VersionDiffBrowser class methodsFor:'menu specs'!
 
 mainMenu
@@ -554,7 +552,6 @@
     "Modified: / 31-08-2007 / 14:16:39 / cg"
 ! !
 
-
 !VersionDiffBrowser class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -576,7 +573,6 @@
 
 ! !
 
-
 !VersionDiffBrowser class methodsFor:'startup'!
 
 openOnClass:aClass againstVersion:aVersionA
@@ -799,7 +795,6 @@
     "
 ! !
 
-
 !VersionDiffBrowser methodsFor:'accessing'!
 
 canIncludeExtensions:something
@@ -958,7 +953,6 @@
     ^ classChangeSet labelB
 ! !
 
-
 !VersionDiffBrowser methodsFor:'actions'!
 
 acceptInLeftView
@@ -1013,51 +1007,6 @@
     self browseClassInM.
 !
 
-methodsChangedSelectionChanged
-    "
-    the selection in the list of the 'changed methods' changed.
-    Reset the selection of the two other lists and calc the method change.
-
-    <return: self>
-    "
-    |sel changeA changeB methodsChanged parseError treeA treeB|
-
-    self infoHolder value:''.
-
-    sel := self methodsChangedSelection value.
-    sel notNil ifTrue:[
-        self methodsOnlyInASelection value:nil.
-        self methodsOnlyInBSelection value:nil.
-        methodsChanged := self classChangeSet methodsChanged.
-        changeA := (methodsChangedFiltered at:sel) first.
-        changeB := (methodsChangedFiltered at:sel) second.
-        self withReadCursorDo:[
-            "/ see if the semantics have changed (or only prettyPrinted)
-            RBParser notNil ifTrue:[
-                (classChangeSet notNil
-                and:[ classChangeSet classBeingCompared notNil ]) ifTrue:[
-                    parseError := false.
-                    treeA := RBParser parseMethod:changeA source onError: [:str :pos | parseError := true].
-                    treeB := RBParser parseMethod:changeB source onError: [:str :pos | parseError := true].
-                    parseError ifFalse:[
-                        (treeA equalTo:treeB withMapping:(Dictionary  new)) ifTrue:[
-                            self infoHolder value:'Methods only differ in formatting / comments.'.
-                        ]
-                    ]
-                ].
-            ].
-            self diffTextView
-                text1:(changeA prettyPrintedSource) 
-                text2:(changeB prettyPrintedSource)        
-        ].
-        self showDiffTextView.
-        self diffTextView moveToNextChanged
-    ]
-
-    "Modified: / 03-09-1999 / 15:01:30 / ps"
-    "Modified: / 17-07-2012 / 18:27:06 / cg"
-!
-
 removeSelectedChangeInBFromImage
     |change cls sel op|
 
@@ -1078,7 +1027,6 @@
     "Modified: / 15-08-2010 / 21:35:00 / cg"
 ! !
 
-
 !VersionDiffBrowser methodsFor:'aspects'!
 
 boxAVisible
@@ -1354,7 +1302,6 @@
     "Modified: / 25-07-2006 / 11:15:07 / cg"
 ! !
 
-
 !VersionDiffBrowser methodsFor:'aspects-exported'!
 
 changedLabelHolder:aValueHolder
@@ -1400,7 +1347,6 @@
     ]
 ! !
 
-
 !VersionDiffBrowser methodsFor:'aspects-menu'!
 
 canAcceptInCodeView
@@ -1421,9 +1367,53 @@
     ^ self methodsChangedSelection value notNil
 ! !
 
-
 !VersionDiffBrowser methodsFor:'change & update'!
 
+methodsChangedSelectionChanged
+    "
+    the selection in the list of the 'changed methods' changed.
+    Reset the selection of the two other lists and calc the method change.
+
+    <return: self>
+    "
+    |sel changeA changeB methodsChanged parseError treeA treeB|
+
+    self infoHolder value:''.
+
+    sel := self methodsChangedSelection value.
+    sel notNil ifTrue:[
+        self methodsOnlyInASelection value:nil.
+        self methodsOnlyInBSelection value:nil.
+        methodsChanged := self classChangeSet methodsChanged.
+        changeA := (methodsChangedFiltered at:sel) first.
+        changeB := (methodsChangedFiltered at:sel) second.
+        self withReadCursorDo:[
+            "/ see if the semantics have changed (or only prettyPrinted)
+            RBParser notNil ifTrue:[
+                (classChangeSet notNil
+                and:[ classChangeSet classBeingCompared notNil ]) ifTrue:[
+                    parseError := false.
+                    treeA := RBParser parseMethod:changeA source onError: [:str :pos | parseError := true].
+                    treeB := RBParser parseMethod:changeB source onError: [:str :pos | parseError := true].
+                    parseError ifFalse:[
+                        (treeA equalTo:treeB withMapping:(Dictionary  new)) ifTrue:[
+                            self infoHolder value:'Methods only differ in formatting / comments.'.
+                        ]
+                    ]
+                ].
+            ].
+            self diffTextView
+                text1:(changeA prettyPrintedSource) 
+                text2:(changeB prettyPrintedSource)        
+        ].
+        self showDiffTextView.
+        self diffTextView moveToNextChanged
+    ]
+
+    "Modified: / 03-09-1999 / 15:01:30 / ps"
+    "Modified: / 17-07-2012 / 18:27:06 / cg"
+!
+
 methodsOnlyInASelectionChanged
     "
     the selection in the list of the 'method only in version A' changed.
@@ -1491,7 +1481,6 @@
     "Modified: / 17-07-2012 / 17:48:58 / cg"
 ! !
 
-
 !VersionDiffBrowser methodsFor:'initialization & release'!
 
 postBuildWith:aBuilder
@@ -1506,7 +1495,6 @@
     super postBuildWith:aBuilder
 ! !
 
-
 !VersionDiffBrowser methodsFor:'menu action'!
 
 browseChange:aChange
@@ -1702,7 +1690,6 @@
     ].
 ! !
 
-
 !VersionDiffBrowser methodsFor:'private'!
 
 addAcceptToTextViewMenus
@@ -2017,7 +2004,6 @@
     "Modified: / 17-07-2012 / 18:34:36 / cg"
 ! !
 
-
 !VersionDiffBrowser methodsFor:'setup'!
 
 setupForClass:aClass againstVersion:aVersionA
@@ -2095,7 +2081,6 @@
     self classChangeSet:changeSet
 ! !
 
-
 !VersionDiffBrowser::ClassChangeSet class methodsFor:'instance creation'!
 
 changeSetForClass:aClass
@@ -2312,7 +2297,6 @@
 	].
 ! !
 
-
 !VersionDiffBrowser::ClassChangeSet methodsFor:'accessing'!
 
 classBeingCompared
@@ -2415,14 +2399,12 @@
     versionB := something.
 ! !
 
-
 !VersionDiffBrowser::ClassChangeSet methodsFor:'misc'!
 
 removeAllVersionMethods
     diffSet removeAllVersionMethods.
 ! !
 
-
 !VersionDiffBrowser::ClassChangeSet methodsFor:'setup'!
 
 setupForClass:aClass againstVersion:aVersionA
@@ -2462,7 +2444,6 @@
     ^ diffSet
 ! !
 
-
 !VersionDiffBrowser class methodsFor:'documentation'!
 
 version
--- a/VersionRevisionItem.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/VersionRevisionItem.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,8 +9,7 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
-
-
+"{ Package: 'stx:libtool' }"
 
 AbstractRevisionItem subclass:#VersionRevisionItem
 	instanceVariableNames:''
@@ -115,4 +114,10 @@
 
 version
     ^ '$Header: /cvs/stx/stx/libtool/VersionRevisionItem.st,v 1.6 2000/02/18 14:08:03 cg Exp $'
+!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
 ! !
+
--- a/extensions.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/extensions.st	Thu Apr 04 19:06:16 2013 +0100
@@ -9,6 +9,7 @@
     "Created: / 25-07-2010 / 08:57:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (format): / 04-10-2011 / 19:47:20 / cg"
 ! !
+
 !AbstractSyntaxHighlighter class methodsFor:'api highlighting'!
 
 formatMethod:aString in:aClass using:preferencesOrNil elementsInto: elements
@@ -17,6 +18,7 @@
 
     "Created: / 25-07-2010 / 08:58:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !ArrayedCollection methodsFor:'inspecting'!
 
 inspector2TabForHexDump
@@ -84,6 +86,7 @@
 
     "Created: / 13-02-2012 / 15:08:42 / cg"
 ! !
+
 !Behavior methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -96,6 +99,7 @@
                 ifTrue:[ '-nonMeta' -> [ self theNonMetaclass ] ]);
         yourself
 ! !
+
 !Behavior methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -108,6 +112,7 @@
     ].
     ^ super inspectorValueStringInListFor:anInspector
 ! !
+
 !Block methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -129,6 +134,7 @@
 
     "Created: / 15-11-2011 / 14:24:10 / cg"
 ! !
+
 !Breakpoint methodsFor:'accessing'!
 
 icon
@@ -137,6 +143,7 @@
 
     "Created: / 11-07-2011 / 18:21:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !BreakpointDescription methodsFor:'accessing'!
 
 icon
@@ -160,6 +167,7 @@
     "Created: / 28-06-2011 / 08:29:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 27-01-2012 / 13:46:23 / cg"
 ! !
+
 !ByteArray methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -188,11 +196,13 @@
     "Created: / 18-09-2006 / 21:29:59 / cg"
     "Modified: / 06-10-2006 / 13:57:20 / cg"
 ! !
+
 !Change methodsFor:'private'!
 
 flattenOnto: aCollection 
 	aCollection add: self
 ! !
+
 !Change methodsFor:'private'!
 
 flattenedChanges
@@ -201,6 +211,7 @@
 	self flattenOnto: changes.
 	^changes
 ! !
+
 !Change methodsFor:'accessing'!
 
 removed
@@ -209,6 +220,7 @@
 
     "Created: / 24-10-2009 / 21:10:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !Change methodsFor:'accessing'!
 
 removed: aBoolean
@@ -217,6 +229,7 @@
 
     "Created: / 24-10-2009 / 21:11:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !ChangeSet methodsFor:'utilities'!
 
 condenseChangesForRemoved
@@ -238,12 +251,14 @@
     "Created: / 05-11-2001 / 14:21:17 / cg"
     "Modified: / 12-10-2006 / 16:51:27 / cg"
 ! !
+
 !ChangeSet methodsFor:'private'!
 
 flattenOnto: aCollection 
 
     self do:[:change|change flattenOnto: aCollection]
 ! !
+
 !ChangeSet methodsFor:'private'!
 
 flattenedChanges
@@ -252,6 +267,7 @@
 	self flattenOnto: changes.
 	^changes
 ! !
+
 !ChangeSet methodsFor:'inspecting'!
 
 inspector2TabBrowser
@@ -268,6 +284,7 @@
     "Modified: / 06-08-2011 / 21:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 13-09-2011 / 11:55:53 / cg"
 ! !
+
 !ChangeSet methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -275,6 +292,7 @@
 
     "Created: / 05-07-2011 / 13:40:19 / cg"
 ! !
+
 !Character methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -294,6 +312,7 @@
 
     "Created: / 22-10-2006 / 03:52:20 / cg"
 ! !
+
 !Character methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -304,6 +323,7 @@
     ].
     ^ self storeString,(' "%1"' bindWith:asciivalue)
 ! !
+
 !CharacterArray methodsFor:'inspecting'!
 
 inspector2TabBytes
@@ -318,6 +338,7 @@
     "Created: / 20-07-2011 / 16:36:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 21-08-2011 / 07:32:57 / cg"
 ! !
+
 !CharacterArray methodsFor:'inspecting'!
 
 inspector2TabHTML
@@ -330,6 +351,7 @@
     "Created: / 17-02-2008 / 10:10:50 / janfrog"
     "Created: / 07-11-2011 / 12:35:15 / cg"
 ! !
+
 !CharacterArray methodsFor:'inspecting'!
 
 inspector2TabText
@@ -342,6 +364,7 @@
     "Created: / 17-02-2008 / 10:10:50 / janfrog"
     "Modified: / 21-08-2011 / 08:02:57 / cg"
 ! !
+
 !CharacterArray methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -354,6 +377,7 @@
 
     "Created: / 05-07-2011 / 13:40:27 / cg"
 ! !
+
 !CharacterArray methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -378,6 +402,7 @@
 
     "Created: / 22-10-2006 / 03:52:20 / cg"
 ! !
+
 !CharacterArray methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -385,6 +410,7 @@
 
     ^ self basicStoreString contractTo:30.
 ! !
+
 !Class methodsFor:'misc'!
 
 inspectorClass
@@ -396,6 +422,7 @@
     ].
     ^ super inspectorClass
 ! !
+
 !Collection methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -408,6 +435,7 @@
     ].
     ^ (super inspectorValueStringInListFor:anInspector),' size=',sz printString
 ! !
+
 !Color methodsFor:'inspecting'!
 
 inspectorClass
@@ -418,6 +446,7 @@
 
     "Modified: 23.4.1996 / 13:39:50 / cg"
 ! !
+
 !Color methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -433,6 +462,7 @@
      Color red inspect
     "
 ! !
+
 !Color methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -440,30 +470,35 @@
 
     ^ self htmlPrintString
 ! !
+
 !CompositeChange methodsFor:'utilities'!
 
 condenseChangesForRemoved
 
     self changes condenseChangesForRemoved
 ! !
+
 !CompositeChange methodsFor:'private'!
 
 flattenOnto: aCollection
 
     changes do:[:change|change flattenOnto: aCollection]
 ! !
+
 !CompositeChange methodsFor:'accessing'!
 
 removed
 
     ^changes allSatisfy: [:e|e removed]
 ! !
+
 !CompositeChange methodsFor:'accessing'!
 
 removed: aBoolean
 
     changes do:[:e|e removed: aBoolean]
 ! !
+
 !Date methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -484,6 +519,7 @@
 
     "Created: / 20-01-2011 / 12:19:05 / cg"
 ! !
+
 !Dictionary methodsFor:'inspecting'!
 
 inspector2TabLabel
@@ -491,6 +527,7 @@
 
     "Created: / 14-07-2011 / 11:57:18 / cg"
 ! !
+
 !Dictionary methodsFor:'inspecting'!
 
 inspectorClass
@@ -499,6 +536,7 @@
 
     ^ DictionaryInspectorView
 ! !
+
 !EditTextView methodsFor:'accessing-dimensions'!
 
 absoluteXOfPosition:positionInText 
@@ -516,6 +554,7 @@
 
     "Created: / 16-02-2010 / 10:05:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !EditTextView methodsFor:'accessing-dimensions'!
 
 absoluteYOfCursor
@@ -534,6 +573,7 @@
     "Created: / 27-05-2005 / 07:45:53 / janfrog"
     "Modified: / 27-05-2005 / 23:03:40 / janfrog"
 ! !
+
 !EditTextView methodsFor:'accessing-dimensions'!
 
 xOfPosition: positionInText
@@ -547,6 +587,7 @@
 
     "Created: / 16-02-2010 / 10:04:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !EditTextView methodsFor:'accessing-dimensions'!
 
 yOfCursor
@@ -555,6 +596,7 @@
 
     "Created: / 27-05-2005 / 07:43:41 / janfrog"
 ! !
+
 !EditTextView methodsFor:'accessing-dimensions'!
 
 yOfPosition: positionInText
@@ -565,6 +607,7 @@
 
     "Created: / 16-02-2010 / 10:08:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !ExecutableFunction methodsFor:'printing & storing'!
 
 printStringForBrowserWithSelector:selector
@@ -572,6 +615,7 @@
 
     ^ self printStringForBrowserWithSelector:selector inClass:nil
 ! !
+
 !Form methodsFor:'inspecting'!
 
 inspectorClass
@@ -580,6 +624,7 @@
 
     ^ ImageInspectorView
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-22x22'!
 
 bookmarks22x22
@@ -609,6 +654,7 @@
 
     "Modified: / 05-05-2011 / 12:45:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-16x16'!
 
 bug16x16Icon
@@ -633,6 +679,7 @@
 ?_????????????7=W5=_W5?=O/7???????>L?PLC@0LC?_????????7=/4S[7S 8TY/=?VC?????L#L.>JI3I+A%H#[?????GA3_]U*/M3_;BPRLD_????7=
 ?_B@M>DE-04>?U/??????2_=HEXYQ7:R<Q_???????4>G2$%Q9QEL?5_??????????<=?\;M??????????????????=-H????????0@a') ; colorMapFromArray:#[205 205 205 227 35 35 106 106 106 98 98 98 135 135 135 163 34 34 101 5 5 124 124 124 48 2 2 227 11 11 173 173 173 218 54 54 241 241 241 235 19 19 225 225 225 219 18 18 245 58 58 214 214 214 249 46 46 90 90 90 254 61 61 36 36 36 176 176 176 233 233 233 114 114 114 255 78 78 212 33 33 230 57 57 61 61 61 94 94 94 76 76 76 19 19 19 255 57 57 161 161 161 83 83 83 217 217 217 249 249 249 255 65 65 139 2 2 27 27 27 169 169 169 253 53 53 210 28 28 251 251 251 154 154 154 117 117 117 195 1 1 245 245 245 145 145 145 218 5 5 230 230 230 69 2 2 181 181 181 11 11 11 141 141 141 249 61 61 205 21 21 165 165 165 157 157 157 241 28 28 223 223 223 109 109 109 2 2 2 245 45 45 146 0 0 69 69 69 137 137 137 140 40 40 188 1 1 206 24 24 219 33 33 255 76 76 249 49 49 249 56 56 236 236 236 121 121 121 248 53 53 171 1 1 111 40 40 237 41 41 178 21 21 205 16 16 129 129 129 163 1 1 155 18 18 85 4 4 243 68 68 73 73 73 45 45 45 202 51 51 241 40 40 86 86 86 114 1 1 210 4 4 246 41 41 148 148 148 189 189 189 209 209 209 210 17 17 158 28 28 213 5 5 205 1 1 53 53 53 217 9 9 69 40 40 187 10 10 255 74 74 218 28 28 146 11 11 65 65 65 232 37 37 101 101 101 196 26 26 245 53 53 188 26 26 213 10 10 184 184 184 206 5 5 249 65 65 172 21 21 206 34 34 195 195 195 237 32 32 131 12 12 233 29 29 179 36 36 241 37 37 139 13 13 245 49 49 180 1 1 168 37 37 198 198 198 202 202 202 228 21 21 206 10 10 206 29 29 229 30 30 255 80 80 188 20 20 245 37 37 57 57 57 252 50 50 87 42 42 172 10 10 209 13 13 155 4 4 164 11 11 242 44 44 255 70 70 225 25 25 222 14 14 237 24 24 240 49 49 205 13 13 202 44 44 201 0 0 225 17 17 186 42 42 255 72 72 122 1 1 40 40 40 157 10 10 209 8 8 222 8 8 195 41 41 223 21 21 180 11 11 255 68 68 162 28 28 194 11 11 232 25 25 131 1 1 241 32 32 246 246 246 49 49 49 224 44 44 208 2 2 227 227 227 239 239 239 239 46 46 162 20 20 245 33 33 219 219 219 238 29 29 237 37 37 171 29 29 36 46 46 250 68 68 147 16 16 182 26 26 187 187 187 24 1 1 185 32 32 229 24 24 232 33 33 150 150 150 122 12 12 229 17 17 204 27 27 242 52 52 213 2 2 200 15 15 191 191 191 217 43 43 217 12 12 115 10 10 140 16 16 200 28 28 202 6 6 215 13 13 182 41 41 57 46 46 40 46 46 233 40 40 252 70 70 173 40 40 226 28 28 46 54 54 202 22 22 203 18 18 245 72 72 191 17 17 200 37 37 10 0 0 50 52 52 252 74 74 252 72 72 247 38 38 160 40 40 231 14 14 252 68 68 200 10 10 15 15 15 211 47 47 254 254 254 253 76 76 23 23 23 237 69 69 7 7 7 144 7 7 196 8 7 32 32 32 59 59 59 90 93 93 67 67 67 70 28 28 50 56 56 232 15 16 208 4 4 237 35 35 220 12 11 232 20 20 223 62 62 0 0 0 255 255 255 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@L@@0@C8AO C?0O<C?>G?0??#?>C?0_?@O@@L@b') ; yourself); yourself]
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-24x24'!
 
 bug24x24Icon
@@ -661,6 +708,7 @@
 <Q_???????????4XO!!?DJRU*Q9P%QSL5?U<-?????????3T5???=F$  EB@?L37?G3;=????????????????O_7D3,7=??????????????????????????<(
 [RO?????????????????????????????????????????????') ; colorMapFromArray:#[205 205 205 227 35 35 106 106 106 98 98 98 135 135 135 163 34 34 101 5 5 124 124 124 48 2 2 227 11 11 173 173 173 218 54 54 241 241 241 235 19 19 225 225 225 219 18 18 245 58 58 214 214 214 249 46 46 90 90 90 254 61 61 36 36 36 176 176 176 233 233 233 114 114 114 255 78 78 212 33 33 230 57 57 61 61 61 94 94 94 76 76 76 19 19 19 255 57 57 161 161 161 83 83 83 217 217 217 249 249 249 255 65 65 139 2 2 27 27 27 169 169 169 253 53 53 210 28 28 251 251 251 154 154 154 117 117 117 195 1 1 245 245 245 145 145 145 218 5 5 230 230 230 69 2 2 181 181 181 11 11 11 141 141 141 249 61 61 205 21 21 165 165 165 157 157 157 241 28 28 223 223 223 109 109 109 2 2 2 245 45 45 146 0 0 69 69 69 137 137 137 140 40 40 188 1 1 206 24 24 219 33 33 255 76 76 249 49 49 249 56 56 236 236 236 121 121 121 248 53 53 171 1 1 111 40 40 237 41 41 178 21 21 205 16 16 129 129 129 163 1 1 155 18 18 85 4 4 243 68 68 73 73 73 45 45 45 202 51 51 241 40 40 86 86 86 114 1 1 210 4 4 246 41 41 148 148 148 189 189 189 209 209 209 210 17 17 158 28 28 213 5 5 205 1 1 53 53 53 217 9 9 69 40 40 187 10 10 255 74 74 218 28 28 146 11 11 65 65 65 232 37 37 101 101 101 196 26 26 245 53 53 188 26 26 213 10 10 184 184 184 206 5 5 249 65 65 172 21 21 206 34 34 195 195 195 237 32 32 131 12 12 233 29 29 179 36 36 241 37 37 139 13 13 245 49 49 180 1 1 168 37 37 198 198 198 202 202 202 228 21 21 206 10 10 206 29 29 229 30 30 255 80 80 188 20 20 245 37 37 57 57 57 252 50 50 87 42 42 172 10 10 209 13 13 155 4 4 164 11 11 242 44 44 255 70 70 225 25 25 222 14 14 237 24 24 240 49 49 205 13 13 202 44 44 201 0 0 225 17 17 186 42 42 255 72 72 122 1 1 40 40 40 157 10 10 209 8 8 222 8 8 195 41 41 223 21 21 180 11 11 255 68 68 162 28 28 194 11 11 232 25 25 131 1 1 241 32 32 246 246 246 49 49 49 224 44 44 208 2 2 227 227 227 239 239 239 239 46 46 162 20 20 245 33 33 219 219 219 238 29 29 237 37 37 171 29 29 36 46 46 250 68 68 147 16 16 182 26 26 187 187 187 24 1 1 185 32 32 229 24 24 232 33 33 150 150 150 122 12 12 229 17 17 204 27 27 242 52 52 213 2 2 200 15 15 191 191 191 217 43 43 217 12 12 115 10 10 140 16 16 200 28 28 202 6 6 215 13 13 182 41 41 57 46 46 40 46 46 233 40 40 252 70 70 173 40 40 226 28 28 46 54 54 202 22 22 203 18 18 245 72 72 191 17 17 200 37 37 10 0 0 50 52 52 252 74 74 252 72 72 247 38 38 160 40 40 231 14 14 252 68 68 200 10 10 15 15 15 211 47 47 254 254 254 253 76 76 23 23 23 237 69 69 7 7 7 144 7 7 196 8 7 32 32 32 59 59 59 90 93 93 67 67 67 70 28 28 50 56 56 232 15 16 208 4 4 237 35 35 220 12 11 232 20 20 223 62 62 0 0 0 255 255 255 255 255 255]; mask:((ImageMask new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@H@@HH@@FH@@FH@@CX@@G<@BO<HGO>8A??0@??@@??@G??<C??8@??@G??<G??<G??XA??0C??8CO>8@G8@@A0@@@@@') ; yourself); yourself]
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-32x32'!
 
 bug32x32Icon
@@ -712,6 +760,7 @@
                 yourself
         ]
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-16x16'!
 
 lint16x16Icon
@@ -736,6 +785,7 @@
 @XS??????????3<)-;^76.Z5A0O???????<P@W!!8>-3J<0+??????0\JI1,;7^?57-[;''T????<JS0P"PN3'':-V>8L??????V5@''G57.1,!!#X-''R_O???1(R
 @RMW:Y*KY6+7*RW??????3P*ZU[;.:#!!/:7???????<A@6AV2?S:9+>5??????????< BC &?????;?Z??????????<XU_?????X<P@a') ; colorMapFromArray:#[0 1 0 0 2 0 1 4 0 3 6 2 30 1 0 6 9 5 34 2 2 10 12 8 43 4 2 13 15 12 15 17 13 77 0 0 16 18 15 35 14 12 17 19 16 67 6 1 19 20 18 75 7 10 21 23 20 86 9 4 25 27 24 111 4 7 103 7 10 96 10 12 32 29 28 29 30 28 31 33 30 153 2 0 33 35 33 35 36 34 110 16 16 173 0 1 36 38 35 41 37 36 165 4 0 155 7 7 128 15 14 39 41 39 157 12 16 51 42 42 207 0 4 43 45 42 58 41 39 141 19 15 199 4 0 210 3 0 221 1 4 48 49 47 231 0 12 211 7 8 172 19 10 172 19 18 52 54 51 53 55 53 234 5 23 59 54 53 176 24 21 56 57 55 57 59 56 204 19 22 195 22 24 103 47 48 227 16 9 60 61 59 198 25 19 216 20 21 61 63 60 119 48 45 228 20 20 63 65 62 211 30 27 68 69 67 69 71 68 212 32 34 242 25 29 72 74 71 74 76 74 191 45 50 245 31 38 76 78 75 77 79 76 79 80 78 138 66 66 248 36 40 240 41 43 83 85 82 216 50 52 241 43 50 195 58 61 86 88 85 244 46 46 87 89 86 89 91 88 214 58 58 193 65 67 92 93 91 248 51 49 109 90 87 185 68 87 194 67 80 87 95 125 250 54 57 173 74 96 202 67 84 159 78 103 253 56 52 188 72 90 87 99 135 129 89 121 99 101 98 73 104 148 255 59 60 159 83 106 175 81 94 94 102 132 187 78 98 215 71 85 255 61 67 169 84 104 251 66 66 104 106 103 90 106 147 151 92 119 200 81 93 107 108 106 140 99 131 162 94 119 255 72 76 144 100 128 96 112 153 228 80 83 159 97 120 111 113 110 191 90 111 206 87 104 113 115 112 87 118 163 115 117 114 83 122 166 179 100 117 118 120 117 199 99 101 231 91 88 138 113 147 120 122 119 196 101 119 123 125 122 115 123 167 213 100 113 119 123 162 180 109 128 127 129 126 208 108 109 115 131 173 185 115 140 158 122 154 173 119 144 131 133 130 130 130 163 178 122 124 181 119 147 106 139 178 136 138 135 120 139 175 126 138 175 204 121 132 132 139 172 113 146 186 136 143 176 144 146 143 121 149 184 153 142 173 135 150 181 148 150 147 125 153 188 130 153 182 179 140 167 150 152 149 205 136 148 181 145 146 136 159 189 155 157 154 140 163 193 159 161 158 161 163 160 143 166 196 162 164 161 148 167 192 164 166 163 165 165 187 197 159 173 167 169 166 152 171 196 191 163 180 157 172 191 169 171 168 216 159 166 171 173 170 208 163 179 187 169 190 217 162 175 174 176 173 159 178 203 186 173 174 207 167 175 163 178 198 213 166 176 179 181 178 198 176 192 169 185 204 183 185 182 216 175 184 209 177 189 212 180 192 204 183 198 208 183 193 188 190 187 180 192 206 194 196 193 215 191 201 187 199 213 204 198 197 211 196 210 199 201 198 190 202 216 191 203 217 201 202 212 202 204 201 208 203 201 219 201 210 205 207 203 217 203 217 206 208 205 213 207 206 223 205 214 203 211 220 211 213 210 211 212 222 214 216 213 221 215 227 217 219 216 219 221 218 228 218 224 217 222 225 221 223 220 231 221 227 216 225 233 220 226 228 224 226 223 221 229 238 231 233 230 228 234 236 233 235 232 235 238 234 249 251 248 255 255 255]; mask:((ImageMask new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@L@@0@C8AO0C?0O>C?>O?0??#?>C?0O?@OC@LLb') ; yourself); yourself]
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-24x24'!
 
 lint24x24Icon
@@ -764,6 +814,7 @@
 /:6D??????????<)@PLSXEY?2?S<>.Y-/;V-?????????1$A??<GRU)/]8JMT"_?/;>5#O??????????????H@ +NBXQ??????>:/=*L??????????????<9
 FEU_????????6OF5????????????????????????????-]K?') ; colorMapFromArray:#[0 1 0 0 2 0 1 4 0 3 6 2 30 1 0 6 9 5 34 2 2 10 12 8 43 4 2 13 15 12 15 17 13 77 0 0 16 18 15 35 14 12 17 19 16 67 6 1 19 20 18 75 7 10 21 23 20 86 9 4 25 27 24 111 4 7 103 7 10 96 10 12 32 29 28 29 30 28 31 33 30 153 2 0 33 35 33 35 36 34 110 16 16 173 0 1 36 38 35 41 37 36 165 4 0 155 7 7 128 15 14 39 41 39 157 12 16 51 42 42 207 0 4 43 45 42 58 41 39 141 19 15 199 4 0 210 3 0 221 1 4 48 49 47 231 0 12 211 7 8 172 19 10 172 19 18 52 54 51 53 55 53 234 5 23 59 54 53 176 24 21 56 57 55 57 59 56 204 19 22 195 22 24 103 47 48 227 16 9 60 61 59 198 25 19 216 20 21 61 63 60 119 48 45 228 20 20 63 65 62 211 30 27 68 69 67 69 71 68 212 32 34 242 25 29 72 74 71 74 76 74 191 45 50 245 31 38 76 78 75 77 79 76 79 80 78 138 66 66 248 36 40 240 41 43 83 85 82 216 50 52 241 43 50 195 58 61 86 88 85 244 46 46 87 89 86 89 91 88 214 58 58 193 65 67 92 93 91 248 51 49 109 90 87 185 68 87 194 67 80 87 95 125 250 54 57 173 74 96 202 67 84 159 78 103 253 56 52 188 72 90 87 99 135 129 89 121 99 101 98 73 104 148 255 59 60 159 83 106 175 81 94 94 102 132 187 78 98 215 71 85 255 61 67 169 84 104 251 66 66 104 106 103 90 106 147 151 92 119 200 81 93 107 108 106 140 99 131 162 94 119 255 72 76 144 100 128 96 112 153 228 80 83 159 97 120 111 113 110 191 90 111 206 87 104 113 115 112 87 118 163 115 117 114 83 122 166 179 100 117 118 120 117 199 99 101 231 91 88 138 113 147 120 122 119 196 101 119 123 125 122 115 123 167 213 100 113 119 123 162 180 109 128 127 129 126 208 108 109 115 131 173 185 115 140 158 122 154 173 119 144 131 133 130 130 130 163 178 122 124 181 119 147 106 139 178 136 138 135 120 139 175 126 138 175 204 121 132 132 139 172 113 146 186 136 143 176 144 146 143 121 149 184 153 142 173 135 150 181 148 150 147 125 153 188 130 153 182 179 140 167 150 152 149 205 136 148 181 145 146 136 159 189 155 157 154 140 163 193 159 161 158 161 163 160 143 166 196 162 164 161 148 167 192 164 166 163 165 165 187 197 159 173 167 169 166 152 171 196 191 163 180 157 172 191 169 171 168 216 159 166 171 173 170 208 163 179 187 169 190 217 162 175 174 176 173 159 178 203 186 173 174 207 167 175 163 178 198 213 166 176 179 181 178 198 176 192 169 185 204 183 185 182 216 175 184 209 177 189 212 180 192 204 183 198 208 183 193 188 190 187 180 192 206 194 196 193 215 191 201 187 199 213 204 198 197 211 196 210 199 201 198 190 202 216 191 203 217 201 202 212 202 204 201 208 203 201 219 201 210 205 207 203 217 203 217 206 208 205 213 207 206 223 205 214 203 211 220 211 213 210 211 212 222 214 216 213 221 215 227 217 219 216 219 221 218 228 218 224 217 222 225 221 223 220 231 221 227 216 225 233 220 226 228 224 226 223 221 229 238 231 233 230 228 234 236 233 235 232 235 238 234 249 251 248 255 255 255]; mask:((ImageMask new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@LL@@FH@@FH@@CX@@G<@BG>HGO>XA??8@?? @?? G??<G??8@??0G??<G??<G??<@??8A??8CO><@G8O@A8G@@@F') ; yourself); yourself]
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-32x32'!
 
 lint32x32Icon
@@ -800,6 +851,7 @@
 @@@@@@@@D@@@NC @@A 8@@@\L@@@CC@@@@Y0@@@G8@@@C? @AA?<H@8??G@G???0@???8@G??8@@??>@C???>A???? O???0@O??0@C??<@O???8G???>@??
 ?? @???@@_??8@O???@GO?38@!!?8_@@O<C8@@>@^@@@@C@@@@@@b') ; yourself); yourself]
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-16x16'!
 
 smalllintWarning16x16
@@ -830,6 +882,7 @@
 @@@@@@@@????????????9\^ 1(T.1(T.1(T.1(T.1(T.9\^ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@????????????????????????????@@@@@@@@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@_@C>@_<A?0G?0_? ?>C?<G?0_?!!?>G?8O?@G<@@@b') ; yourself); yourself]
 ! !
+
 !GenericToolbarIconLibrary class methodsFor:'image specs-versions'!
 
 versionMerged24x24
@@ -858,6 +911,7 @@
 UEQNS30GLFI,\V11\W!!,X&I"Y&I!!W%9^T5MSWS0HLH]:^&93[798[G9/\V1,X&I!!WFA\Y30EMIF,%9RK_G%9\&=/[6=1[&91[GV@]DHDJ9>6+)2P"8"A!!7=?
 _7=?_7=?\7Q.^4@CA"X-I2\''I2</JR$)JR (JB (K"4,J"T@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[28 1 19 26 0 23 36 0 35 57 0 48 55 1 50 58 0 51 61 0 54 57 3 52 56 0 54 63 0 57 64 0 58 63 0 62 67 3 66 66 0 68 69 5 67 70 6 68 70 0 72 71 0 73 57 15 60 65 17 63 72 9 70 79 0 77 70 0 74 72 0 75 61 25 59 81 2 79 74 13 71 74 1 77 76 4 79 70 15 72 66 23 68 78 7 81 75 19 76 81 12 83 61 25 67 75 21 77 78 23 79 91 5 94 114 6 111 122 0 119 124 0 121 130 0 123 118 0 120 110 25 104 119 0 122 119 17 114 120 0 123 125 20 115 129 2 127 135 0 131 137 0 134 139 0 136 125 26 118 138 1 141 137 22 130 142 9 143 138 16 142 139 31 136 142 22 145 145 26 147 147 16 155 154 0 166 159 22 161 128 73 126 148 48 147 186 0 187 155 40 156 187 0 189 196 0 193 188 0 190 188 0 191 156 31 162 189 0 192 180 0 187 157 32 163 198 0 197 164 20 172 191 4 193 200 0 200 182 3 189 156 57 155 193 9 194 202 0 202 203 0 204 196 13 195 152 66 152 194 0 199 205 0 206 164 41 168 206 0 207 197 17 195 195 0 201 207 0 208 188 16 192 196 0 202 198 20 195 207 0 209 196 0 203 197 0 204 167 45 171 199 23 196 198 0 205 208 0 211 192 23 194 200 26 196 189 0 201 199 2 206 201 29 196 203 7 208 202 31 197 192 5 203 200 0 210 173 52 176 206 13 209 201 0 211 195 11 204 199 33 198 214 18 211 204 36 198 201 0 212 208 17 210 202 0 213 197 15 205 190 33 195 203 0 214 184 47 187 210 21 211 202 39 200 208 41 201 211 24 212 200 22 207 202 25 208 214 28 214 204 28 209 198 1 216 207 47 203 207 31 211 200 45 202 185 65 187 208 33 212 198 32 208 209 35 213 210 38 214 212 40 215 213 42 216 207 55 208 202 40 211 193 73 194 214 44 217 205 42 213 216 46 218 213 28 223 206 44 214 208 47 215 220 49 221 214 62 214 221 51 222 192 87 193 210 50 217 206 83 201 215 64 215 211 51 218 224 55 224 213 53 219 217 67 217 227 58 226 218 68 218 215 56 221 218 58 223 213 80 212 220 71 220 219 60 224 229 62 229 220 61 225 231 64 230 223 74 222 201 96 202 222 63 226 224 75 223 225 76 224 218 85 217 224 65 228 226 78 224 224 67 229 218 77 222 228 80 226 229 82 227 226 70 231 230 83 228 223 81 226 211 105 211 225 92 223 233 85 230 226 93 224 224 84 228 231 75 235 227 95 225 234 87 232 219 94 223 230 98 228 228 89 232 217 106 222 234 102 232 225 100 229 226 101 230 228 104 232 213 116 219 229 105 233 231 107 235 224 114 229 199 149 203 242 102 244 216 137 220 205 135 215 237 113 241 234 128 234 238 114 242 223 126 229 226 134 228 236 130 236 225 128 231 229 131 234 240 134 239 233 117 242 230 133 236 239 128 243 236 143 238 238 145 239 238 123 247 243 133 247 238 146 240 215 161 223 241 148 243 250 144 249 235 156 239 225 155 235 237 158 241 229 163 235 249 142 255 242 161 245 247 149 252 238 154 246 246 170 245 249 151 254 249 153 255 238 170 243 230 176 238 245 161 253 247 163 255 236 181 244 245 166 255 243 172 253 245 190 253 243 184 254 246 193 255 238 193 253]; yourself]
 ! !
+
 !Image methodsFor:'inspecting'!
 
 inspector2TabImage
@@ -869,6 +923,7 @@
 
     "Created: / 11-10-2011 / 17:12:01 / cg"
 ! !
+
 !Image methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -876,6 +931,7 @@
 
     "Created: / 11-10-2011 / 17:11:21 / cg"
 ! !
+
 !Image methodsFor:'inspecting'!
 
 inspectorClass
@@ -889,6 +945,7 @@
 
     "Modified: 10.6.1996 / 18:23:55 / cg"
 ! !
+
 !Integer methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -908,6 +965,7 @@
     "Created: / 18-09-2006 / 21:22:46 / cg"
     "Modified: / 06-10-2006 / 13:57:28 / cg"
 ! !
+
 !Iterator methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -916,6 +974,7 @@
 
     ^ self classNameWithArticle
 ! !
+
 !LimitedPrecisionReal methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -937,6 +996,7 @@
 
     "Created: / 20-03-2012 / 22:34:46 / cg"
 ! !
+
 !MenuView methodsFor:'accessing-behavior'!
 
 shortKeys
@@ -944,6 +1004,7 @@
 
     "Created: / 18-10-2008 / 19:16:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
+
 !Method methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -962,6 +1023,7 @@
     "Created: / 18-09-2006 / 21:34:01 / cg"
     "Modified: / 06-10-2006 / 13:57:33 / cg"
 ! !
+
 !Method methodsFor:'printing & storing'!
 
 printStringForBrowserWithSelector:selector inClass:aClass
@@ -1092,11 +1154,13 @@
     "Modified: / 05-03-2007 / 16:18:53 / cg"
     "Modified: / 20-07-2010 / 15:39:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !Method methodsFor:'printing & storing'!
 
 selectorPrintStringInBrowserFor:selector
     ^ selector
 ! !
+
 !Method methodsFor:'printing & storing'!
 
 selectorPrintStringInBrowserFor:selector class:aClass
@@ -1114,6 +1178,7 @@
 
     "Modified: / 20-07-2010 / 10:33:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !MethodDictionary methodsFor:'inspecting'!
 
 inspectorClass
@@ -1124,6 +1189,7 @@
 
     "Created: 12.6.1996 / 12:29:13 / stefan"
 ! !
+
 !NameSpace class methodsFor:'inspecting'!
 
 inspectorClass
@@ -1136,6 +1202,7 @@
 
 
 ! !
+
 !Object methodsFor:'debugging'!
 
 inspect
@@ -1164,6 +1231,7 @@
      (Image fromFile:'bitmaps/garfield.gif') inspect
     "
 ! !
+
 !Object methodsFor:'inspecting'!
 
 inspector2TabCommon
@@ -1174,6 +1242,7 @@
     "Created: / 24-05-2011 / 14:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 05-07-2011 / 14:06:28 / cg"
 ! !
+
 !Object methodsFor:'inspecting'!
 
 inspector2TabForBasicInspect
@@ -1187,6 +1256,7 @@
 
     "Created: / 05-07-2011 / 13:59:59 / cg"
 ! !
+
 !Object methodsFor:'inspecting'!
 
 inspector2TabForInspectorClass
@@ -1200,6 +1270,7 @@
 
     "Created: / 05-07-2011 / 14:06:16 / cg"
 ! !
+
 !Object methodsFor:'inspecting'!
 
 inspector2TabLabel
@@ -1209,6 +1280,7 @@
 
     "Created: / 14-07-2011 / 11:56:23 / cg"
 ! !
+
 !Object methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -1220,6 +1292,7 @@
 
     "Created: / 05-07-2011 / 13:39:24 / cg"
 ! !
+
 !Object methodsFor:'debugging'!
 
 inspectorExtraAttributes
@@ -1240,6 +1313,7 @@
     "Modified: / 02-09-2005 / 19:00:01 / janfrog"
     "Modified: / 04-10-2006 / 14:33:34 / cg"
 ! !
+
 !Object methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -1249,6 +1323,7 @@
 
     "Created: / 13-06-2012 / 12:50:26 / cg"
 ! !
+
 !Object methodsFor:'testing'!
 
 isTestCaseLike
@@ -1257,6 +1332,7 @@
 
     "Created: / 28-02-2011 / 21:30:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !Object methodsFor:'debugging'!
 
 newInspector2Tab
@@ -1267,6 +1343,7 @@
         ifNil:[self error:'Inspector2 not available!! Something is rotten...']
         ifNotNil:[(Smalltalk at: #'Tools::Inspector2Tab') new]
 ! !
+
 !OrderedCollection methodsFor:'inspecting'!
 
 inspectorClass
@@ -1281,6 +1358,7 @@
      #(0 8 15 3 99 2) asSortedCollection inspect
     "
 ! !
+
 !PopUpMenu methodsFor:'converting'!
 
 asMenu
@@ -1307,6 +1385,7 @@
     "Created: / 18-10-2008 / 19:01:32 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 09-09-2012 / 13:10:25 / cg"
 ! !
+
 !ProfileTree methodsFor:'accessing'!
 
 method
@@ -1317,6 +1396,7 @@
     "Created: / 01-12-2007 / 22:50:16 / janfrog"
     "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
+
 !ProfileTree methodsFor:'accessing'!
 
 package
@@ -1327,6 +1407,7 @@
     "Created: / 01-12-2007 / 22:50:28 / janfrog"
     "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
+
 !RunArray methodsFor:'user interface'!
 
 inspectorClass
@@ -1337,16 +1418,19 @@
 
     "Modified: / 30.10.1997 / 14:28:20 / cg"
 ! !
+
 !SelectionInListModelView methodsFor:'accessing'!
 
 textStartLeft
     ^ textStartLeft
 ! !
+
 !SelectionInListModelView methodsFor:'accessing'!
 
 textStartLeft:something
     textStartLeft := something.
 ! !
+
 !Set methodsFor:'inspecting'!
 
 inspectorClass
@@ -1355,6 +1439,7 @@
 
     ^ SetInspectorView
 ! !
+
 !SimpleView methodsFor:'testing'!
 
 isCodeView2
@@ -1363,6 +1448,16 @@
 
     "Created: / 20-07-2010 / 15:42:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
+!Smalltalk class methodsFor:'queries'!
+
+inspectorClass
+    "redefined to use DictionaryInspector
+     (instead of the default Inspector)."
+
+    ^ DictionaryInspectorView
+! !
+
 !StringCollection methodsFor:'inspecting'!
 
 inspector2TabText
@@ -1374,6 +1469,7 @@
 
     "Created: / 17-02-2008 / 10:13:07 / janfrog"
 ! !
+
 !StringCollection methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -1381,6 +1477,7 @@
 
     "Created: / 05-07-2011 / 13:40:43 / cg"
 ! !
+
 !Symbol methodsFor:'accessing'!
 
 formattedCode
@@ -1391,6 +1488,7 @@
 
     "Created: / 07-07-2009 / 20:03:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
+
 !Symbol methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -1398,6 +1496,7 @@
 
     ^ self storeString
 ! !
+
 !Text methodsFor:'inspecting'!
 
 inspector2TabText
@@ -1411,6 +1510,7 @@
     "Modified: / 17-02-2008 / 10:28:33 / janfrog"
     "Modified: / 21-08-2011 / 08:02:46 / cg"
 ! !
+
 !Text methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -1428,6 +1528,7 @@
     "Created: / 18-09-2006 / 21:25:52 / cg"
     "Modified: / 06-10-2006 / 13:57:38 / cg"
 ! !
+
 !Timestamp methodsFor:'inspecting'!
 
 inspectorExtraAttributes
@@ -1448,6 +1549,7 @@
 
     "Created: / 20-01-2011 / 12:19:05 / cg"
 ! !
+
 !UndefinedObject methodsFor:'inspecting'!
 
 inspectorValueStringInListFor:anInspector
@@ -1455,6 +1557,7 @@
 
     ^ 'nil'
 ! !
+
 !UninterpretedBytes methodsFor:'inspecting'!
 
 inspector2Tabs
@@ -1462,6 +1565,7 @@
 
     "Created: / 27-02-2012 / 21:51:36 / cg"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 alwaysOpenNewTabWhenCtrlClick
@@ -1476,6 +1580,7 @@
     "Created: / 19-10-2008 / 08:00:53 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified: / 14-02-2010 / 19:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 alwaysOpenNewTabWhenCtrlClick: aBoolean
@@ -1484,6 +1589,7 @@
 
     "Created: / 19-10-2008 / 08:01:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 changesBrowserClassName
@@ -1494,6 +1600,7 @@
 
     "Created: / 03-04-2012 / 11:02:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 codeView2AutoIndent
@@ -1508,6 +1615,7 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 07-08-2011 / 12:46:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 codeView2AutoIndent: aBoolean
@@ -1522,6 +1630,7 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 07-08-2011 / 12:47:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 codeView2ShowAcceptCancel
@@ -1535,6 +1644,7 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 10-10-2011 / 16:41:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 codeView2ShowAcceptCancel: aBoolean
@@ -1548,6 +1658,7 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 10-10-2011 / 16:40:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 confirmRefactorings
@@ -1568,6 +1679,7 @@
 
     "Created: / 04-04-2012 / 14:02:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 confirmRefactorings:aBoolean
@@ -1588,6 +1700,7 @@
 
     "Created: / 04-04-2012 / 14:02:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 fileBrowserClass
@@ -1607,6 +1720,7 @@
 
     "Modified: / 03-04-2012 / 10:59:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 fileBrowserClass: aClass
@@ -1621,6 +1735,7 @@
 
     "Created: / 03-04-2012 / 10:57:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-pref''d tools'!
 
 fileBrowserClassName
@@ -1631,6 +1746,7 @@
 
     "Created: / 03-04-2012 / 11:01:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showBookmarkBar
@@ -1647,6 +1763,7 @@
     "Created: / 18-05-2011 / 16:48:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 03-06-2011 / 11:01:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showBookmarkBar: aBoolean
@@ -1662,6 +1779,7 @@
 
     "Created: / 18-05-2011 / 17:28:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showEmbeddedTestRunnerInBrowser
@@ -1677,6 +1795,7 @@
 
     "Created: / 11-03-2010 / 10:11:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showEmbeddedTestRunnerInBrowser:aBoolean
@@ -1691,6 +1810,7 @@
 
     "Created: / 11-03-2010 / 10:11:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showGlobalHistory
@@ -1707,6 +1827,7 @@
     "Created: / 07-07-2011 / 00:03:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (comment): / 26-07-2012 / 16:35:54 / cg"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showGlobalHistory: aBoolean
@@ -1723,6 +1844,7 @@
     "Created: / 07-07-2011 / 00:02:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (comment): / 26-07-2012 / 16:35:57 / cg"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showLocalHistory
@@ -1739,6 +1861,7 @@
     "Created: / 07-07-2011 / 00:02:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (comment): / 26-07-2012 / 16:35:31 / cg"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showLocalHistory: aBoolean
@@ -1755,6 +1878,7 @@
     "Created: / 07-07-2011 / 00:02:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (comment): / 26-07-2012 / 16:35:41 / cg"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showMethodTemplate
@@ -1770,6 +1894,7 @@
 
     "Created: / 12-02-2010 / 12:06:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 showMethodTemplate:aBoolean
@@ -1784,6 +1909,7 @@
 
     "Created: / 12-02-2010 / 12:05:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 sortAndIndentClassesByInheritance
@@ -1798,6 +1924,7 @@
 
     "Created: / 06-07-2011 / 19:09:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 sortAndIndentClassesByInheritance: aBoolean
@@ -1812,6 +1939,7 @@
 
     "Created: / 06-07-2011 / 19:09:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 sourceCodeManagementMenuLayout
@@ -1834,6 +1962,7 @@
 
     "Created: / 06-10-2011 / 18:42:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 sourceCodeManagementMenuLayout: aSymbol
@@ -1857,6 +1986,7 @@
 
     "Created: / 06-10-2011 / 18:44:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2In: appSymbol
@@ -1878,6 +2008,7 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 26-07-2011 / 10:26:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InBrowser
@@ -1895,6 +2026,7 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 26-07-2011 / 10:22:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InBrowser: aBoolean
@@ -1912,6 +2044,7 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 26-07-2011 / 10:21:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InDebugger
@@ -1929,6 +2062,7 @@
 
     "Created: / 26-07-2011 / 10:22:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InDebugger: aBoolean
@@ -1946,6 +2080,7 @@
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 26-07-2011 / 10:22:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InTools
@@ -1959,6 +2094,7 @@
     "Created: / 12-02-2010 / 12:13:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 15-02-2010 / 09:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InTools:aBoolean 
@@ -1969,6 +2105,7 @@
      UserPreferences current useCodeView2InBrowser:false"
     "Created: / 12-02-2010 / 12:14:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InWorkspace
@@ -1986,6 +2123,7 @@
 
     "Created: / 26-07-2011 / 10:23:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-code view'!
 
 useCodeView2InWorkspace: aBoolean
@@ -2003,6 +2141,7 @@
 
     "Created: / 26-07-2011 / 10:22:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 useInPlaceSearchInBrowserLists
@@ -2017,6 +2156,7 @@
 
     "Created: / 28-07-2011 / 09:34:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 useInPlaceSearchInBrowserLists: aBoolean
@@ -2031,6 +2171,7 @@
 
     "Created: / 28-07-2011 / 09:35:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 webBrowserLikeLayout
@@ -2046,6 +2187,7 @@
 
     "Created: / 07-06-2011 / 14:33:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+
 !UserPreferences methodsFor:'accessing-prefs-browser'!
 
 webBrowserLikeLayout: aBoolean
@@ -2061,11 +2203,7 @@
 
     "Created: / 07-06-2011 / 14:31:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-!stx_libtool class methodsFor:'documentation'!
-
-extensionsVersion_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.103 2013-03-30 15:44:24 cg Exp $'
-! !
+
 !stx_libtool class methodsFor:'documentation'!
 
 extensionsVersion_HG
--- a/stx_libtool.st	Thu Apr 04 01:43:18 2013 +0100
+++ b/stx_libtool.st	Thu Apr 04 19:06:16 2013 +0100
@@ -11,7 +11,7 @@
 "
 "{ Package: 'stx:libtool' }"
 
-LibraryDefinition subclass:#'stx_libtool'
+LibraryDefinition subclass:#stx_libtool
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
@@ -42,14 +42,13 @@
 !
 
 extensionsVersion_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.94 2013-02-01 14:51:22 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.104 2013-04-02 20:28:09 cg Exp $'
 !
 
 extensionsVersion_SVN
     ^ '$Id:: extensions.st 8086 2013-01-15 12:03:21Z vranyj1                                                                        $'
 ! !
 
-
 !stx_libtool class methodsFor:'description'!
 
 excludedFromPreRequisites
@@ -109,15 +108,15 @@
 
     ^ #(
         #'stx:goodies/refactoryBrowser/parser'    "RBProgramNodeVisitor - superclass of CodeGenerator "
-        #'stx:libbasic'    "Link - superclass of Diff::Change "
-        #'stx:libbasic2'    "Iterator - extended "
-        #'stx:libbasic3'    "Change - extended "
-        #'stx:libcomp'    "BreakpointDescription - extended "
-        #'stx:libui'    "ViewWithSubcomponentsSpec - superclass of FileBrowserV2UISpecifications::PanelSpec "
-        #'stx:libview'    "TopView - superclass of FileBrowser "
-        #'stx:libview2'    "SimpleDialog - superclass of Tools::ChangeSetSelectionDialog "
-        #'stx:libwidg'    "ListView - superclass of Tools::NewSystemBrowserCodeView "
-        #'stx:libwidg2'    "HierarchicalItemWithLabelAndIcon - superclass of SettingsDialog::HierarchicalApplicationList::ApplicationItem "
+        #'stx:libbasic'    "LimitedPrecisionReal - extended "
+        #'stx:libbasic2'    "List - superclass of Tools::ToDoList "
+        #'stx:libbasic3'    "ProfileTree - extended "
+        #'stx:libcomp'    "Scanner - superclass of SyntaxHighlighter2 "
+        #'stx:libui'    "UISpecification - superclass of EditFieldWithCompletionSpec "
+        #'stx:libview'    "Form - extended "
+        #'stx:libview2'    "ApplicationModel - superclass of AbstractSettingsApplication::LanguageSettingsAppl "
+        #'stx:libwidg'    "GenericToolbarIconLibrary - superclass of EWorldIconLibrary "
+        #'stx:libwidg2'    "ComboView - superclass of FilenameEditFieldV2 "
     )
 !
 
@@ -156,11 +155,22 @@
      exclude individual packages in the #excludedFromPreRequisites method."
 
     ^ #(
+        #'exept:vncViewer'    "VNCConnectionFailure - referenced by FileApplicationNoteBook::XViewApplication>>vncConnect "
         #'stx:libwidg3'    "ClockView - referenced by WorkspaceApplication>>addStopWatch "
     )
+!
+
+subProjects
+    "list packages which are known as subprojects.
+     The generated makefile will enter those and make there as well.
+     However: they are not forced to be loaded when a package is loaded;
+     for those, redefine requiredPrerequisites"
+
+    ^ #(
+        #'stx:libtool/smallsense'
+    )
 ! !
 
-
 !stx_libtool class methodsFor:'description - compilation'!
 
 additionalBaseAddressDefinition_bc_dot_mak
@@ -173,7 +183,6 @@
 '
 ! !
 
-
 !stx_libtool class methodsFor:'description - contents'!
 
 classNamesAndAttributes
@@ -188,9 +197,8 @@
         AbstractFileApplicationNoteBookComponent
         AbstractFileBrowser
         AbstractLauncherApplication
+        AbstractSettingsApplication
         (AbstractVersionDiffBrowserItem autoload)
-        (AbstractRevisionItem autoload)
-        AbstractSettingsApplication
         (ApplicationBuilder autoload)
         Bookmark
         BookmarkBar
@@ -200,20 +208,18 @@
         BookmarkVisitor
         BookmarksEditDialog
         BrowserView
-        (ChangeSetBrowser autoload)
         ChangesBrowser
-        (ClassItem autoload)
-        (ClassItemRoot autoload)
-        (ClassItemRootForRevision autoload)
         (ClassNameItem autoload)
         (ClassRevisionTree autoload)
-        (ClassVariablesInspectorView autoload)
         CodeGenerator
         (CodeGeneratorTests autoload)
         CodeGeneratorTool
-        (ColorInspectorView autoload)
         DebugView
         Diff
+        Diff2
+        Diff3
+        Diff3Hunk
+        Diff3InclusiveVisitor
         (Diff3TextView autoload)
         DiffListUtility
         DiffTextView
@@ -221,7 +227,6 @@
         EditFieldWithCompletion
         EditFieldWithCompletionSpec
         (EventMonitor autoload)
-        (ExpandableRevisionItem autoload)
         FileBrowser
         FileBrowserV2PanelView
         (FileBrowserV2SettingsDialog autoload)
@@ -234,28 +239,21 @@
         (HierarchicalClassRevisionList autoload)
         (HierarchicalVersionDiffBrowser autoload)
         InspectorView
-        ClassInspectorView
-        (Launcher autoload)
-        (LibraryBuilder autoload)
         MemoryMonitor
         MemoryMonitorView
         (MemoryUsageView autoload)
         MultiViewToolApplication
         (NewChangesBrowser autoload)
         (OldLauncher autoload)
-        (ProcessMonitor autoload)
+        ParseTreeIndex
+        PerforceSourceCodeManagerUtilities
         ProcessMonitorV2
         (ProjectView autoload)
         (RCSConflictEditTextView autoload)
-        (SemaphoreMonitor autoload)
-        SettingsDialog
-        (SmalltalkInspectorView autoload)
-        (SourceRevisionItem autoload)
         SyntaxElement
         SyntaxHighlighter2
         SystemBrowser
         (SystemStatusMonitor autoload)
-        (TerminalApplication autoload)
         (TextDiffTests autoload)
         #'Tools::AbstractTestRunner'
         #'Tools::BreakpointBrowser'
@@ -263,6 +261,7 @@
         #'Tools::BrowsletCanvas'
         #'Tools::CachedTags'
         #'Tools::ChangeSetBrowser2'
+        #'Tools::ChangeSetDiffInfo'
         #'Tools::ChangeSetDiffTool'
         #'Tools::ChangeSetSelectionDialog'
         #'Tools::ChangeSetSpec'
@@ -274,15 +273,16 @@
         #'Tools::CodeView2'
         (#'Tools::CodeView2DemoApp' autoload)
         #'Tools::CodeViewService'
-        #'Tools::BackgroundSourceProcessingService'
-        (#'Tools::CompilerWarningToDoListEntry' autoload)
         #'Tools::DiffCodeView2'
         (#'Tools::DiffCodeView2DemoApp' autoload)
         #'Tools::HierarchicalChangesetDialog'
         #'Tools::InlineMessageDialog'
         #'Tools::Inspector2'
         #'Tools::Inspector2Tab'
+        #'Tools::LintAnnotation'
+        #'Tools::LintHighlighter'
         #'Tools::LintRuleDetail'
+        #'Tools::LintRuleEditDialog'
         #'Tools::LintRuleSelectionDialog'
         #'Tools::MethodCategoryCache'
         #'Tools::MethodRewriter'
@@ -295,75 +295,111 @@
         #'Tools::Profiler'
         #'Tools::ProfilerInfoBuilder'
         #'Tools::ProfilerInfoItem'
+        #'Tools::ProjectCheckerBrowser'
         #'Tools::ProjectLoader'
         #'Tools::SearchDialog'
         #'Tools::SmalltalkDiffTool'
-        (#'Tools::SmalltalkMergeTool' autoload)
+        #'Tools::SourceCodeManagerConfigurationTestTool'
         #'Tools::SpecialCodeView'
         #'Tools::StringSearchTool'
         #'Tools::Tag'
         #'Tools::TagList'
         #'Tools::TagsBrowser'
         #'Tools::TextDiffTool'
+        #'Tools::TextMergeInfo'
         (#'Tools::ToDoList' autoload)
         (#'Tools::ToDoListBrowser' autoload)
         (#'Tools::ToDoListEntry' autoload)
         (#'Tools::ToDoNotification' autoload)
         #'Tools::WebBrowserPage'
         VersionDiffBrowser
-        (VersionRevisionItem autoload)
         ViewWithAcceptAndCancelBar
         Win32FileDialog
         (XTermView unix)
         #'stx_libtool'
         AbstractDirectoryBrowser
+        AbstractFileFinderApplicationComponent
+        (AbstractRevisionItem autoload)
         AbstractSourceCodeManagementSettingsAppl
         BookmarkMenuBuilder
+        (ChangeSetBrowser autoload)
+        (ClassItem autoload)
+        (ClassItemRoot autoload)
+        (ColorInspectorView autoload)
         ContextInspectorView
         DictionaryInspectorView
+        Diff3ExclusiveVisitor
         DiffCodeView
         FileApplicationNoteBook
         FileBrowserV2
         FileBrowserV2SettingsAppl
         FileDialogWithPreview
-        AbstractFileFinderApplicationComponent
-        FindFileApplication
         ImageInspectorView
+        (Launcher autoload)
+        (LibraryBuilder autoload)
         NewLauncher
         OrderedCollectionInspectorView
+        (ProcessMonitor autoload)
+        (SemaphoreMonitor autoload)
         SetInspectorView
+        SettingsDialog
         SmalltalkCodeGeneratorTool
+        (TerminalApplication autoload)
+        #'Tools::BackgroundSourceProcessingService'
         #'Tools::BreakpointService'
         #'Tools::BrowserList'
-        #'Tools::BrowserListWithFilter'
         #'Tools::CodeCompletionService'
-        #'Tools::CodeHighlightingService'
         #'Tools::CodeNavigationService'
         #'Tools::CodeView2SettingsAppl'
+        (#'Tools::CompilerWarningToDoListEntry' autoload)
+        #'Tools::Diff2CodeView2'
+        #'Tools::Diff3CodeView2'
+        #'Tools::LintRuleSettingsApplication'
+        #'Tools::LintService'
         #'Tools::NavigatorCanvas'
         #'Tools::NewSystemBrowser'
         #'Tools::OrganizerCanvas'
         #'Tools::SendersBrowslet'
+        (#'Tools::SmalltalkMergeTool' autoload)
         #'Tools::StringSearchToolForTextView'
         #'Tools::TestRunnerEmbedded'
+        #'Tools::TextDiff2Tool'
+        #'Tools::TextDiff3Tool'
         #'Tools::VisualProfilerCanvas'
         WorkspaceApplication
         BookmarkAddMenuBuilder
         BookmarkToolbarMenuBuilder
         CVSSourceCodeManagementSettingsAppl
+        (ClassItemRootForRevision autoload)
+        DataBaseSourceCodeManagementSettingsAppl
         DirectoryContentsBrowser
+        DirectoryDifferenceViewApplication
         DirectoryTreeBrowser
+        (ExpandableRevisionItem autoload)
+        FileBasedSourceCodeManagementSettingsAppl
+        FileBrowserV3
+        FindFileApplication
+        GitSourceCodeManagementSettingsAppl
+        MercurialSourceCodeManagementSettingsAppl
         PerforceSourceCodeManagementSettingsAppl
+        (SmalltalkInspectorView autoload)
+        (SourceRevisionItem autoload)
         StoreSourceCodeManagementSettingsAppl
+        #'Tools::BrowserListWithFilter'
         #'Tools::ClassCategoryList'
         #'Tools::ClassGeneratorList'
         #'Tools::ClassList'
+        #'Tools::CodeHighlightingService'
         #'Tools::LintRuleList'
         #'Tools::MethodCategoryList'
         #'Tools::MethodList'
         #'Tools::NamespaceList'
         #'Tools::ProjectList'
         #'Tools::VariableList'
+        (VersionRevisionItem autoload)
+        (ClassVariablesInspectorView autoload)
+        #'Tools::ChangeList'
+        #'Tools::ChangeSetDiffList'
         #'Tools::FullMethodCategoryList'
         #'Tools::HierarchicalClassCategoryList'
         #'Tools::HierarchicalClassList'
@@ -373,37 +409,9 @@
         #'Tools::ImplementingMethodList'
         #'Tools::NamespaceFilter'
         #'Tools::TestRunner2'
+        #'Tools::HierarchicalChangeList'
         #'Tools::HierarchicalPackageFilterList'
         #'Tools::InheritanceClassList'
-        #'Tools::LintHighlighter'
-        #'Tools::LintService'
-        #'Tools::SourceCodeManagerConfigurationTestTool'
-        #'Tools::ChangeList'
-        #'Tools::ChangeSetDiffList'
-        #'Tools::HierarchicalChangeList'
-        FileBasedSourceCodeManagementSettingsAppl
-        DataBaseSourceCodeManagementSettingsAppl
-        DirectoryDifferenceViewApplication
-        MercurialSourceCodeManagementSettingsAppl
-        GitSourceCodeManagementSettingsAppl
-        #'Tools::LintAnnotation'
-        #'Tools::ProjectCheckerBrowser'
-        ParseTreeIndex
-        #'Tools::Diff2CodeView2'
-        #'Tools::Diff3CodeView2'
-        #'Tools::TextDiff2Tool'
-        #'Tools::TextDiff3Tool'
-        Diff2
-        Diff3
-        Diff3Hunk
-        Diff3InclusiveVisitor
-        Diff3ExclusiveVisitor
-        #'Tools::TextMergeInfo'
-        FileBrowserV3
-        #'Tools::ChangeSetDiffInfo'
-        PerforceSourceCodeManagerUtilities
-        #'Tools::LintRuleEditDialog'
-        #'Tools::LintRuleSettingsApplication'
     )
 !
 
@@ -546,10 +554,10 @@
         Collection inspectorValueStringInListFor:
         Iterator inspectorValueStringInListFor:
         Class inspectorClass
+        'Smalltalk class' inspectorClass
     )
 ! !
 
-
 !stx_libtool class methodsFor:'description - project information'!
 
 applicationIconFileName
@@ -585,7 +593,6 @@
     ^ 'Smalltalk/X'
 ! !
 
-
 !stx_libtool class methodsFor:'description - svn'!
 
 svnRepositoryUrlString
@@ -604,7 +611,6 @@
     ^ "$SVN-Revision:"'8088            '"$"
 ! !
 
-
 !stx_libtool class methodsFor:'documentation'!
 
 version