Merged 0ce340e972c4 and 2d878b37539e (branch default - CVS HEAD) jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 12 Jun 2013 16:47:06 +0100
branchjv
changeset 13170 c9b815af5777
parent 12819 0ce340e972c4 (current diff)
parent 12888 2d878b37539e (diff)
child 13171 07844e21ea7e
Merged 0ce340e972c4 and 2d878b37539e (branch default - CVS HEAD)
AbstractDirectoryBrowser.st
AbstractFileBrowser.st
AbstractLauncherApplication.st
AbstractSettingsApplication.st
BrowserView.st
ChangesBrowser.st
CodeGeneratorTool.st
DebugView.st
DictionaryInspectorView.st
DirectoryContentsBrowser.st
FileApplicationNoteBook.st
FileBrowser.st
FileDialog.st
FileDialogWithPreview.st
InspectorView.st
NewLauncher.st
SetInspectorView.st
SmalltalkCodeGeneratorTool.st
SystemBrowser.st
Tools__BreakpointService.st
Tools__CheckinInfoDialog.st
Tools__CodeNavigationService.st
Tools__CodeView2.st
Tools__CodeViewService.st
Tools__Inspector2.st
Tools__NewSystemBrowser.st
Tools__TestRunnerEmbedded.st
VersionDiffBrowser.st
WorkspaceApplication.st
extensions.st
resources/de.rs
--- a/.hgtags	Tue Jun 04 16:21:31 2013 +0100
+++ b/.hgtags	Wed Jun 12 16:47:06 2013 +0100
@@ -1,6 +1,7 @@
 010ac94518b347db8dcc0f986d7e0f31cb6369b7 expeccoNET_1_5_0rc1
 010ac94518b347db8dcc0f986d7e0f31cb6369b7 expecco_1_8_2rc1
 0345171682c483a27083e267891c5c409672b786 expecco_1_0_3
+0b1ad2518a5cd2c8273fb463e370af9d6abfbd97 expecco_2_1_0
 0b715d777c488bf60cadb45e1336e6191b713369 rel2_10_8_6_last2
 0b7d7aedc1cd27c9468db2e11b39e2d211556973 rel3_6_1
 11ee27b3b78ffd84f09d640f937c2caa7b11b06a rel5_2_1
@@ -9,38 +10,36 @@
 1adbdbbef6efc3f1cae90e02bbd4d3a2216bba11 rel2_10_8_6_last_before_vmData_change
 220adc5a966fbea5cf7240f98f8c929276239c58 balla
 22e0a2969ab2326928f4ce90dec4827a4d0dd2bf expecco_1_7_0rc5
-2624c6cdb9340b7f486fcb97f0d9f5d7d0b77ae2 expeccoNET_1_7_0_0
 2707b35f964ca3bb3a769a369e7f2211ba059270 stable_expecco_sel
-2ca84430d4a2c58460bba567dcc9f9459dfdae06 expeccoNET_1_6_8_0
+2a4222b491ab4d84b2f47eb0ad076c98efe53ea2 expecco_2_2_5
 36540512da66279fe8fb5bdf209d65d251a9ada8 expecco_1_9_1_iX
-39fb09a4d351c2b7c340d497002035381b899006 expeccoNET_1_8_0_0
+399d8af7610109b64e2232db0ce43cde3dd1fc58 expecco_2_5_0
+399d8af7610109b64e2232db0ce43cde3dd1fc58 stable
 3c7e853977b7e8a73370be10877ca1c93482cbcb expecco_1_3_4
 3e7f1d7b7a3668a30eb14f320dc532ed0f2049ae expeccoNET_1_4_0rc1
 3e7f1d7b7a3668a30eb14f320dc532ed0f2049ae expecco_1_7_0rc3
 463dd6fa737f1911b40acf7874e7173cf8b3525c rel5_2_1_fixed
-4d7eb0d9a9ef6c03fb9c3da588a97722d56e248c expecco_2_2_5
-50a553319d0760b49230ade44dddfbc42bad5096 expecco_2_4_0
-55612f00a712dfa0e6df938ac663027f29a55953 stx_6_2_2
 596696438e67fee735ba71f62177ccc091b9a0bb expecco_1_7_2rc1
 5aa270837e0ab5e0fa19d2c02d46c864cc41c859 expeccoNET_1_5_1rc1
+62451ecb3d3bbf1f6067c931eda2cdb57aa67ead expeccoNET_1_7_0_0
 6ae442626f2090b5275b777f1a9d09ef0e092628 rel3_4_1_2
 6ea7ea821b44f30ae3737d4703af910788f4c854 rel3-1-2
 8046120212f6e56f5142e2881d4d7a425527eae1 expecco_1_7_0b1
 8046120212f6e56f5142e2881d4d7a425527eae1 expecco_1_7_0b2
 8046120212f6e56f5142e2881d4d7a425527eae1 expecco_1_7_0b3
-82d9e1236f1fa129fb24e50b84be04917d108fd5 initialR
 8314abc6ed8f5dfeb3e68dbe88b8e5761c3be95f expecco_1_8_0rc1
 86b5d78f396e640514438498a168d5259ea7dd79 rel4_1_7
 86b5d78f396e640514438498a168d5259ea7dd79 release
 8b31177ded1bd9e0de5e2cec5271a827e08f8778 rel5_1_4
 91902ae3978238320aa4642b129b0bd1ac3983fe expecco_1_7_0rc1
-99f2298690949f2ee3449ab32639926048322df4 expeccoNET_1_6_0_0
-9c1378b603bcba783cd6ef653213b9ad124784b7 expecco_2_1_0
+94c64ad24577fdc86cbc80e55c5ca7ff502c094b expecco_2_4_0
+94c64ad24577fdc86cbc80e55c5ca7ff502c094b expecco_2_4_1
+94deec4857b143e0e8019495fe3f9383018e3629 expeccoNET_1_8_0_0
 a20cb6fcb74bc09f91758268cdd0fdd708713be4 rel5_2_2
-a2efaef3f9e1e4edbb79f2dc844ce96df3586161 expecco_2_0_0
-a2efaef3f9e1e4edbb79f2dc844ce96df3586161 expecco_2_0_0_0
+a4117e5c784be3575cae7626d1c57cc7aeea1a26 expecco_2_2_0
 a8afd9424514ede465046961279e2442bc292089 rel5_4_6
 acb371a7ff9ebc3ed3e972c9fa2c85fc1f09ef61 expecco_1_6_0rc5
+afd99a8655e814695e08f6ad026e20fd064d5175 expeccoNET_1_6_8_0
 b0c82c2ef38460f27321baa6a4f98979451211af rel5_1_3
 b0c82c2ef38460f27321baa6a4f98979451211af stx_513
 b3131c58f335a218314180b5aa4b01cacd7016af rel3_6_4
@@ -49,11 +48,12 @@
 b407d6ab29da8f079cbe8f9cd2430630786f720f expecco_1_7_1rc3
 b407d6ab29da8f079cbe8f9cd2430630786f720f expecco_1_7_1rc4
 b68ba5310493e1bf7956bb5e75309b4b5d33dd68 expecco_1_6_0
-b6fdfe902263fbb0ca68c285a41d1ba082363ea7 expecco_2_2_0
-b7a6631ef77e5746c13bb6c9facba95d5d51019c stable
 c6afed1e4bfa09e6c3b209679925ad74eb761af9 expecco_1_7_0rc8
+c955fe2bbcb582ea2c89428707d2a181ecde2f92 stx_6_2_2
 d42566f1a9ba30ece3b2ddea3ac312dfc6802e45 rel5_2_8
 d985c7c23d8e1558a5180826cb985ee84938162c rel3_4_1_1
+defcf4bd5764439d0a898491271789b0bfdf12cc expeccoNET_1_6_0_0
 ee907655178aa0f5a67f218fcedc36b8482c3754 rel4_1_3_1
 f4b0d497d1e608cbf0d8b7925d176f21640bf92a expecco_1_5_0
-ffdf97bbca6e7f5699b91853bfc80b91c0f33d39 expecco_2_5_0
+fa5280b1259f8044394951697678a2cc002ef99e expecco_2_0_0
+fa5280b1259f8044394951697678a2cc002ef99e expecco_2_0_0_0
--- a/AbstractDirectoryBrowser.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/AbstractDirectoryBrowser.st	Wed Jun 12 16:47:06 2013 +0100
@@ -186,9 +186,7 @@
 
 !AbstractDirectoryBrowser methodsFor:'startup & release'!
 
-commonPostOpen
-    self postOpenFromMaster:true.
-!
+
 
 initialize
 
@@ -196,10 +194,31 @@
     ^ super initialize.
 !
 
+postOpenAsSubcanvasWith:aBuilder
+    "this is sent after the applications window is opened inside another application.
+     Can be redefined in subclasses for actions after showing the canvas view."
+
+    "/ cg: used to be unconditionally true hew;
+    "/ but then, when a FileDialog (which is not an AbstractFileBrowser) is opened,
+    "/ the commonPostBuild will not properly update its enable chanels;
+    "/ especially the enableDirectoryUp is false.
+    "/ This whole FileBrowser is so complicated that it became almost unusable.
+    "/ (too much inheritance and knowledge - DirTree and DirContents should each only do
+    "/ what it should and not depend on shared functionality from their superclass)
+    self postOpenFromMaster:(self masterApplication class includesBehavior:AbstractFileBrowser).
+!
+
 postOpenFromMaster:fromMaster 
     self subclassResponsibility
 !
 
+postOpenWith:aBuilder
+    "this is sent after the applications main window is opened.
+     Can be redefined in subclasses for actions after opening the view."
+
+    self postOpenFromMaster:false.
+!
+
 preBuildWith:aBuilder
 
     self masterApplication isNil ifTrue:[
@@ -211,11 +230,11 @@
 !AbstractDirectoryBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Id: AbstractDirectoryBrowser.st 7854 2012-01-30 17:49:41Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractDirectoryBrowser.st,v 1.26 2013-06-07 09:58:29 cg Exp $'
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/AbstractDirectoryBrowser.st,v 1.25 2010/02/02 14:34:58 cg Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractDirectoryBrowser.st,v 1.26 2013-06-07 09:58:29 cg Exp $'
 !
 
 version_HG
--- a/AbstractFileBrowser.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/AbstractFileBrowser.st	Wed Jun 12 16:47:06 2013 +0100
@@ -1821,16 +1821,19 @@
             label: 'Split...'
             itemValue: splitSelectedFiles
             translateLabel: true
+            enabled: hasFileSelection
           )
          (MenuItem
             label: 'Join...'
             itemValue: joinSelectedFiles
             translateLabel: true
+            enabled: hasFileSelection
           )
          (MenuItem
             label: 'Copy Corrupted File To...'
             itemValue: copySelectionToRepairingCorruptedFiles
             translateLabel: true
+            enabled: hasFileSelection
           )
          (MenuItem
             label: '-'
@@ -1840,11 +1843,13 @@
             itemValue: filterSelectedFiles:
             translateLabel: true
             argument: rot13
+            enabled: hasFileSelection
           )
          (MenuItem
             label: '-'
           )
          (MenuItem
+            enabled: hasFileSelection
             label: 'Truncate...'
             itemValue: truncateSelectedFilesToZeroSize
             translateLabel: true
@@ -1868,14 +1873,14 @@
             label: '-'
           )
          (MenuItem
-            enabled: hasSelection
+            enabled: hasFileSelection
             label: 'File Differences'
             itemValue: openDiffView
             translateLabel: true
             isVisible: hasTwoFilesSelectedHolder
           )
          (MenuItem
-            enabled: hasSelection
+            enabled: hasFileSelection
             label: 'File Differences...'
             itemValue: openDiffView
             translateLabel: true
@@ -2319,8 +2324,8 @@
                   itemValue: openCBrowser
                   isVisible: hasCBrowser
                 )
-               (MenuItem
-                  enabled: canOpenMontocelloBrowser
+               (MenuItem   
+                  enabled: canOpenMonticelloBrowser
                   label: 'Monticello Browser'
                   itemValue: doOpenMonticelloBrowser
                 )
@@ -2486,6 +2491,7 @@
                (MenuItem
                   label: 'Same Contents as Selected...'
                   itemValue: fileFindDuplicateFile
+                  enabled: hasFileSelection
                 )
                (MenuItem
                   label: 'Duplicate Files'
@@ -4327,7 +4333,7 @@
     self enableForward value:self canForward.
     self enableBack    value:self canBackward.
 
-    self updateCanMake.
+    "/ self updateCanMake.
 
     "Modified: / 29-12-2010 / 11:01:52 / cg"
 !
@@ -4642,7 +4648,7 @@
 !
 
 copyOrMoveDialog:aCollectionOfFiles for:aDestinationDirectory
-    |size stream msg answer file|
+    |size msg answer file|
 
     size := aCollectionOfFiles size.
 
@@ -5737,9 +5743,14 @@
 !
 
 cvsTagSelection
-    |tag stream cmd|
-
-    tag := Dialog request:(resources string:'Tag:').
+    |tag tags cmd|
+
+    tag := Dialog
+                request:(resources string:'Tag (possibly multiple, separated by ";"):')
+                initialAnswer:(CVSSourceCodeManager recentTag).
+    tag isEmptyOrNil ifTrue:[^ self ].
+
+    CVSSourceCodeManager recentTag:tag.
 
     CVSSourceCodeManager notNil ifTrue:[
         cmd := CVSSourceCodeManager cvsExecutable.
@@ -5747,16 +5758,13 @@
         cmd := 'cvs'.
     ].
 
-    stream := WriteStream on:''.
-    stream 
-        nextPutAll:cmd; 
-        nextPutAll:' tag -F ';
-        nextPutAll:'"'; 
-        nextPutAll:tag; 
-        nextPutAll:'" ';
-        nextPutAll:(self makeFileNameArgumentString).
-
-    self executeCommand:stream contents.
+    tags := tag asCollectionOfSubstringsSeparatedByAny:',;'.
+    tags do:[:eachTag |
+        self executeCommand:('%1 tag -F "%2" %3' 
+                                bindWith:cmd 
+                                with:(eachTag withoutSeparators) 
+                                with:(self makeFileNameArgumentString))
+    ].
 !
 
 cvsUpdateAll
@@ -6406,6 +6414,8 @@
 !
 
 doOpenMonticelloBrowser
+    MCMczReader isNil ifTrue:[ Smalltalk loadPackage:'stx:goodies/monticello'].
+
     self withWaitCursorDo:[
         self currentSelectedFiles do:[:fn |
             |version snapshot|
@@ -7461,7 +7471,7 @@
     "open a diff-view"
 
     |name1 name2 text1 text2 d err nm l1 files title 
-     defaultName defaultDir lastFile sameContents msg|
+     defaultName defaultDir sameContents msg|
 
     files := self currentSelectedObjects.
     files isEmpty ifTrue:[
@@ -8104,7 +8114,7 @@
 splitSelectedFiles
     |selectedFiles numFiles msg sizeString kiloBytes|
 
-    selectedFiles := self currentSelectedObjects.
+    selectedFiles := self currentSelectedFiles.
     (numFiles := selectedFiles size) == 0 ifTrue:[^ self].
 
     msg := (numFiles > 1) 
@@ -8275,7 +8285,7 @@
 
 hasJavaAndSelection
 
-    ^ [ self currentSelectedFiles size > 0
+    ^ [ self currentSelectedFiles notEmptyOrNil
         and:[JavaClassReader notNil 
         and:[JavaClassReader isLoaded]]]
 !
@@ -8288,14 +8298,13 @@
 
 hasMP3PlayerAndSelection
 
-    ^ [ self currentSelectedFiles size > 0
+    ^ [ self currentSelectedFiles notEmptyOrNil
         and:[ self hasMP3Player value]]
 !
 
 hasResourceFileSelected
-
-    ^ self currentSelectedFiles 
-        conform:[:fn | 
+    ^ (self currentSelectedFiles) 
+        contains:[:fn | 
             fn suffix asLowercase = 'rs'
         ].
 !
@@ -8785,7 +8794,7 @@
 !
 
 currentSelectedFiles
-    ^ self currentSelectedObjects select:[:file | file isDirectory not].
+    ^ self currentSelectedObjects reject:[:file | file isDirectory].
 
     "Modified: / 04-12-2006 / 13:14:39 / cg"
 !
@@ -9303,11 +9312,11 @@
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.522 2013-06-03 10:52:06 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.528 2013-06-07 09:58:31 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.522 2013-06-03 10:52:06 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.528 2013-06-07 09:58:31 cg Exp $'
 !
 
 version_HG
--- a/AbstractLauncherApplication.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/AbstractLauncherApplication.st	Wed Jun 12 16:47:06 2013 +0100
@@ -2324,14 +2324,11 @@
 startWindowTreeViewForAll
     "open a windowTree on all views in the system"
 
-    |v|
-
     WindowTreeView isNil ifTrue:[
         ^ self warn:'The WindowTreeView is not available in this release.'
     ].
 
     WindowTreeView openOnAll
-
 !
 
 viewBrowse
@@ -5474,9 +5471,9 @@
 
             showOthers value ifTrue:[
                 allObjects := ObjectFileLoader loadedObjectHandles.
-                otherObjects := (allObjects select:[:h | (h isFunctionObjectHandle
+                otherObjects := (allObjects reject:[:h | (h isFunctionObjectHandle
                                                          or:[h isMethodHandle
-                                                         or:[h isClassLibHandle]]) not]) asArray.
+                                                         or:[h isClassLibHandle]])]) asArray.
                 otherObjectNames := otherObjects collect:[:entry | entry pathName].
                 l := l , otherObjectNames.
                 handles := handles , otherObjects.
@@ -7022,11 +7019,11 @@
 !AbstractLauncherApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.429 2013-05-14 10:27:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.431 2013-06-05 13:22:08 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.429 2013-05-14 10:27:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractLauncherApplication.st,v 1.431 2013-06-05 13:22:08 stefan Exp $'
 !
 
 version_HG
@@ -7035,6 +7032,6 @@
 !
 
 version_SVN
-    ^ '$Id: AbstractLauncherApplication.st,v 1.429 2013-05-14 10:27:57 cg Exp $'
+    ^ '$Id: AbstractLauncherApplication.st,v 1.431 2013-06-05 13:22:08 stefan Exp $'
 ! !
 
--- a/AbstractSettingsApplication.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/AbstractSettingsApplication.st	Wed Jun 12 16:47:06 2013 +0100
@@ -290,7 +290,7 @@
 		selectedManagerPerMatchingModuleHolder'
 	classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts
 		RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser
-		LastStorePassword'
+		LastStorePassword FillCacheProcess'
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication
 !
@@ -13675,6 +13675,9 @@
 #editPerPackageManager
 'Modify the selected per-package manager definition'
 
+#fillSourceCache
+'Fill the cache (by fetching all source files) in a low-prio background process'
+
 #flushSourceCache
 'Remove all files from the source cache.\Access to source code will temporarily be slowed down,\until sources have been refetched from the repository'
 
@@ -13706,8 +13709,6 @@
 'Output debugging messages on the Transcript\(mostly traces of the underlying scm mechanism, such as cvs commands)'
 
 )
-
-    "Modified: / 09-08-2012 / 09:41:28 / cg"
 ! !
 
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'image specs'!
@@ -13755,377 +13756,401 @@
 
     <resource: #canvas>
 
-    ^
+    ^ 
      #(FullSpec
-	name: windowSpec
-	window:
+        name: windowSpec
+        window: 
        (WindowSpec
-	  label: 'Source Code Manager Settings'
-	  name: 'Source Code Manager Settings'
-	  min: (Point 10 10)
-	  bounds: (Rectangle 0 0 659 554)
-	)
-	component:
+          label: 'Source Code Manager Settings'
+          name: 'Source Code Manager Settings'
+          min: (Point 10 10)
+          bounds: (Rectangle 0 0 659 590)
+        )
+        component: 
        (SpecCollection
-	  collection: (
-	   (VerticalPanelViewSpec
-	      name: 'VerticalPanel2'
-	      layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
-	      horizontalLayout: fit
-	      verticalLayout: topSpace
-	      horizontalSpace: 3
-	      verticalSpace: 20
-	      component:
-	     (SpecCollection
-		collection: (
-		 (VerticalPanelViewSpec
-		    name: 'VerticalPanel3'
-		    horizontalLayout: fit
-		    verticalLayout: top
-		    horizontalSpace: 3
-		    verticalSpace: 4
-		    component:
-		   (SpecCollection
-		      collection: (
-		       (ViewSpec
-			  name: 'Box3'
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'Sourcecode Management'
-				name: 'SourcecodeManagementCheckBox'
-				layout: (LayoutFrame 5 0 5 0.0 256 0 27 0)
-				activeHelpKey: useManager
-				model: useManager
-				translateLabel: true
-			      )
-			     (ComboListSpec
-				name: 'ComboList1'
-				layout: (LayoutFrame -151 1 5 0 -5 1 27 0)
-				activeHelpKey: defaultManagerType
-				visibilityChannel: moreThanOneManagerTypesAvailable
-				enableChannel: useManager
-				model: selectedManagerTypeIndexHolder
-				comboList: availableManagerTypeNames
-				useIndex: true
-			      )
-			     (LabelSpec
-				label: 'Default Repository Type:'
-				name: 'Label14'
-				layout: (LayoutFrame -347 1 5 0 -154 1 27 0)
-				activeHelpKey: defaultManagerType
-				translateLabel: true
-				adjust: right
-			      )
-			     )
-
-			  )
-			  extent: (Point 659 30)
-			)
-		       (FramedBoxSpec
-			  label: 'Per Package Settings'
-			  name: 'PerPackageConfiguration'
-			  activeHelpKey: perPackageConfiguration
-			  labelPosition: topLeft
-			  translateLabel: true
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (VerticalPanelViewSpec
-				name: 'RepositoryConfigurations'
-				layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-				activeHelpKey: perPackageConfiguration
-				horizontalLayout: fit
-				verticalLayout: bottomFit
-				horizontalSpace: 3
-				verticalSpace: 3
-				component:
-			       (SpecCollection
-				  collection: (
-				   (ViewSpec
-				      name: 'RepositoryConfigurationListBox'
-				      activeHelpKey: perPackageConfiguration
-				      component:
-				     (SpecCollection
-					collection: (
-					 (DataSetSpec
-					    name: 'RepositoryConfigurationList'
-					    layout: (LayoutFrame 0 0 0 0 -85 1 0 1)
-					    enableChannel: useManager
-					    model: selectedManagerPerMatchingModuleHolder
-					    hasHorizontalScrollBar: true
-					    hasVerticalScrollBar: true
-					    dataList: managerPerMatchingModule
-					    columnHolder: managerPerMatchingModuleColumns
-					    beDependentOfRows: true
-					  )
-					 (VerticalPanelViewSpec
-					    name: 'Buttons1'
-					    layout: (LayoutFrame -80 1 0 0 0 1 -22 1)
-					    horizontalLayout: fit
-					    verticalLayout: top
-					    horizontalSpace: 5
-					    verticalSpace: 3
-					    component:
-					   (SpecCollection
-					      collection: (
-					       (ActionButtonSpec
-						  label: 'Add...'
-						  name: 'ButtonAdd'
-						  activeHelpKey: addPerPackageManager
-						  translateLabel: true
-						  model: actionAdd
-						  extent: (Point 80 22)
-						)
-					       (ActionButtonSpec
-						  label: 'Edit...'
-						  name: 'ButtonEdit'
-						  activeHelpKey: editPerPackageManager
-						  translateLabel: true
-						  model: actionEdit
-						  enableChannel: canRemoveManagerPerPackageEntry
-						  extent: (Point 80 22)
-						)
-					       (ActionButtonSpec
-						  label: 'Move Up'
-						  name: 'ButtonModeUp'
-						  activeHelpKey: moveManagerUp
-						  translateLabel: true
-						  model: actionMoveUp
-						  enableChannel: canMoveUp
-						  extent: (Point 80 22)
-						)
-					       (ActionButtonSpec
-						  label: 'Move Down'
-						  name: 'ButtonModeDown'
-						  activeHelpKey: moveManagerDown
-						  translateLabel: true
-						  model: actionMoveDown
-						  enableChannel: canMoveDown
-						  extent: (Point 80 22)
-						)
-					       (LabelSpec
-						  name: 'SpacingLabel'
-						  translateLabel: true
-						  extent: (Point 80 22)
-						)
-					       (ActionButtonSpec
-						  label: 'Remove'
-						  name: 'ButtonRemove'
-						  activeHelpKey: removePerPackageManager
-						  translateLabel: true
-						  model: actionRemove
-						  enableChannel: canRemoveManagerPerPackageEntry
-						  extent: (Point 80 22)
-						)
-					       )
-
-					    )
-					  )
-					 (ActionButtonSpec
-					    label: 'Test'
-					    name: 'Button2'
-					    layout: (LayoutFrame -80 1 -22 1 0 1 0 1)
-					    activeHelpKey: checkPerPackageManager
-					    translateLabel: true
-					    model: actionTest
-					  )
-					 )
-
-				      )
-				      extent: (Point 625 266)
-				    )
-				   )
-
-				)
-			      )
-			     )
-
-			  )
-			  extent: (Point 659 300)
-			)
-		       (FramedBoxSpec
-			  label: 'Source Cache'
-			  name: 'SourceCacheBox'
-			  activeHelpKey: sourceCache
-			  labelPosition: topLeft
-			  translateLabel: true
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (ViewSpec
-				name: 'SourceCacheDirBox'
-				layout: (LayoutFrame 0 0 0 0 0 1 30 0)
-				component:
-			       (SpecCollection
-				  collection: (
-				   (FilenameInputFieldSpec
-				      name: 'FilenameEntryField1'
-				      layout: (LayoutFrame 64 0.25 0 0 0 1 22 0)
-				      enableChannel: useManager
-				      model: sourceCacheDir
-				      immediateAccept: false
-				      acceptOnReturn: true
-				      acceptOnTab: true
-				      acceptOnLostFocus: true
-				      acceptOnPointerLeave: true
-				    )
-				   (LabelSpec
-				      label: 'Source Cache Dir:'
-				      name: 'SourceCacheDirLabel'
-				      layout: (LayoutFrame 0 0.0 0 0 60 0.25 22 0)
-				      translateLabel: true
-				      adjust: right
-				    )
-				   )
-
-				)
-			      )
-			     (HorizontalPanelViewSpec
-				name: 'CacheActionsHorizontalPanel'
-				layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
-				horizontalLayout: right
-				verticalLayout: center
-				horizontalSpace: 3
-				verticalSpace: 3
-				component:
-			       (SpecCollection
-				  collection: (
-				   (ActionButtonSpec
-				      label: 'Browse Cache'
-				      name: 'Button1'
-				      activeHelpKey: browseSourceCache
-				      translateLabel: true
-				      tabable: true
-				      model: browseSourceCache
-				      enableChannel: useManager
-				      extent: (Point 171 22)
-				    )
-				   (ViewSpec
-				      name: 'Box4'
-				      extent: (Point 20 10)
-				    )
-				   (ActionButtonSpec
-				      label: 'Flush Cache now'
-				      name: 'FlushCacheNowButton'
-				      activeHelpKey: flushSourceCache
-				      translateLabel: true
-				      tabable: true
-				      model: flushSourceCache
-				      enableChannel: useManager
-				      extent: (Point 171 22)
-				    )
-				   (ActionButtonSpec
-				      label: 'Condense Cache now'
-				      name: 'CondenseCacheNowButton'
-				      activeHelpKey: condenseSourceCache
-				      translateLabel: true
-				      tabable: true
-				      model: condenseSourceCache
-				      enableChannel: useManager
-				      extent: (Point 171 22)
-				    )
-				   )
-
-				)
-			      )
-			     )
-
-			  )
-			  extent: (Point 659 95)
-			)
-		       (ViewSpec
-			  name: 'UseLocalSourceBox'
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'If Present, Use Local Source (Suppress Checkout)'
-				name: 'CheckBox4'
-				layout: (LayoutFrame 30 0 0 0 -5 1 23 0)
-				activeHelpKey: useLocalSources
-				enableChannel: useManager
-				model: localSourceFirst
-				translateLabel: true
-			      )
-			     )
-
-			  )
-			  extent: (Point 659 22)
-			)
-		       (ViewSpec
-			  name: 'KeepMethodSourceBox'
-			  activeHelpKey: keepMethodSourceInImage
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'Keep Method Source (In Image)'
-				name: 'CheckBox7'
-				layout: (LayoutFrame 30 0 0 0 -5 1 23 0)
-				activeHelpKey: keepMethodSourceInImage
-				enableChannel: useManager
-				model: keepMethodSource
-				translateLabel: true
-			      )
-			     )
-
-			  )
-			  extent: (Point 659 22)
-			)
-		       (ViewSpec
-			  name: 'CheckForHaltSendsBox'
-			  activeHelpKey: checkClassesWhenCheckingIn
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'Check for halt/error-Sends when Checking in'
-				name: 'CheckBox5'
-				layout: (LayoutFrame 30 0 0 0 -5 1 23 0)
-				activeHelpKey: checkClassesWhenCheckingIn
-				enableChannel: useManager
-				model: checkClassesWhenCheckingIn
-				translateLabel: true
-			      )
-			     )
-
-			  )
-			  extent: (Point 659 22)
-			)
-		       (ViewSpec
-			  name: 'VerboseBox'
-			  activeHelpKey: verboseSourceCodeAccess
-			  component:
-			 (SpecCollection
-			    collection: (
-			     (CheckBoxSpec
-				label: 'Verbose (Trace Operations on Transcript)'
-				name: 'CheckBox6'
-				layout: (LayoutFrame 30 0 0 0 -5 1 23 0)
-				activeHelpKey: verboseSourceCodeAccess
-				enableChannel: useManager
-				model: verboseSourceCodeAccess
-				translateLabel: true
-			      )
-			     )
-
-			  )
-			  extent: (Point 659 22)
-			)
-		       )
-
-		    )
-		    extent: (Point 659 768)
-		  )
-		 )
-
-	      )
-	    )
-	   )
-
-	)
+          collection: (
+           (VerticalPanelViewSpec
+              name: 'VerticalPanel2'
+              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+              horizontalLayout: fit
+              verticalLayout: topSpace
+              horizontalSpace: 3
+              verticalSpace: 20
+              component: 
+             (SpecCollection
+                collection: (
+                 (VerticalPanelViewSpec
+                    name: 'VerticalPanel3'
+                    horizontalLayout: fit
+                    verticalLayout: top
+                    horizontalSpace: 3
+                    verticalSpace: 4
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (ViewSpec
+                          name: 'Box3'
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'Sourcecode Management'
+                                name: 'SourcecodeManagementCheckBox'
+                                layout: (LayoutFrame 5 0 5 0.0 256 0 27 0)
+                                activeHelpKey: useManager
+                                model: useManager
+                                translateLabel: true
+                              )
+                             (ComboListSpec
+                                name: 'ComboList1'
+                                layout: (LayoutFrame -151 1 5 0 -5 1 27 0)
+                                activeHelpKey: defaultManagerType
+                                visibilityChannel: moreThanOneManagerTypesAvailable
+                                enableChannel: useManager
+                                model: selectedManagerTypeIndexHolder
+                                comboList: availableManagerTypeNames
+                                useIndex: true
+                              )
+                             (LabelSpec
+                                label: 'Default Repository Type:'
+                                name: 'Label14'
+                                layout: (LayoutFrame -347 1 5 0 -154 1 27 0)
+                                activeHelpKey: defaultManagerType
+                                translateLabel: true
+                                adjust: right
+                              )
+                             )
+                           
+                          )
+                          extent: (Point 659 30)
+                        )
+                       (FramedBoxSpec
+                          label: 'Per Package Settings'
+                          name: 'PerPackageConfiguration'
+                          activeHelpKey: perPackageConfiguration
+                          labelPosition: topLeft
+                          translateLabel: true
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (VerticalPanelViewSpec
+                                name: 'RepositoryConfigurations'
+                                layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+                                activeHelpKey: perPackageConfiguration
+                                horizontalLayout: fit
+                                verticalLayout: bottomFit
+                                horizontalSpace: 3
+                                verticalSpace: 3
+                                component: 
+                               (SpecCollection
+                                  collection: (
+                                   (ViewSpec
+                                      name: 'RepositoryConfigurationListBox'
+                                      activeHelpKey: perPackageConfiguration
+                                      component: 
+                                     (SpecCollection
+                                        collection: (
+                                         (DataSetSpec
+                                            name: 'RepositoryConfigurationList'
+                                            layout: (LayoutFrame 0 0 0 0 -85 1 0 1)
+                                            enableChannel: useManager
+                                            model: selectedManagerPerMatchingModuleHolder
+                                            hasHorizontalScrollBar: true
+                                            hasVerticalScrollBar: true
+                                            dataList: managerPerMatchingModule
+                                            columnHolder: managerPerMatchingModuleColumns
+                                            beDependentOfRows: true
+                                          )
+                                         (VerticalPanelViewSpec
+                                            name: 'Buttons1'
+                                            layout: (LayoutFrame -80 1 0 0 0 1 -22 1)
+                                            horizontalLayout: fit
+                                            verticalLayout: top
+                                            horizontalSpace: 5
+                                            verticalSpace: 3
+                                            component: 
+                                           (SpecCollection
+                                              collection: (
+                                               (ActionButtonSpec
+                                                  label: 'Add...'
+                                                  name: 'ButtonAdd'
+                                                  activeHelpKey: addPerPackageManager
+                                                  translateLabel: true
+                                                  model: actionAdd
+                                                  extent: (Point 80 22)
+                                                )
+                                               (ActionButtonSpec
+                                                  label: 'Edit...'
+                                                  name: 'ButtonEdit'
+                                                  activeHelpKey: editPerPackageManager
+                                                  translateLabel: true
+                                                  model: actionEdit
+                                                  enableChannel: canRemoveManagerPerPackageEntry
+                                                  extent: (Point 80 22)
+                                                )
+                                               (ActionButtonSpec
+                                                  label: 'Move Up'
+                                                  name: 'ButtonModeUp'
+                                                  activeHelpKey: moveManagerUp
+                                                  translateLabel: true
+                                                  model: actionMoveUp
+                                                  enableChannel: canMoveUp
+                                                  extent: (Point 80 22)
+                                                )
+                                               (ActionButtonSpec
+                                                  label: 'Move Down'
+                                                  name: 'ButtonModeDown'
+                                                  activeHelpKey: moveManagerDown
+                                                  translateLabel: true
+                                                  model: actionMoveDown
+                                                  enableChannel: canMoveDown
+                                                  extent: (Point 80 22)
+                                                )
+                                               (LabelSpec
+                                                  name: 'SpacingLabel'
+                                                  translateLabel: true
+                                                  extent: (Point 80 22)
+                                                )
+                                               (ActionButtonSpec
+                                                  label: 'Remove'
+                                                  name: 'ButtonRemove'
+                                                  activeHelpKey: removePerPackageManager
+                                                  translateLabel: true
+                                                  model: actionRemove
+                                                  enableChannel: canRemoveManagerPerPackageEntry
+                                                  extent: (Point 80 22)
+                                                )
+                                               )
+                                             
+                                            )
+                                          )
+                                         (ActionButtonSpec
+                                            label: 'Test'
+                                            name: 'Button2'
+                                            layout: (LayoutFrame -80 1 -22 1 0 1 0 1)
+                                            activeHelpKey: checkPerPackageManager
+                                            translateLabel: true
+                                            model: actionTest
+                                          )
+                                         )
+                                       
+                                      )
+                                      extent: (Point 623 264)
+                                    )
+                                   )
+                                 
+                                )
+                              )
+                             )
+                           
+                          )
+                          extent: (Point 659 300)
+                        )
+                       (FramedBoxSpec
+                          label: 'Source Cache'
+                          name: 'SourceCacheBox'
+                          activeHelpKey: sourceCache
+                          labelPosition: topLeft
+                          translateLabel: true
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (ViewSpec
+                                name: 'SourceCacheDirBox'
+                                layout: (LayoutFrame 0 0 0 0 0 1 30 0)
+                                component: 
+                               (SpecCollection
+                                  collection: (
+                                   (FilenameInputFieldSpec
+                                      name: 'FilenameEntryField1'
+                                      layout: (LayoutFrame 64 0.25 0 0 0 1 22 0)
+                                      enableChannel: useManager
+                                      model: sourceCacheDir
+                                      immediateAccept: false
+                                      acceptOnReturn: true
+                                      acceptOnTab: true
+                                      acceptOnLostFocus: true
+                                      acceptOnPointerLeave: true
+                                    )
+                                   (LabelSpec
+                                      label: 'Source Cache Dir:'
+                                      name: 'SourceCacheDirLabel'
+                                      layout: (LayoutFrame 0 0.0 0 0 60 0.25 22 0)
+                                      translateLabel: true
+                                      adjust: right
+                                    )
+                                   )
+                                 
+                                )
+                              )
+                             (HorizontalPanelViewSpec
+                                name: 'CacheActionsHorizontalPanel1'
+                                layout: (LayoutFrame 0 0 -52 1 0 1 -27 1)
+                                horizontalLayout: right
+                                verticalLayout: center
+                                horizontalSpace: 3
+                                verticalSpace: 3
+                                component: 
+                               (SpecCollection
+                                  collection: (
+                                   (ActionButtonSpec
+                                      label: 'Fill Cache now'
+                                      name: 'FillCacheInBackgroundButton'
+                                      activeHelpKey: fillSourceCache
+                                      translateLabel: true
+                                      tabable: true
+                                      model: fillSourceCache
+                                      enableChannel: useManager
+                                      extent: (Point 171 22)
+                                    )
+                                   )
+                                 
+                                )
+                              )
+                             (HorizontalPanelViewSpec
+                                name: 'CacheActionsHorizontalPanel2'
+                                layout: (LayoutFrame 0 0 -25 1 0 1 0 1)
+                                horizontalLayout: right
+                                verticalLayout: center
+                                horizontalSpace: 3
+                                verticalSpace: 3
+                                component: 
+                               (SpecCollection
+                                  collection: (
+                                   (ActionButtonSpec
+                                      label: 'Browse Cache'
+                                      name: 'Button3'
+                                      activeHelpKey: browseSourceCache
+                                      translateLabel: true
+                                      tabable: true
+                                      model: browseSourceCache
+                                      enableChannel: useManager
+                                      extent: (Point 171 22)
+                                    )
+                                   (ViewSpec
+                                      name: 'Box5'
+                                      extent: (Point 20 10)
+                                    )
+                                   (ActionButtonSpec
+                                      label: 'Flush Cache now'
+                                      name: 'Button4'
+                                      activeHelpKey: flushSourceCache
+                                      translateLabel: true
+                                      tabable: true
+                                      model: flushSourceCache
+                                      enableChannel: useManager
+                                      extent: (Point 171 22)
+                                    )
+                                   (ActionButtonSpec
+                                      label: 'Condense Cache now'
+                                      name: 'Button5'
+                                      activeHelpKey: condenseSourceCache
+                                      translateLabel: true
+                                      tabable: true
+                                      model: condenseSourceCache
+                                      enableChannel: useManager
+                                      extent: (Point 171 22)
+                                    )
+                                   )
+                                 
+                                )
+                              )
+                             )
+                           
+                          )
+                          extent: (Point 659 117)
+                        )
+                       (ViewSpec
+                          name: 'UseLocalSourceBox'
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'If Present, Use Local Source (Suppress Checkout)'
+                                name: 'CheckBox4'
+                                layout: (LayoutFrame 30 0 0 0 -5 1 23 0)
+                                activeHelpKey: useLocalSources
+                                enableChannel: useManager
+                                model: localSourceFirst
+                                translateLabel: true
+                              )
+                             )
+                           
+                          )
+                          extent: (Point 659 22)
+                        )
+                       (ViewSpec
+                          name: 'KeepMethodSourceBox'
+                          activeHelpKey: keepMethodSourceInImage
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'Keep Method Source (In Image)'
+                                name: 'CheckBox7'
+                                layout: (LayoutFrame 30 0 0 0 -5 1 23 0)
+                                activeHelpKey: keepMethodSourceInImage
+                                enableChannel: useManager
+                                model: keepMethodSource
+                                translateLabel: true
+                              )
+                             )
+                           
+                          )
+                          extent: (Point 659 22)
+                        )
+                       (ViewSpec
+                          name: 'CheckForHaltSendsBox'
+                          activeHelpKey: checkClassesWhenCheckingIn
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'Check for halt/error-Sends when Checking in'
+                                name: 'CheckBox5'
+                                layout: (LayoutFrame 30 0 0 0 -5 1 23 0)
+                                activeHelpKey: checkClassesWhenCheckingIn
+                                enableChannel: useManager
+                                model: checkClassesWhenCheckingIn
+                                translateLabel: true
+                              )
+                             )
+                           
+                          )
+                          extent: (Point 659 22)
+                        )
+                       (ViewSpec
+                          name: 'VerboseBox'
+                          activeHelpKey: verboseSourceCodeAccess
+                          component: 
+                         (SpecCollection
+                            collection: (
+                             (CheckBoxSpec
+                                label: 'Verbose (Trace Operations on Transcript)'
+                                name: 'CheckBox6'
+                                layout: (LayoutFrame 30 0 0 0 -5 1 23 0)
+                                activeHelpKey: verboseSourceCodeAccess
+                                enableChannel: useManager
+                                model: verboseSourceCodeAccess
+                                translateLabel: true
+                              )
+                             )
+                           
+                          )
+                          extent: (Point 659 22)
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 659 768)
+                  )
+                 )
+               
+              )
+            )
+           )
+         
+        )
       )
 ! !
 
@@ -14414,6 +14439,26 @@
     "Modified: / 28-11-2006 / 12:21:33 / cg"
 !
 
+fillSourceCache
+    |p|
+
+    FillCacheProcess notNil ifTrue:[
+        FillCacheProcess terminate
+    ].
+    FillCacheProcess := p :=
+        [
+            [
+                Smalltalk allClasses do:[:eachClass |
+                    eachClass source
+                ]
+            ] ensure:[
+                (FillCacheProcess == p) ifTrue:[
+                    FillCacheProcess := nil
+                ]
+            ].
+        ] forkAt:(Processor systemBackgroundPriority)
+!
+
 flushSourceCache
     self withWaitCursorDo:[ AbstractSourceCodeManager flushSourceCache ].
 
@@ -18548,11 +18593,11 @@
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.468 2013-05-29 13:20:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.469 2013-06-06 20:37:07 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.468 2013-05-29 13:20:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.469 2013-06-06 20:37:07 cg Exp $'
 !
 
 version_HG
--- a/BrowserView.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/BrowserView.st	Wed Jun 12 16:47:06 2013 +0100
@@ -3935,7 +3935,7 @@
     ].
 
     self doClassMenu:[:currentClass |
-        |m s cls aStream isComment src highlighter|
+        |m commentOrNil cls aStream isComment src highlighter|
 
         aStream := TextStream on:(String new:200).
 
@@ -3967,36 +3967,21 @@
                 "
                  add documentation as a comment, if there is any
                 "
-                m := cls theMetaclass compiledMethodAt:#documentation.
-                m notNil ifTrue:[
-                    s := m comment.
-                    isComment := false.
-                ] ifFalse:[
-                    "try comment"
-                    s := cls comment.
-                    s isString ifTrue:[
-                        s isEmpty ifTrue:[
-                            s := nil
-                        ] ifFalse:[
-                            (s includes:$") ifTrue:[
-                                s := s copyReplaceAll:$" with:$'.
-                            ].
-                            isComment := true
-                        ]
-                    ] ifFalse:[
-                        "/ class redefines comment ?
-                        s := nil
-                    ]
+                commentOrNil := cls commentOrDocumentationString.
+                isComment := (commentOrNil = cls comment).
+
+                commentOrNil notNil ifTrue:[
+                    commentOrNil := commentOrNil asStringCollection withoutLeadingBlankLines asString
                 ].
             ].
             cls isJavaClass ifFalse:[
                 aStream cr; cr; cr; cr; cr.
                 aStream emphasis:(UserPreferences current commentEmphasisAndColor).
-                s isNil ifTrue:[
+                commentOrNil isNil ifTrue:[
                     aStream nextPut:$" ; cr; nextPutLine:' no comment or documentation method found'.
                 ] ifFalse:[
                     aStream nextPut:$" ; cr; nextPutLine:' Documentation:'.
-                    aStream cr; nextPutLine:s; cr.
+                    aStream cr; nextPutLine:commentOrNil; cr.
                     aStream nextPutLine:' Notice: '.
                     aStream nextPutAll:'   the above text has been extracted from the classes '.
                     aStream nextPutLine:(isComment ifTrue:['comment.'] ifFalse:['documentation method.']).
@@ -14550,7 +14535,7 @@
 !BrowserView class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.845 2013-05-07 15:29:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.846 2013-06-07 12:22:13 cg Exp $'
 !
 
 version_HG
--- a/ChangesBrowser.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/ChangesBrowser.st	Wed Jun 12 16:47:06 2013 +0100
@@ -3176,7 +3176,7 @@
 !
 
 currentSourceForParseTree:parseTree
-    |selector thisClass method mClass superClass thisClassSym ownerClass receiver classGlobalNode|
+    |selector thisClass method mClass thisClassSym ownerClass receiver classGlobalNode|
 
     (parseTree isNil
     or:[parseTree == #Error
@@ -4726,8 +4726,8 @@
                                     ] ifFalse:[
                                         outcome := 'InstanceVariable definition is different'.
                                         isSame := false.
-                                        addedVars := varsInChange select:[:eachVar | (varsHere includes:eachVar) not].
-                                        removedVars := varsHere select:[:eachVar | (varsInChange includes:eachVar) not].
+                                        addedVars := varsInChange reject:[:eachVar | (varsHere includes:eachVar)].
+                                        removedVars := varsHere reject:[:eachVar | (varsInChange includes:eachVar)].
                                         addedVars isEmpty ifTrue:[
                                             removedVars isEmpty ifTrue:[
                                                 outcome := 'Change reorders instanceVariable(s)'.
@@ -6536,11 +6536,11 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.440 2013-05-01 16:50:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.442 2013-06-05 13:22:32 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.440 2013-05-01 16:50:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.442 2013-06-05 13:22:32 stefan Exp $'
 !
 
 version_HG
--- a/CodeGeneratorTool.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/CodeGeneratorTool.st	Wed Jun 12 16:47:06 2013 +0100
@@ -250,6 +250,12 @@
     ^ self new createAcceptVisitorMethodIn:aClass
 !
 
+createAspectMethodFor:anAspectSymbol in:aClass
+    "create an aspect method."
+
+    ^ self new createAspectMethodFor:anAspectSymbol in:aClass
+!
+
 createCopyrightMethodFor:aClass
     "add copyright method containing your/your companies
      copyright template but only if not already present.
@@ -1351,6 +1357,12 @@
     self subclassResponsibility
 !
 
+createAspectMethodFor:anAspectSymbol in:aClass
+    "create an aspect method."
+
+    self subclassResponsibility
+!
+
 createCopyrightMethodFor:aClass
     "add copyright method containing your/your companies
      copyright template but only if not already present.
@@ -1696,11 +1708,11 @@
 !CodeGeneratorTool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/CodeGeneratorTool.st,v 1.100 2012-10-15 20:17:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/CodeGeneratorTool.st,v 1.101 2013-06-07 12:05:11 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/CodeGeneratorTool.st,v 1.100 2012-10-15 20:17:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/CodeGeneratorTool.st,v 1.101 2013-06-07 12:05:11 cg Exp $'
 !
 
 version_HG
--- a/DebugView.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/DebugView.st	Wed Jun 12 16:47:06 2013 +0100
@@ -12,52 +12,52 @@
 "{ Package: 'stx:libtool' }"
 
 StandardSystemView subclass:#DebugView
-        instanceVariableNames:'busy haveControl exitAction canContinue contextView codeView
-                receiverInspector contextInspector contextArray selectedContext
-                catchBlock grabber mayProceed traceView tracing bigStep
-                skipLineNr steppedContextAddress abortButton terminateButton
-                continueButton stepButton nextButton nextOverButton nextOutButton
-                sendButton returnButton restartButton exclusive inspecting
-                nChainShown inspectedProcess updateProcess stopButton
-                updateButton defineButton monitorToggle stepping
-                steppedContextLineno stepForReturn actualContext inWrap
-                stackInspector steppedContext wrapperContext verboseBacktrace
-                firstContext stepHow cachable currentMethod ignoreBreakpoints
-                stepUntilEntering lastStepUntilEntering
-                lastSelectionInReceiverInspector lastSelectionInContextInspector
-                canShowMore exitAbort reportButton setOfHiddenCallingSelectors
-                isStoppedAtHaltOrBreakPoint exceptionInfoLabel methodCodeToggle
-                methodCodeToggleSelectionHolder
-                isStoppedAtBreakPointWithParameter breakPointParameter
-                hideSupportCode contextInfoLabel'
-        classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
-                DebuggingDebugger DebuggingDebugger2
-                DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts
-                ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration
-                LastExtent LastOrigin RememberedCallChain DebuggingDebugger3'
-        poolDictionaries:''
-        category:'Interface-Debugger'
+	instanceVariableNames:'busy haveControl exitAction canContinue contextView codeView
+		receiverInspector contextInspector contextArray selectedContext
+		catchBlock grabber mayProceed traceView tracing bigStep
+		skipLineNr steppedContextAddress abortButton terminateButton
+		continueButton stepButton nextButton nextOverButton nextOutButton
+		sendButton returnButton restartButton exclusive inspecting
+		nChainShown inspectedProcess updateProcess stopButton
+		updateButton defineButton monitorToggle stepping
+		steppedContextLineno stepForReturn actualContext inWrap
+		stackInspector steppedContext wrapperContext verboseBacktrace
+		firstContext stepHow cachable currentMethod ignoreBreakpoints
+		stepUntilEntering lastStepUntilEntering
+		lastSelectionInReceiverInspector lastSelectionInContextInspector
+		canShowMore exitAbort reportButton setOfHiddenCallingSelectors
+		isStoppedAtHaltOrBreakPoint exceptionInfoLabel methodCodeToggle
+		methodCodeToggleSelectionHolder
+		isStoppedAtBreakPointWithParameter breakPointParameter
+		hideSupportCode contextInfoLabel'
+	classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail
+		DebuggingDebugger DebuggingDebugger2
+		DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts
+		ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration
+		LastExtent LastOrigin RememberedCallChain DebuggingDebugger3'
+	poolDictionaries:''
+	category:'Interface-Debugger'
 !
 
 Object subclass:#IgnoredHaltOrBreakpoint
-        instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:DebugView
+	instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:DebugView
 !
 
 DebugView::IgnoredHaltOrBreakpoint subclass:#IgnoredHalt
-        instanceVariableNames:'weakMethodHolder lineNumber'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:DebugView
+	instanceVariableNames:'weakMethodHolder lineNumber'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:DebugView
 !
 
 DebugView::IgnoredHaltOrBreakpoint subclass:#IgnoredBreakpoint
-        instanceVariableNames:'parameter'
-        classVariableNames:''
-        poolDictionaries:''
-        privateIn:DebugView
+	instanceVariableNames:'parameter'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:DebugView
 !
 
 !DebugView class methodsFor:'documentation'!
@@ -81,23 +81,23 @@
     This class implements a graphical debugger interface.
     The debugger usually sits on top of the faulting process,
     taking over its event processing.
+
     (this is different from other Smalltalk debuggers, which control
      the debuggee as a separate process. Consider this an historic
      leftover - the debugger was one of the first applications written for
-     ST/X; however, why should we change it without a particular need ...).
+     ST/X.
+     The whole setup might be changed, once the required process primitives
+     are available, which allow control of another processes execution
+     (i.e. single-step, restart & return). The setup will be changed then,
+     to have the debugger control the debuggee (i.e. two processes)
+     however, why should we change it without a particular need...).
 
     Only the 'stopped' debugged process is affected;
     other processes continue to respond to events.
-
-    The one exception is when an error occurs within the dispatcher process
-    or in one of the eventhandler processes - in this case, the debugger
+    The one exception to this is when an error occurs within the dispatcher process
+    or in one of the eventhandler processes. In this case, the debugger
     will sit on an exclusive display connection.
 
-    The whole debugging will be changed, once the required process primitives
-    are available, which allow control of another processes execution
-    (i.e. single-step, restart & return). The setup will be changed then,
-    to have the debugger control the debuggee (i.e. two processes)
-
     See additional information in 'doc/misc/debugger.doc'.
 
     Notice & Warning:
@@ -107,9 +107,9 @@
         In this case, close (or destroy) the broken debugView, and execute
             Debugger newDebugger
         which removes the cached debugger and forces creation of a new one the next time. 
-        This is a temporary workaround - the debugger will be fixed to avoid this problem.
-
-        You also have to remove the cached debugger, if you change the debugger's
+        This is a temporary workaround - the debugger should be fixed to avoid this situation.
+
+        You must also flush the cached debugger, if you change the debugger's
         initialization code (buttons, menu, etc.) or the debugger's class layout,
         and you want the new code to become effective.
 
@@ -810,8 +810,8 @@
 
 
     "
-     MenuEditor new openOnClass:DebugView andSelector:#classMenuSpec
-     (Menu new fromLiteralArrayEncoding:(DebugView classMenuSpec)) startUp
+     MenuEditor new openOnClass:DebugView andSelector:#receiverMenuSpec
+     (Menu new fromLiteralArrayEncoding:(DebugView receiverMenuSpec)) startUp
     "
 
     <resource: #menu>
@@ -826,21 +826,26 @@
           )
          (MenuItem
             enabled: canBrowseReceiversClass
-            label: 'Browse Receivers Class'
+            label: 'Browse Receiver''s Class'
             itemValue: browseReceiversClass
           )
          (MenuItem
+            enabled: canBrowseProcessesApplication
+            label: 'Browse Application Class'
+            itemValue: browseProcessesApplication
+          )
+         (MenuItem
             label: '-'
           )
          (MenuItem
             enabled: canBrowseClassHierarchy
-            label: 'Browse Receivers Class Hierarchy'
+            label: 'Browse Receiver''s Class Hierarchy'
             itemValue: browseClassHierarchy
             isVisible: false
           )
          (MenuItem
             enabled: canBrowseFullClassProtocol
-            label: 'Browse Receivers Full Protocol'
+            label: 'Browse Receiver''s Full Protocol'
             itemValue: browseFullClassProtocol
             isVisible: false
           )
@@ -849,9 +854,9 @@
             isVisible: false
           )
          (MenuItem
-            enabled: canBrowseProcessesApplication
-            label: 'Browse Application Class'
-            itemValue: browseProcessesApplication
+            enabled: canInspectWidgetHierarchy
+            label: 'Inspect Widget Hierarchy'
+            itemValue: inspectWidgetHierarchy
           )
          )
         nil
@@ -1051,7 +1056,7 @@
             submenuChannel: contextMenuSpec
           )
          (MenuItem
-            label: 'Class'
+            label: 'Receiver'
             submenuChannel: classMenuSpec
           )
          (MenuItem
@@ -1107,12 +1112,16 @@
             label: '-'
           )
          (MenuItem
-            label: 'Change Priority...'
-            itemValue: doChangeProcessPriority
+            label: 'Skip to Cursor Line'
+            itemValue: skip
           )
          (MenuItem
-            label: 'Inspect'
-            itemValue: doInspectProcess
+            label: 'Step Out (Skip until Return)'
+            itemValue: skipForReturn
+          )
+         (MenuItem
+            label: 'Skip until Entering...'
+            itemValue: skipUntilEntering
           )
          (MenuItem
             label: '-'
@@ -1130,9 +1139,25 @@
             label: '-'
           )
          (MenuItem
+            label: 'Inspect'
+            itemValue: doInspectProcess
+          )
+         (MenuItem
+            label: 'Change Priority...'
+            itemValue: doChangeProcessPriority
+          )
+         (MenuItem
+            label: '-'
+          )
+         (MenuItem
             label: 'Terminate'
             itemValue: doTerminate
           )
+         (MenuItem
+            label: 'Hard Terminate (Danger)'
+            itemValue: quickTerminate
+            isVisible: false
+          )
          )
         nil
         nil
@@ -1256,6 +1281,7 @@
 
     |someContexts con idx|
 
+    "/ fetch some contexts...
     someContexts := Array new:25.
     con := aContext.
     idx := 1.
@@ -1264,6 +1290,7 @@
         con := con sender.
         idx := idx + 1.
     ].
+    "/ search...
     idx := self interestingContextIndexIn:someContexts.
     ^ someContexts at:idx.
 !
@@ -1275,7 +1302,7 @@
      and Exception contexts, to present the context in which the error actually occured.
      Just for your convenience :-)"
 
-    |con found offset sel prev ex rcvr nMax idx|
+    |con found offset sel prev rcvr nMax idx|
 
 "/ Transcript showCR:aContextArray.
 
@@ -1288,35 +1315,31 @@
     "/ somewhere, at the bottom, there must be a raise ...
     "/ find the exception
     1 to:5 do:[:i |
-        con := aContextArray at:i ifAbsent:nil.
-        con notNil ifTrue:[
-            sel := con selector ? ''.
-            (sel startsWith:'raise') ifTrue:[
-                rcvr := con receiver.
-                (rcvr isLazyValue not and:[rcvr isException]) ifTrue:[
-                    ex := rcvr.
+        found isNil ifTrue:[
+            con := aContextArray at:i ifAbsent:nil.
+            con notNil ifTrue:[
+                sel := con selector ? ''.
+                ((sel startsWith:'raise') 
+                and:[ ((rcvr := con receiver) isLazyValue not) 
+                and:[ rcvr isExceptionCreator]]) ifTrue:[
                     offset := i.
-                    found := con
-                ] ifFalse:[
-                    (rcvr isLazyValue not and:[rcvr isExceptionCreator]) ifTrue:[
-                        offset := i.
-                        found := con
-                    ]
-                ]
+                    found := con.
+
+                    "/ if this is a noHandler exception, 
+                    "/ skip forward to the erronous context
+                    (rcvr isException) ifTrue:[
+                        rcvr creator == Signal noHandlerSignal ifTrue:[
+                            found := rcvr suspendedContext.
+                            offset := aContextArray identityIndexOf:found.
+                        ]
+                    ].
+                ].
             ].
         ].
     ].
 "/ Transcript showCR:con.
-    "
-     if this is a noHandler exception, skip forward
-     to the erronous context
-    "
-    ex notNil ifTrue:[
-        ex creator == Signal noHandlerSignal ifTrue:[
-            found := ex suspendedContext
-        ]
-    ].
 "/ Transcript show:'1 '; showCR:found.
+
     found isNil ifTrue:[
         "/ this is a kludge, but convenient.
         "/ show the place where the error (divisionByZero...) happend,
@@ -2289,7 +2312,7 @@
         s := 'Abort (unwind to eventLoop)'
     ].
     aComponent == terminateButton ifTrue:[
-        s := 'Terminate process (close view)'
+        s := 'Terminate the process (close view)'
     ].
     aComponent == continueButton ifTrue:[
         continueButton label = (resources string:'Stop') ifTrue:[
@@ -2299,10 +2322,10 @@
         ]
     ].
     aComponent == stepButton ifTrue:[
-        s := 'Step to next send (don''t enter into called methods)'
+        s := 'Step to next send in selected context (don''t enter into called methods)'
     ].
     aComponent == nextButton ifTrue:[
-        s := 'Step to next line (don''t enter into called methods)'
+        s := 'Step to next line in selected context (don''t enter into called methods)'
     ].
     aComponent == nextOverButton ifTrue:[
         s := 'Step over to cursor-line'
@@ -4134,14 +4157,16 @@
 
 copyWalkbackText
     "place the contents of the walkback view into the copy-paste buffer.
-     This allows pasting it into some other view for printing ..."
+     This allows pasting it into some other view for printing.
+
+     Show the full verbose context without filtering."
 
     |infoText|
 
-    contextArray isEmptyOrNil ifTrue:[
+    firstContext isNil ifTrue:[
         infoText := 'No context, no walkback'.
     ] ifFalse:[
-        infoText := (contextArray collect:[:con | con fullPrintString]) asStringCollection.
+        infoText := firstContext fullPrintAllString asStringCollection.
     ].
 
     self setClipboardText:infoText
@@ -4862,6 +4887,24 @@
     "Modified: / 17-07-2012 / 12:52:34 / cg"
 !
 
+inspectWidgetHierarchy
+    |rcvr view|
+
+    selectedContext isNil ifTrue:[ ^ self ].
+    Tools::ViewTreeInspectorApplication isNil ifTrue:[
+        Dialog warn:'Missing class: Tools::ViewTreeInspectorApplication'.
+        ^ self.
+    ].
+
+    rcvr := selectedContext receiver.
+    rcvr isView ifTrue:[
+        view := rcvr
+    ] ifFalse:[
+        view := rcvr window
+    ].
+    Tools::ViewTreeInspectorApplication openOn:view
+!
+
 middleButtonMenu
     <resource: #programMenu >
 
@@ -4898,18 +4941,18 @@
 "
                     ('Add Breakpoint'                   addBreakpoint           )
                     ('Remove Breakpoint'                removeBreakpoint        )
-                    ('Remove all Break- && Tracepoints'  removeAllBreakpoints    )
+                    ('Remove all Break- & Tracepoints'  removeAllBreakpoints    )
                 ).
 
-        self allowBreakPointsInDebugger ifFalse:[
-            items := items , #(
-                        ('Allow Breakpoints && halt in Debugger'      doNotIgnoreBreakpoints  )
-                    ).
-        ] ifTrue:[
-            items := items , #(
-                        ('Ignore Breakpoints && halt in Debugger'     doIgnoreBreakpoints  )
-                    ).
-        ].
+"/        self allowBreakPointsInDebugger ifFalse:[
+"/            items := items , #(
+"/                        ('Allow Breakpoints & halt in Debugger'      doNotIgnoreBreakpoints  )
+"/                    ).
+"/        ] ifTrue:[
+"/            items := items , #(
+"/                        ('Ignore Breakpoints & halt in Debugger'     doIgnoreBreakpoints  )
+"/                    ).
+"/        ].
 
         items := items , #(
                     ('-'                                                        )
@@ -4929,7 +4972,7 @@
     items := items , #(
                 ('Copy WalkBack Text'               copyWalkbackText        )
                 ('-'                                                        )
-                ('QuickTerminate'                   quickTerminate          )
+                ('Hard Terminate (Danger)'          quickTerminate          )
                 ('='                                                        )).
 
     nameOfExecutable := OperatingSystem nameOfSTXExecutable asFilename withoutSuffix baseName.
@@ -5963,6 +6006,14 @@
     ^ defineButton isVisible
 !
 
+canInspectWidgetHierarchy
+    |rcvr|
+
+    ^ selectedContext notNil
+    and:[ (rcvr := selectedContext receiver) isView
+          or:[ rcvr isKindOf: ApplicationModel ]]
+!
+
 canRestart
     ^ restartButton isEnabled
 
@@ -7839,8 +7890,8 @@
                         ]
                     ]
                 ].
-                contextInspector fieldListLabel:('Context: ', method whoString).
                 method notNil ifTrue:[
+                    contextInspector fieldListLabel:(method whoString).
                     Error handle:[:ex |
 "/ not covered by Error, anyway
 "/                        ex signal isControlInterrupt ifTrue:[
@@ -7879,6 +7930,7 @@
                         ]
                     ].
                 ] ifFalse:[
+                    contextInspector fieldListLabel:'Context'.
                     homeContext isNil ifTrue:[
                         errMsg := '** sorry; cannot show code of all optimized blocks (yet) **'.
                     ] ifFalse:[
@@ -8327,11 +8379,11 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.590 2013-06-07 13:30:56 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.590 2013-06-07 13:30:56 stefan Exp $'
 !
 
 version_HG
@@ -8340,7 +8392,7 @@
 !
 
 version_SVN
-    ^ '$Id: DebugView.st,v 1.586 2013-06-03 11:29:13 cg Exp $'
+    ^ '$Id: DebugView.st,v 1.590 2013-06-07 13:30:56 stefan Exp $'
 ! !
 
 
--- a/DictionaryInspectorView.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/DictionaryInspectorView.st	Wed Jun 12 16:47:06 2013 +0100
@@ -44,7 +44,6 @@
 "
 ! !
 
-
 !DictionaryInspectorView methodsFor:'event handling'!
 
 keyPress:key x:x y:y
@@ -64,7 +63,6 @@
     super keyPress:key x:x y:y
 ! !
 
-
 !DictionaryInspectorView methodsFor:'initialization & release'!
 
 initialize
@@ -80,7 +78,6 @@
     hideNilValues := false.
 ! !
 
-
 !DictionaryInspectorView methodsFor:'menu'!
 
 fieldMenu
@@ -190,6 +187,17 @@
                    ).
     ].
 
+    (hasMore) ifTrue:[
+        items := items , #(                                  
+                      ('-')
+                      ('Show More'                   showMore               )
+                   ).
+        (inspectedObject size > (nShown * 2)) ifTrue:[
+            items := items , #(
+                        ('Show All'                     #showAll                )
+                          )
+        ].
+    ].
     monitorProcess isNil ifTrue:[
         items := items , #(
                        ('-')
@@ -240,7 +248,6 @@
     "Modified: / 26-09-2012 / 13:20:59 / cg"
 ! !
 
-
 !DictionaryInspectorView methodsFor:'menu actions'!
 
 browse
@@ -294,6 +301,8 @@
     self reinspect
 !
 
+
+
 doHideLiteralValues
     hideLiteralValues := true.
     self reinspect
@@ -304,6 +313,8 @@
     self reinspect
 !
 
+
+
 doHideUnloadedClasses
     hideUnloadedClasses := true.
     self reinspect
@@ -357,6 +368,8 @@
     self reinspect
 !
 
+
+
 doShowLiteralValues
     hideLiteralValues := false.
     self reinspect
@@ -367,6 +380,8 @@
     self reinspect
 !
 
+
+
 doShowUnloadedClasses
     hideUnloadedClasses := false.
     self reinspect
@@ -393,7 +408,6 @@
     ObjectMemory displayRefChainTo:(self selectedKey)
 ! !
 
-
 !DictionaryInspectorView methodsFor:'private'!
 
 allNumericKeys
@@ -600,6 +614,10 @@
     ^ super namedFieldList
 !
 
+numIndexedFields
+    ^ inspectedObject size
+!
+
 release 
     "release inspected object"
 
@@ -655,7 +673,6 @@
     ].
 ! !
 
-
 !DictionaryInspectorView methodsFor:'user interaction'!
 
 indexedValueAtIndex:idx
@@ -673,15 +690,14 @@
     inspectedObject at:key put:newValue.
 ! !
 
-
 !DictionaryInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.79 2013-03-31 09:58:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.81 2013-06-04 13:02:55 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.79 2013-03-31 09:58:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DictionaryInspectorView.st,v 1.81 2013-06-04 13:02:55 cg Exp $'
 !
 
 version_HG
--- a/DirectoryContentsBrowser.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/DirectoryContentsBrowser.st	Wed Jun 12 16:47:06 2013 +0100
@@ -72,7 +72,6 @@
 "
 ! !
 
-
 !DirectoryContentsBrowser class methodsFor:'instance creation'!
 
 openIn:aDirectory
@@ -103,7 +102,6 @@
     "
 ! !
 
-
 !DirectoryContentsBrowser class methodsFor:'classAccess'!
 
 itemClass
@@ -116,7 +114,6 @@
 "
 ! !
 
-
 !DirectoryContentsBrowser class methodsFor:'constant'!
 
 updateTaskCyleTime
@@ -134,7 +131,6 @@
     ^ 8
 ! !
 
-
 !DirectoryContentsBrowser class methodsFor:'image specs'!
 
 detailsMenuIconDown
@@ -169,7 +165,6 @@
     ^ DataSetLabel sortIndicator
 ! !
 
-
 !DirectoryContentsBrowser class methodsFor:'interface specs'!
 
 tableColumns
@@ -471,7 +466,6 @@
       )
 ! !
 
-
 !DirectoryContentsBrowser class methodsFor:'menu specs'!
 
 directoryContentsBrowserMenu
@@ -850,7 +844,6 @@
       )
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'accessing'!
 
 allItems
@@ -1058,7 +1051,6 @@
     ^ updateContentsSelection
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'actions'!
 
 browserItemListAdd:addItemCol remove:remItemCol
@@ -1260,7 +1252,6 @@
     self startDiskUsageInfoProcess.
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'aspects'!
 
 browserItemList
@@ -1327,7 +1318,6 @@
     ^ self viewTime
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'aspects-visibility'!
 
 colVisibilityAspectFor:aKey ifAbsent:absentBlock
@@ -1425,7 +1415,6 @@
     ^ self colVisibilityAspectFor:#viewType ifAbsent:[ false asValue ].
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'change & update'!
 
 currentFileNameHolderChanged
@@ -1642,7 +1631,6 @@
     "Modified: / 27-03-2007 / 08:46:28 / cg"
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'drag & drop'!
 
 doStartDrag:aDropSource in:aView
@@ -1777,7 +1765,6 @@
                  )
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'event handling'!
 
 processEvent:anEvent
@@ -1849,7 +1836,6 @@
     "Modified: / 25-07-2006 / 09:08:16 / cg"
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'initialization'!
 
 initialize
@@ -1867,7 +1853,6 @@
     "Modified: / 07-01-2012 / 16:34:25 / cg"
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'menu accessing'!
 
 viewBrowserMenu
@@ -1887,7 +1872,6 @@
     ^ menu
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'menu actions'!
 
 doShowFileContents
@@ -1910,7 +1894,6 @@
     ].
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'queries'!
 
 allItemsOfCurrentDirectory
@@ -1939,7 +1922,6 @@
     ^ self allItems size ~~ browserItemList size
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'selection'!
 
 selectAll
@@ -1957,7 +1939,7 @@
 
     |currentSelection|
 
-    ((currentSelection := self currentSelectedObjects select:[:file| file isDirectory not]) notEmpty) ifTrue:[
+    ((currentSelection := self currentSelectedObjects reject:[:file| file isDirectory]) notEmpty) ifTrue:[
         self selectFiles:currentSelection.
     ].
 
@@ -2009,7 +1991,7 @@
 
     | sel |
 
-    sel := self selectedItemsWithoutDotDotDirectory select:[:item | item isDirectory not].
+    sel := self selectedItemsWithoutDotDotDirectory reject:[:item | item isDirectory].
     ^ sel
 !
 
@@ -2050,7 +2032,6 @@
     ^ selection.
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'startup & release'!
 
 makeDependent
@@ -2101,7 +2082,6 @@
     ^ super releaseAsSubCanvas.
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'update columns cycle'!
 
 findNextItemFor:aConditionBlock
@@ -2374,7 +2354,6 @@
     "Modified: / 20-03-2012 / 13:05:28 / cg"
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'update task'!
 
 createItemList
@@ -2733,7 +2712,6 @@
     "Modified: / 20-03-2012 / 13:07:22 / cg"
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'update task trigger'!
 
 wakeUp
@@ -2775,7 +2753,6 @@
     self wakeUp.
 ! !
 
-
 !DirectoryContentsBrowser methodsFor:'update task-disk usage'!
 
 diskUsageInKiloBytesFor:aDirectory
@@ -2921,7 +2898,6 @@
         ] fork.
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem class methodsFor:'instance creation'!
 
 fileName:aFilename 
@@ -2954,7 +2930,6 @@
     ^ instance
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'accessing'!
 
 fileInfo:something
@@ -3145,7 +3120,6 @@
 
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'actions'!
 
 resetImageFile
@@ -3170,7 +3144,6 @@
     mimeType := nil.
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'change queries'!
 
 hasBeenModified
@@ -3200,7 +3173,6 @@
     ^ false
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'comparing'!
 
 = anItem
@@ -3215,7 +3187,6 @@
     ^ fileName hash
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'presentation'!
 
 baseName
@@ -3420,7 +3391,6 @@
     ^ modTime printStringFormat:format.
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'printing'!
 
 printOn:aStream
@@ -3431,7 +3401,6 @@
         nextPut:$]. 
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'private'!
 
 getFileInfo
@@ -3445,7 +3414,6 @@
     ^ fileInfo
 ! !
 
-
 !DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'queries'!
 
 beRemoteDirectory
@@ -3480,15 +3448,14 @@
     ^ mimeTypeForContents
 ! !
 
-
 !DirectoryContentsBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.254 2013-02-20 15:24:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.256 2013-06-04 10:14:08 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.254 2013-02-20 15:24:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.256 2013-06-04 10:14:08 cg Exp $'
 !
 
 version_HG
--- a/FileApplicationNoteBook.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/FileApplicationNoteBook.st	Wed Jun 12 16:47:06 2013 +0100
@@ -125,7 +125,6 @@
 "
 ! !
 
-
 !FileApplicationNoteBook class methodsFor:'application list'!
 
 applicationList
@@ -178,7 +177,6 @@
     ^ aApplicationListItem at:2
 ! !
 
-
 !FileApplicationNoteBook class methodsFor:'classAccess'!
 
 textEditorClass
@@ -186,7 +184,6 @@
     ^ TextEditor
 ! !
 
-
 !FileApplicationNoteBook class methodsFor:'defaults'!
 
 openAnotherApplicationOnSameItem
@@ -194,7 +191,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook class methodsFor:'interface specs'!
 
 windowSpec
@@ -242,7 +238,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook class methodsFor:'menu specs'!
 
 tabMenu
@@ -311,7 +306,6 @@
     "Modified: / 27-03-2007 / 11:13:52 / cg"
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'accessing'!
 
 listOfApplications
@@ -336,7 +330,6 @@
     selectionHistoryList := aCol 
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'accessing-applications'!
 
 getAllApplicationsByClass:aClass andType:aType
@@ -378,7 +371,6 @@
         ].
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'actions-app-common'!
 
 changeItem:anItem for:anAppl
@@ -724,7 +716,7 @@
             ].
         ] ifFalse:[
             "/ keep in same application change the first application of the same class and type - if item not changed otherwise open new
-            sameAppls := sameAppls select:[:appl | appl isModified not ].
+            sameAppls := sameAppls reject:[:appl | appl isModified ].
         ].
     ].
     sameAppls size ~~ 0 ifTrue:[
@@ -753,7 +745,6 @@
     "Modified (format): / 29-11-2011 / 19:07:57 / cg"
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'actions-app-spec'!
 
 addTerminalIn:aDirectory
@@ -892,14 +883,12 @@
             preSetItem:[:aTextEditor | aTextEditor presentation:#hexDump].
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'applicationlist access'!
 
 applicationList
     ^ self class applicationList
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'aspects'!
 
 canvasHolder
@@ -1025,7 +1014,6 @@
     tabList := aValue.
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'change & update'!
 
 canvasChanged
@@ -1113,7 +1101,6 @@
     ^ self.
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'menu & actions'!
 
 destroyTabAt:idx
@@ -1137,7 +1124,6 @@
     "Modified: / 27-03-2007 / 10:57:25 / cg"
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'queries'!
 
 getSameFilesModifiedFor:aAppl
@@ -1156,7 +1142,6 @@
     ^ colOfChanged
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'selection'!
 
 currentTabMenusApplication
@@ -1194,7 +1179,6 @@
     ^ canvas application.
 ! !
 
-
 !FileApplicationNoteBook methodsFor:'startup & release'!
 
 closeRequest
@@ -1244,7 +1228,6 @@
     ^ true
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -1255,7 +1238,6 @@
     "Modified: / 01-03-2007 / 21:43:13 / cg"
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -1318,7 +1300,6 @@
 )
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'image specs'!
 
 extract28x28Icon
@@ -1400,7 +1381,6 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 8 4 8 105 133 190 121 133 157 129 129 129 194 194 194 255 0 0]; mask:((Depth1Image new) width: 28; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@LC@@@A!! @@@L0@@@A8@@@@L@@@@G @@@CL@@@A!! @@@0L@@@@@@@BY=5LAIUUT S5UU8D!!UUPAFU\#@@@@@@@LR9@@D)J @A:R(@@P$*@@CIN @@@@@@@@@a') ; yourself); yourself]
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -1498,7 +1478,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'menu specs'!
 
 fileListMenu
@@ -1636,7 +1615,6 @@
     "Modified: / 12-01-2012 / 00:34:06 / cg"
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -1667,7 +1645,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication class methodsFor:'tableColumns specs'!
 
 tableColumns
@@ -1829,7 +1806,6 @@
     
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'accessing'!
 
 archiver
@@ -1896,7 +1872,6 @@
     ^ temporaryDirectory
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'actions'!
 
 changeItem:anItem 
@@ -2007,7 +1982,6 @@
     ].
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'aspects'!
 
 archiveFileList
@@ -2085,7 +2059,6 @@
     ^ viewErrorList
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -2105,7 +2078,6 @@
     self errorListVisibilityHolder value:viewListValue.
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'command execution'!
 
 getErrorBlock
@@ -2223,7 +2195,6 @@
     ].
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'command helper'!
 
 selectDirectoryDialog
@@ -2286,7 +2257,6 @@
     ^ dir
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands add'!
 
 addFilesToArchive:colOfFiles 
@@ -2312,7 +2282,6 @@
     ^ true
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands extract'!
 
 extractAll
@@ -2349,7 +2318,6 @@
 "/    self updateFileBrowserIfPresentWith:dir.
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands extract private'!
 
 extractAllTo:aDirectory 
@@ -2433,7 +2401,6 @@
     "Modified (format): / 29-11-2011 / 18:58:01 / cg"
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands list'!
 
 listAllFiles
@@ -2458,7 +2425,6 @@
     ]
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'commands remove'!
 
 removeFilesFromArchive
@@ -2488,7 +2454,6 @@
     self archiveFileList value removeAllFoundIn:realSel
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'drag & drop'!
 
 canDrop:aContext
@@ -2568,7 +2533,6 @@
     ^ sel collect:[:el| DropObject newFileInArchive:(el fileName asFilename) ].
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'event handling'!
 
 processEvent:anEvent 
@@ -2593,7 +2557,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'initialization & release'!
 
 postBuildFileTable:aWidget
@@ -2640,7 +2603,6 @@
     ^ super release.
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'queries'!
 
 canDelete
@@ -2688,7 +2650,6 @@
     ^ newSel.
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication methodsFor:'sorting'!
 
 generateSortBlock:instanceName
@@ -2750,7 +2711,6 @@
     fileList addAll:sortCol.
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'accessing'!
 
 compressSize
@@ -3003,14 +2963,12 @@
     self year:(Integer readFrom:yearString)
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'printing'!
 
 printOn:aStream
     aStream nextPutAll:self fileName asString
 ! !
 
-
 !FileApplicationNoteBook::ArchiveViewApplication::ArchivItem methodsFor:'queries'!
 
 hasDirectoryPart
@@ -3018,7 +2976,6 @@
     ^ self fileName asFilename components size ~= 1
 ! !
 
-
 !FileApplicationNoteBook::CommandResult class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -3034,7 +2991,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook::CommandResult class methodsFor:'interface specs'!
 
 windowSpec
@@ -3096,7 +3052,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::CommandResult class methodsFor:'menu specs'!
 
 menu
@@ -3144,7 +3099,6 @@
     "Modified: / 12-01-2012 / 00:33:56 / cg"
 ! !
 
-
 !FileApplicationNoteBook::CommandResult methodsFor:'accessing'!
 
 resultStream
@@ -3159,7 +3113,6 @@
     resultStream := something.
 ! !
 
-
 !FileApplicationNoteBook::CommandResult methodsFor:'actions'!
 
 changeTabTo:aString 
@@ -3183,7 +3136,6 @@
     ].
 ! !
 
-
 !FileApplicationNoteBook::CommandResult methodsFor:'aspects'!
 
 enableStopButton
@@ -3204,7 +3156,6 @@
     ^ process
 ! !
 
-
 !FileApplicationNoteBook::CommandResult methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -3215,7 +3166,6 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !FileApplicationNoteBook::CommandResult methodsFor:'initialization & release'!
 
 postBuildTextCollector:aBuilder
@@ -3243,14 +3193,12 @@
     ^ super release
 ! !
 
-
 !FileApplicationNoteBook::CommandResult methodsFor:'printing'!
 
 printOn:aStream
     aStream nextPutAll:'CommandResult Application'.
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'defaults'!
 
 tabStringFor:anApplicationType
@@ -3261,7 +3209,6 @@
     "Modified: / 01-03-2007 / 21:43:23 / cg"
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'documentation'!
 
 documentation
@@ -3271,7 +3218,6 @@
 "
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -3295,7 +3241,6 @@
 )
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -3352,7 +3297,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -3411,7 +3355,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -3423,7 +3366,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'accessing'!
 
 imageView
@@ -3453,7 +3395,6 @@
 "/    self notify:msg.
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'actions'!
 
 changeItem:anItem
@@ -3467,7 +3408,6 @@
     imageView readFile:self fileName
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'aspects'!
 
 fitSize
@@ -3480,7 +3420,6 @@
     ^ fitSize
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -3495,7 +3434,6 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !FileApplicationNoteBook::DigitalNotepadFileViewApplication methodsFor:'initialization & release'!
 
 postBuildImageView:aWidget
@@ -3528,7 +3466,6 @@
     super postOpenWith:aBuilder
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -3539,7 +3476,6 @@
     "Modified: / 01-03-2007 / 21:43:18 / cg"
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'help specs'!
 
 helpSpec
@@ -3563,7 +3499,6 @@
 )
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -3705,7 +3640,6 @@
     "Modified: / 11-08-2011 / 00:34:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -3809,7 +3743,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -3822,7 +3755,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'accessing'!
 
 htmlView
@@ -3847,7 +3779,6 @@
     ^ retVal
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'accessing - subapps'!
 
 webBrowserPage
@@ -3861,7 +3792,6 @@
     "Created: / 11-08-2011 / 00:32:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'actions'!
 
 doEdit
@@ -3916,7 +3846,6 @@
     "Modified: / 17-02-2011 / 14:01:35 / cg"
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'aspects'!
 
 labelHolder
@@ -3927,7 +3856,6 @@
     ^ labelHolder.
 ! !
 
-
 !FileApplicationNoteBook::HtmlViewApplication methodsFor:'initialization & release'!
 
 postBuildHtmlView:aWidget
@@ -3965,7 +3893,6 @@
     "Modified: / 17-02-2011 / 13:27:12 / cg"
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -3976,7 +3903,6 @@
     "Modified: / 01-03-2007 / 21:43:23 / cg"
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'documentation'!
 
 documentation
@@ -3986,7 +3912,6 @@
 "
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -4010,7 +3935,6 @@
 )
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'image specs'!
 
 fitSize20x20Icon
@@ -4042,7 +3966,6 @@
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; yourself); yourself]
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -4099,7 +4022,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -4158,7 +4080,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -4171,7 +4092,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'accessing'!
 
 image:something
@@ -4206,7 +4126,6 @@
     self notify:msg.
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'actions'!
 
 changeItem:anItem
@@ -4262,7 +4181,6 @@
     "Modified: / 25-07-2006 / 09:09:33 / cg"
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'aspects'!
 
 fitSize
@@ -4275,7 +4193,6 @@
     ^ fitSize
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
@@ -4290,7 +4207,6 @@
     super update:something with:aParameter from:changedObject
 ! !
 
-
 !FileApplicationNoteBook::ImageViewApplication methodsFor:'initialization & release'!
 
 postBuildImageView:aWidget
@@ -4324,7 +4240,6 @@
     super postOpenWith:aBuilder
 ! !
 
-
 !FileApplicationNoteBook::Terminal class methodsFor:'defaults'!
 
 defaultLineLimit
@@ -4347,7 +4262,6 @@
     "Modified: / 01-03-2007 / 21:43:38 / cg"
 ! !
 
-
 !FileApplicationNoteBook::Terminal class methodsFor:'help specs'!
 
 helpSpec
@@ -4371,7 +4285,6 @@
 )
 ! !
 
-
 !FileApplicationNoteBook::Terminal class methodsFor:'interface specs'!
 
 windowSpec
@@ -4427,7 +4340,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::Terminal class methodsFor:'menu specs'!
 
 menu
@@ -4473,7 +4385,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::Terminal methodsFor:'accessing'!
 
 terminalView
@@ -4496,7 +4407,6 @@
     "Modified: / 05-04-2012 / 15:58:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !FileApplicationNoteBook::Terminal methodsFor:'actions'!
 
 saveAs
@@ -4504,7 +4414,6 @@
     self terminalView save.
 ! !
 
-
 !FileApplicationNoteBook::Terminal methodsFor:'initialization & release'!
 
 shellFinished
@@ -4531,7 +4440,6 @@
     vt100 startShellIn:(self fileName).
 ! !
 
-
 !FileApplicationNoteBook::Terminal methodsFor:'printing'!
 
 printOn:aStream
@@ -4539,7 +4447,6 @@
     self fileName baseName printOn:aStream.
 ! !
 
-
 !FileApplicationNoteBook::Terminal methodsFor:'queries'!
 
 getTabValueString
@@ -4550,7 +4457,6 @@
     "Created: / 01-03-2007 / 21:39:56 / cg"
 ! !
 
-
 !FileApplicationNoteBook::Terminal methodsFor:'startup & release'!
 
 postOpenWith:aBuilder
@@ -4564,7 +4470,6 @@
     super postOpenWith:aBuilder.
 ! !
 
-
 !FileApplicationNoteBook::TextEditor class methodsFor:'defaults'!
 
 checkModifiedDelayTime
@@ -4593,7 +4498,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook::TextEditor class methodsFor:'documentation'!
 
 documentation
@@ -4603,7 +4507,6 @@
 "
 ! !
 
-
 !FileApplicationNoteBook::TextEditor class methodsFor:'help specs'!
 
 helpSpec
@@ -4627,7 +4530,6 @@
 )
 ! !
 
-
 !FileApplicationNoteBook::TextEditor class methodsFor:'interface specs'!
 
 windowSpec
@@ -4759,7 +4661,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::TextEditor class methodsFor:'menu specs'!
 
 menu
@@ -4879,7 +4780,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'accessing'!
 
 fileEncoding
@@ -4947,7 +4847,6 @@
     self changeInformation.
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'actions'!
 
 accept
@@ -5568,7 +5467,6 @@
     ].
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'aspects'!
 
 cursorColLabelHolder
@@ -5708,7 +5606,6 @@
     ^ viewModifiedChannel.
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'aspects-visibility'!
 
 closeButtonShown
@@ -5753,7 +5650,6 @@
     "Modified: / 06-10-2011 / 12:46:41 / cg"
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'change & update'!
 
 changeTextColorForChanged
@@ -5929,7 +5825,6 @@
     "Created: / 23-06-2011 / 16:32:44 / cg"
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'initialization'!
 
 initialize
@@ -5937,7 +5832,6 @@
     semaChangeItem := Semaphore forMutualExclusion.
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'printing'!
 
 printOn:aStream
@@ -5949,7 +5843,6 @@
     ]
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'private-process'!
 
 checkItemForChanges
@@ -6006,7 +5899,6 @@
     Processor addTimedBlock:checkModifiedBlock afterSeconds:(self class checkModifiedDelayTime).
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'queries'!
 
 additionalInfo
@@ -6030,7 +5922,6 @@
     ^ true
 ! !
 
-
 !FileApplicationNoteBook::TextEditor methodsFor:'startup & release'!
 
 closeRequest
@@ -6152,7 +6043,6 @@
     "Modified: / 10-04-2007 / 15:24:22 / cg"
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'defaults'!
 
 tabStringFor:aApplicationType
@@ -6163,7 +6053,6 @@
     "Modified: / 17-02-2011 / 13:28:22 / cg"
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'help specs'!
 
 helpSpec
@@ -6187,7 +6076,6 @@
     "Modified: / 17-02-2011 / 13:28:28 / cg"
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -6244,7 +6132,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -6293,7 +6180,6 @@
     "Modified: / 17-02-2011 / 17:30:26 / cg"
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -6309,7 +6195,6 @@
     ^ false
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication methodsFor:'accessing'!
 
 item:anItem 
@@ -6354,7 +6239,6 @@
     "Modified: / 17-02-2011 / 17:39:15 / cg"
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication methodsFor:'actions'!
 
 reload
@@ -6363,7 +6247,6 @@
     "Created: / 17-02-2011 / 17:46:36 / cg"
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication methodsFor:'aspects'!
 
 labelHolder
@@ -6374,7 +6257,6 @@
     ^ labelHolder.
 ! !
 
-
 !FileApplicationNoteBook::XMLViewApplication methodsFor:'initialization & release'!
 
 postBuildXMLCanvas:aWidget
@@ -6384,7 +6266,6 @@
     "Modified: / 17-02-2011 / 13:39:18 / cg"
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication class methodsFor:'defaults'!
 
 maxNumberOfVNCRestarts
@@ -6422,7 +6303,6 @@
     ^ true
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication class methodsFor:'interface specs'!
 
 windowSpec
@@ -6479,7 +6359,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication class methodsFor:'menu specs'!
 
 menu
@@ -6515,7 +6394,6 @@
       )
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication class methodsFor:'queries'!
 
 canOpenItem:anItem
@@ -6538,7 +6416,6 @@
     ^ true
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication methodsFor:'accessing'!
 
 xView
@@ -6553,7 +6430,6 @@
     xView := something.
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication methodsFor:'actions'!
 
 changeInformation 
@@ -6592,7 +6468,6 @@
     self startViewer.
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication methodsFor:'actions VNC'!
 
 setupView
@@ -6761,7 +6636,6 @@
     ^ true
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication methodsFor:'actions viewer'!
 
 startViewer
@@ -6839,7 +6713,6 @@
     "/ Dialog information:'viewer has terminated'.
 ! !
 
-
 !FileApplicationNoteBook::XViewApplication methodsFor:'initialization & release'!
 
 postBuildXView:aWidget
@@ -6882,15 +6755,14 @@
     ^ super release
 ! !
 
-
 !FileApplicationNoteBook class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.276 2013-03-19 13:53:54 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.277 2013-06-04 10:46:46 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.276 2013-03-19 13:53:54 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.277 2013-06-04 10:46:46 cg Exp $'
 !
 
 version_HG
--- a/FileBrowser.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/FileBrowser.st	Wed Jun 12 16:47:06 2013 +0100
@@ -1757,11 +1757,12 @@
 hasZipFileSelected
     |sel fileName suff|
 
-    sel := fileListView selection.
+    sel := fileListView selectionValue.
     sel size == 1 ifFalse:[^ false].
 
     fileName := sel first.
     fileName isNil ifTrue:[^ false].
+    fileName := fileName string withoutSeparators asFilename.
 
     suff := fileName suffix asLowercase.
     (suff = 'zip' or:[suff = 'jar']) ifTrue:[^ true].
@@ -2516,7 +2517,7 @@
 
         dir := currentDirectory asFilename.
         self label:myName , '- gathering file names ...'.
-        fileNames := dir recursiveDirectoryContentsAsFilenames select:[:fn | fn isDirectory not].
+        fileNames := dir recursiveDirectoryContentsAsFilenames reject:[:fn | fn isDirectory ].
 
         self label:myName , '- gathering sizes ...'.
         infoDir := Dictionary new.
@@ -2616,7 +2617,7 @@
         result := Dictionary new.
 
         dir := currentDirectory asFilename.
-        fileNames := dir directoryContentsAsFilenames select:[:fn | fn isDirectory not].
+        fileNames := dir directoryContentsAsFilenames reject:[:fn | fn isDirectory ].
 
         infoDir := Dictionary new.
         fileNames do:[:fn |
@@ -6696,7 +6697,7 @@
     "get stat info on selected file - return a string which can be
      shown in a box"
 
-    |fileName f text info fileOutput type modeBits modeString s ts md5Hash|
+    |fileName f text info fileOutput modeBits modeString s ts md5Hash|
 
     fileName := self getSelectedFileName.
     fileName isNil ifTrue:[^ nil].
@@ -6723,14 +6724,14 @@
 
     s := (resources string:'type:   ').
     fileOutput isNil ifTrue:[
-        s := s ,  type asString
+        s := s ,  info type asString
     ] ifFalse:[
         s := s , 'regular (' , fileOutput , ')'
     ].
     text add:s.
     text add:(resources string:'size:   %1' with:(info size) printString).
 
-    self hasMD5 value ifTrue:[
+    info isRegular ifTrue:[
         md5Hash := MD5Stream hashValueOfFile:f.
         s := String streamContents:[:s | md5Hash do:[:byte | s nextPutAll:(byte hexPrintString)]].
         text add:(resources string:'md5:   %1' with:s).
@@ -7505,11 +7506,11 @@
 !FileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.647 2013-04-27 13:01:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.649 2013-06-05 13:22:16 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.647 2013-04-27 13:01:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.649 2013-06-05 13:22:16 stefan Exp $'
 !
 
 version_HG
--- a/FileDialog.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/FileDialog.st	Wed Jun 12 16:47:06 2013 +0100
@@ -19,7 +19,7 @@
 		appendButtonVisibleHolder appendWasPressed
 		buttonPanelVisibleHolder appendLabelHolder browseVisibleHolder
 		selectedDeviceDrive listOfDeviceDrives rootDirectoryHolder
-		initialRoot verticalView'
+		initialRoot verticalPanelView'
 	classVariableNames:'LastExtent'
 	poolDictionaries:''
 	category:'Interface-Tools-File'
@@ -771,10 +771,10 @@
        (SpecCollection
           collection: (
            (VerticalPanelViewSpec
-              name: 'VerticalPanel'
-              layout: (LayoutFrame 0 0 0 0 0 1 -32 1)
+              name: 'FilePanel'
+              layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
               horizontalLayout: fit
-              verticalLayout: topSpaceFit
+              verticalLayout: bottomFit
               horizontalSpace: 0
               verticalSpace: 3
               elementsChangeSize: true
@@ -882,14 +882,14 @@
                        (LabelSpec
                           label: 'Filename:'
                           name: 'FilenameLabel'
-                          layout: (LayoutFrame 3 0 -25 1 73 0 -1 1)
+                          layout: (LayoutFrame 3 0 -25 1 90 0 -1 1)
                           translateLabel: true
                           labelChannel: filenameLabelHolder
                           adjust: left
                         )
                        (FilenameInputFieldSpec
                           name: 'FilenameEntryField'
-                          layout: (LayoutFrame 70 0 -25 1 -4 1 -1 1)
+                          layout: (LayoutFrame 90 0 -25 1 -2 1 -1 1)
                           tabable: true
                           model: filenameHolder
                           immediateAccept: false
@@ -900,16 +900,16 @@
                        )
                      
                     )
-                    extent: (Point 400 362)
+                    extent: (Point 400 370)
                   )
                  )
                
               )
-              postBuildCallback: postBuildVerticalView:
+              postBuildCallback: postBuildVerticalPanelView:
             )
            (HorizontalPanelViewSpec
               name: 'ButtonPanel'
-              layout: (LayoutFrame 0 0.0 -32 1 0 1 0 1)
+              layout: (LayoutFrame 0 0.0 -30 1 0 1 0 1)
               visibilityChannel: buttonPanelVisibleHolder
               horizontalLayout: fitSpace
               verticalLayout: center
@@ -926,7 +926,7 @@
                     labelChannel: cancelLabelHolder
                     tabable: true
                     model: doCancel
-                    extent: (Point 129 22)
+                    extent: (Point 129 25)
                   )
                  (ActionButtonSpec
                     label: 'Append'
@@ -936,7 +936,7 @@
                     labelChannel: appendLabelHolder
                     tabable: true
                     model: appendPressed
-                    extent: (Point 129 22)
+                    extent: (Point 129 25)
                   )
                  (ActionButtonSpec
                     label: 'OK'
@@ -946,11 +946,12 @@
                     tabable: true
                     model: okPressed
                     isDefault: true
-                    extent: (Point 130 22)
+                    extent: (Point 130 25)
                   )
                  )
                
               )
+              keepSpaceForOSXResizeHandleH: true
             )
            )
          
@@ -1179,12 +1180,6 @@
     ^ DirectoryContentsBrowser showMenuSpec
 ! !
 
-!FileDialog class methodsFor:'others'!
-
-version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.117 2013-06-03 17:41:12 vrany Exp $'
-! !
-
 !FileDialog class methodsFor:'plugIn spec'!
 
 aspectSelectors
@@ -1213,7 +1208,7 @@
     | selectedFiles|
 
     selectedFiles := treeBrowser currentFileNameHolder value.
-    ^ selectedFiles select:[:aFile| aFile isDirectory not].
+    ^ selectedFiles reject:[:aFile| aFile isDirectory ].
 !
 
 directory
@@ -1634,16 +1629,20 @@
 !FileDialog methodsFor:'change & update'!
 
 buttonPanelVisibilityChanged
-    |filePart|
+    |panel filePart partAbove|
 
-    filePart := builder componentAt:#FilePart.
-    filePart notNil ifTrue:[
+    panel := builder componentAt:#FilePanel.
+    panel isNil ifTrue:[
+        filePart := builder componentAt:#FilePart.
+    ].
+    partAbove := panel ? filePart.
+    partAbove notNil ifTrue:[
         buttonPanelVisibleHolder value ifTrue:[
-            filePart layout bottomOffset:-40
+            partAbove layout bottomOffset:-40
         ] ifFalse:[
-            filePart layout bottomOffset:0
+            partAbove layout bottomOffset:0
         ].
-        filePart containerChangedSize    "/ force resize
+        partAbove containerChangedSize    "/ force resize
    ]
 !
 
@@ -1744,7 +1743,7 @@
 !FileDialog methodsFor:'construction-adding'!
 
 addComponent: aView
-    verticalView addComponent: aView
+    verticalPanelView addComponent: aView
 
     "Created: / 03-06-2013 / 17:47:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
@@ -1847,8 +1846,8 @@
     "Modified: / 24-08-2010 / 16:07:16 / sr"
 !
 
-postBuildVerticalView:aView
-    verticalView := aView.
+postBuildVerticalPanelView:aView
+    verticalPanelView := aView.
 
     "Created: / 03-06-2013 / 17:41:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -1876,15 +1875,29 @@
 !
 
 preOpenWith:aBuilder
-    | h |
+    "called right before being opened"
+
+    | sumH oldVPanelHeight newVPanelHeight delta|
 
     "Increase height of the window so height of the file part
-     remain the same"
-    h := 0.
-    verticalView subViews from:2 do:[:view|
-        h := h + view preferredHeight.
+     remain the same. This cares for any components added by a hook"
+
+    verticalPanelView notNil ifTrue:[
+        delta := verticalPanelView preferredHeight - verticalPanelView height.
+        delta > 0 ifTrue:[
+            "/ components where added (possibly in the aboutToOpenBoxNotifiction
+            aBuilder window height: (aBuilder window height + delta).
+        ].
+
+"/        sumH := 0.
+"/        verticalPanelView subViews from:2 do:[:view|
+"/            sumH := sumH + view preferredHeight.
+"/        ].
+"/        sumH ~~ 0 ifTrue:[
+"/            newVPanelHeight := verticalPanelView preferredHeight374
+"/            aBuilder window height: aBuilder window height + sumH.
+"/        ].
     ].
-    aBuilder window height: aBuilder window height + h.
 
     "Created: / 03-06-2013 / 18:19:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -2051,7 +2064,11 @@
 !FileDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.117 2013-06-03 17:41:12 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.121 2013-06-07 13:25:22 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.121 2013-06-07 13:25:22 cg Exp $'
 !
 
 version_HG
@@ -2060,6 +2077,6 @@
 !
 
 version_SVN
-    ^ '$Id: FileDialog.st,v 1.117 2013-06-03 17:41:12 vrany Exp $'
+    ^ '$Id: FileDialog.st,v 1.121 2013-06-07 13:25:22 cg Exp $'
 ! !
 
--- a/FileDialogWithPreview.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/FileDialogWithPreview.st	Wed Jun 12 16:47:06 2013 +0100
@@ -73,7 +73,7 @@
        (SpecCollection
           collection: (
            (VariableVerticalPanelSpec
-              name: 'FileAndPreviewPanel'
+              name: 'FilePanel'
               layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 -30 1.0)
               showHandle: true
               handlePosition: center
@@ -181,14 +181,14 @@
                        (LabelSpec
                           label: 'Filename:'
                           name: 'FilenameLabel'
-                          layout: (LayoutFrame 3 0 -25 1 73 0 -1 1)
+                          layout: (LayoutFrame 3 0 -25 1 90 0 -1 1)
                           translateLabel: true
                           labelChannel: filenameLabelHolder
                           adjust: left
                         )
                        (FilenameInputFieldSpec
                           name: 'FilenameEntryField'
-                          layout: (LayoutFrame 70 0 -25 1 -4 1 -1 1)
+                          layout: (LayoutFrame 90 0 -25 1 -4 1 -1 1)
                           tabable: true
                           model: filenameHolder
                           immediateAccept: false
@@ -226,6 +226,7 @@
                
               )
               handles: (Any 0.750433275563258 1.0)
+              postBuildCallback: postBuildVerticalPanelView:
             )
            (HorizontalPanelViewSpec
               name: 'ButtonPanel'
@@ -246,7 +247,7 @@
                     labelChannel: cancelLabelHolder
                     tabable: true
                     model: doCancel
-                    extent: (Point 131 22)
+                    extent: (Point 131 25)
                   )
                  (ActionButtonSpec
                     label: 'Append'
@@ -256,7 +257,7 @@
                     labelChannel: appendLabelHolder
                     tabable: true
                     model: appendPressed
-                    extent: (Point 132 22)
+                    extent: (Point 132 25)
                   )
                  (ActionButtonSpec
                     label: 'OK'
@@ -266,11 +267,12 @@
                     tabable: true
                     model: okPressed
                     isDefault: true
-                    extent: (Point 132 22)
+                    extent: (Point 132 25)
                   )
                  )
                
               )
+              keepSpaceForOSXResizeHandleH: true
             )
            )
          
@@ -305,7 +307,7 @@
     |fn mime image|
 
     super fileSelectionChanged.
-    (fn := self filenameHolder value) exists ifTrue:[
+    ((fn := self filenameHolder value) notNil and:[ fn exists ]) ifTrue:[
         (mime := fn mimeTypeFromName) notNil ifTrue:[
             mime isImage ifTrue:[
                 image := Image fromFile:fn.
@@ -327,8 +329,12 @@
 
 !FileDialogWithPreview class methodsFor:'documentation'!
 
+version
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialogWithPreview.st,v 1.5 2013-06-07 13:23:56 cg Exp $'
+!
+
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/FileDialogWithPreview.st,v 1.2 2011/02/14 17:13:03 cg Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialogWithPreview.st,v 1.5 2013-06-07 13:23:56 cg Exp $'
 !
 
 version_HG
--- a/InspectorView.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/InspectorView.st	Wed Jun 12 16:47:06 2013 +0100
@@ -1405,7 +1405,7 @@
 
     |localSelectors labels localProtocolMenu|
 
-    localSelectors := object class methodDictionary keys asArray sort.
+    localSelectors := object class methodDictionary keysSorted.
     "/ kludge: '-' and '=' are special in a menu
     labels := localSelectors collect:[:sel | (#('-' '=') includes:sel) ifTrue:[' ',sel] ifFalse:[sel]].
     localProtocolMenu := PopUpMenu
@@ -1560,7 +1560,7 @@
         ].
     ].
 
-    protocolsSorted := protocols keys asArray sort.
+    protocolsSorted := protocols keysSorted.
     protocolMenu := PopUpMenu
                         labels:#('alphabetical' '=') , protocolsSorted
                         selectors:#(nil nil) , protocolsSorted.
@@ -1570,7 +1570,7 @@
         put:[
             |firstChars alphaMenu|
 
-            firstChars := selectorsByFirstCharacter keys asOrderedCollection sort.
+            firstChars := selectorsByFirstCharacter keysSorted.
             alphaMenu := PopUpMenu
                                labels:firstChars
                                selector:#mmm 
@@ -2288,7 +2288,7 @@
             ].
             ^ self class imageFor_strings
         ].
-        (anObject isKindOf:Dictionary) ifTrue:[
+        (anObject isDictionary) ifTrue:[
             ^ self class imageFor_dictionaries
         ].
         (anObject isArray) ifTrue:[
@@ -2506,7 +2506,7 @@
     |d actionItems valueItems otherItems|
 
     d := self derivedFields.
-    (d isKindOf:Dictionary) ifTrue:[
+    (d isDictionary) ifTrue:[
         actionItems := d keys select:[:k | k startsWith:'!!'] as:OrderedCollection .
         valueItems := d keys select:[:k | k startsWith:'-'] as:OrderedCollection.
         otherItems := d keys select:[:k | (k startsWithAnyOf:#('!!' '-')) not] as:OrderedCollection.
@@ -2790,7 +2790,7 @@
     "helper - return the index for a named instVar;
      nil, if self or a keyed instvar is selected."
 
-    |idx nNamedInstvarsShown cls baseCls firstRealIndex line nm|
+    |idx firstRealIndex line nm|
 
     lineNr isNil ifTrue:[^ nil].
     firstRealIndex := 1.
@@ -2804,28 +2804,28 @@
     idx == 0 ifTrue:[^ nil].
     ^ idx.    
 
-    [
-        line := self listEntryAt:firstRealIndex. 
-        (line startsWith:'-') and:[line size < 2 or:[line second isDigit not]]
-    ] whileTrue:[
-        firstRealIndex := firstRealIndex + 1.
-        idx := idx - 1.
-    ].
-
-    cls := object class.
-    baseCls := self baseInspectedObjectClass.
-
-    nNamedInstvarsShown := cls instSize.
-    "/ only the namedInstvars below baseInspectedObjectClass
-    "/ are shown ...
-    (cls includesBehavior:baseCls) ifTrue:[
-        nNamedInstvarsShown := nNamedInstvarsShown - baseCls instSize.
-    ].
-
-    idx <= nNamedInstvarsShown ifTrue:[
-        ^ idx + self baseInspectedObjectClass instSize.
-    ].
-    ^ nil "/ indexed instvar or other selected
+"/    [
+"/        line := self listEntryAt:firstRealIndex. 
+"/        (line startsWith:'-') and:[line size < 2 or:[line second isDigit not]]
+"/    ] whileTrue:[
+"/        firstRealIndex := firstRealIndex + 1.
+"/        idx := idx - 1.
+"/    ].
+"/
+"/    cls := object class.
+"/    baseCls := self baseInspectedObjectClass.
+"/
+"/    nNamedInstvarsShown := cls instSize.
+"/    "/ only the namedInstvars below baseInspectedObjectClass
+"/    "/ are shown ...
+"/    (cls includesBehavior:baseCls) ifTrue:[
+"/        nNamedInstvarsShown := nNamedInstvarsShown - baseCls instSize.
+"/    ].
+"/
+"/    idx <= nNamedInstvarsShown ifTrue:[
+"/        ^ idx + self baseInspectedObjectClass instSize.
+"/    ].
+"/    ^ nil "/ indexed instvar or other selected
 
     "Modified: / 20-07-2012 / 11:11:10 / cg"
 !
@@ -3161,7 +3161,7 @@
     idx ~~ 0 ifTrue:[
         "a lot of backward compatibility crab which has to go away..."
         fields := self derivedFields.
-        (fields isKindOf:Dictionary) ifTrue:[
+        (fields isDictionary) ifTrue:[
             fieldEntry := fields associationAt:line string "idx".
         ] ifFalse:[
             fieldEntry := fields associationAt:idx.
@@ -3397,8 +3397,6 @@
 doInspect:objectToInspect basic:basic
     "user selected inspect-menu entry"
 
-    |app |
-
     objectToInspect notNil ifTrue:[
         (basic == #new and:[NewInspector::NewInspectorView notNil]) ifTrue:[
             NewInspector::NewInspectorView inspect:objectToInspect
@@ -3508,11 +3506,11 @@
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.310 2013-06-03 10:39:43 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.313 2013-06-09 14:16:54 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.310 2013-06-03 10:39:43 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.313 2013-06-09 14:16:54 cg Exp $'
 !
 
 version_HG
--- a/NewLauncher.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/NewLauncher.st	Wed Jun 12 16:47:06 2013 +0100
@@ -3000,33 +3000,28 @@
         (
          (MenuItem
             label: 'Window'
-            translateLabel: true
             submenuChannel: allWindowsMenu
           )
          (MenuItem
             label: '-'
           )
          (MenuItem
-            activeHelpKey: windowsRedrawAll
-            label: 'Redraw All'
-            itemValue: redrawAllWindows
-            translateLabel: true
-          )
-         (MenuItem
             activeHelpKey: windowsIconifyAll
             label: 'Iconify All'
             itemValue: iconifyAllWindows
-            translateLabel: true
           )
          (MenuItem
             activeHelpKey: windowsDeiconifyAll
             label: 'Deiconify All'
             itemValue: deIconifyAllWindows
-            translateLabel: true
+          )
+         (MenuItem
+            activeHelpKey: windowsRedrawAll
+            label: 'Redraw All'
+            itemValue: redrawAllWindows
           )
          (MenuItem
             label: 'Migrate'
-            translateLabel: true
             submenu: 
            (Menu
               (
@@ -3035,28 +3030,24 @@
                   enabled: windowMigrationFunctionsAreShown
                   label: 'Migrate All To...'
                   itemValue: migrateAllWindows
-                  translateLabel: true
                 )
                (MenuItem
                   activeHelpKey: windowsSelectAndMigrate
                   enabled: windowMigrationFunctionsAreShown
                   label: 'Select and Migrate To...'
                   itemValue: viewMigrate
-                  translateLabel: true
                 )
                (MenuItem
                   activeHelpKey: windowsFindAndMigrate
                   enabled: windowMigrationFunctionsAreShown
                   label: 'Find by Name and Migrate To...'
                   itemValue: findAndMigrateWindow
-                  translateLabel: true
                 )
                (MenuItem
                   activeHelpKey: windowsFindAndMigrateBack
                   enabled: windowMigrationFunctionsAreShown
                   label: 'Find by Name and Migrate Back...'
                   itemValue: findAndMigrateWindowBack
-                  translateLabel: true
                 )
                )
               nil
@@ -3070,14 +3061,12 @@
             activeHelpKey: windowsViewTree
             label: 'Window Tree'
             itemValue: startWindowTreeView
-            translateLabel: true
             isVisible: windowTreeViewAvailable
           )
          (MenuItem
             activeHelpKey: windowsViewTreeAllViews
             label: 'Window Tree (All Windows)'
             itemValue: openApplication:
-            translateLabel: true
             isVisible: windowTreeViewAvailable
             argument: 'WindowTreeView'
           )
@@ -3085,21 +3074,18 @@
             activeHelpKey: windowsViewTreeAllScreens
             label: 'Window Tree (All on All Screens)'
             itemValue: startWindowTreeViewForAll
-            translateLabel: true
             isVisible: windowTreeViewAvailable
           )
          (MenuItem
             activeHelpKey: windowsViewTree
             label: 'Window Tree'
             itemValue: openWindowTreeInspector
-            translateLabel: true
             labelImage: (ResourceRetriever ToolbarIconLibrary viewInspect22x22Icon 'Window Tree')
           )
          (MenuItem
             activeHelpKey: flyByWindowInformation
             label: 'FlyBy Window Information'
             itemValue: showFlyByWindowInformation
-            translateLabel: true
             labelImage: (ResourceRetriever ToolbarIconLibrary viewFlyByInfo22x22Icon 'FlyBy Window Information')
           )
          (MenuItem
@@ -3109,19 +3095,16 @@
             activeHelpKey: windowsSelectAndInspect
             label: 'Select and Inspect...'
             itemValue: viewInspect
-            translateLabel: true
           )
          (MenuItem
             activeHelpKey: windowsSelectAndInspect
             label: 'Select and Browse...'
             itemValue: viewBrowse
-            translateLabel: true
           )
          (MenuItem
             activeHelpKey: windowsSelectAndDestroy
             label: 'Select and Destroy...'
             itemValue: viewDestroy
-            translateLabel: true
           )
          (MenuItem
             label: '-'
@@ -3131,14 +3114,12 @@
             enabled: enableDangerousMenuItemsInRemoteLauncher
             label: 'Find by Name and Raise...'
             itemValue: findAndRaiseWindow
-            translateLabel: true
           )
          (MenuItem
             activeHelpKey: windowsFindAndDestroy
             enabled: enableDangerousMenuItemsInRemoteLauncher
             label: 'Find by Name and Destroy...'
             itemValue: findAndDestroyWindow
-            translateLabel: true
           )
          (MenuItem
             label: '-'
@@ -3147,31 +3128,26 @@
             activeHelpKey: windowsGrapWindow
             label: 'Select and Grab Window...'
             itemValue: viewHardcopy
-            translateLabel: true
           )
          (MenuItem
             activeHelpKey: windowsGrapWidget
             label: 'Select and Grab Widget...'
             itemValue: widgetHardcopy
-            translateLabel: true
           )
          (MenuItem
             activeHelpKey: windowsGrapScreen
             label: 'Grab Screen...'
             itemValue: fullScreenHardcopy
-            translateLabel: true
           )
          (MenuItem
             activeHelpKey: windowsGrapScreenArea
             label: 'Grab Screen Area...'
             itemValue: screenHardcopy
-            translateLabel: true
           )
          (MenuItem
             activeHelpKey: windowsGrapScreenArea
             label: 'Grab Screen Area with Delay...'
             itemValue: screenHardcopyWithDelay
-            translateLabel: true
           )
          )
         nil
@@ -3618,7 +3594,11 @@
 update:something with:aParameter from:changedObject
     "care for project changes & update my infoView"
 
-    ((something == #currentProject) or:[changedObject == Project]) ifTrue: [self updateInfo].
+    ((something == #currentProject) 
+    or:[ (changedObject == Project)
+    or:[ (something == #finishedSnapshot)]]) ifTrue: [self updateInfo].
+
+    
     changedObject == self selectedTabHolder ifTrue: [
         changedObject value == 1 ifTrue:[
             self noteBookCanvasHolder value:self transcriptView.
@@ -4510,6 +4490,7 @@
 
     self setupTranscript; updateInfo.
     Project notNil ifTrue: [Project addDependent:self].
+    ObjectMemory addDependent:self.
     self class openLaunchers add: self.
     ^ builder
 
@@ -4593,6 +4574,15 @@
     "Modified: / 16-11-2006 / 12:50:21 / cg"
 !
 
+release
+
+    super release.
+
+    OpenLaunchers notNil ifTrue:[OpenLaunchers remove:self ifAbsent:nil].
+    Project notNil ifTrue:[Project removeDependent:self].
+    ObjectMemory removeDependent:self.
+!
+
 requestForWindowClose
     |answer|
 
@@ -4659,13 +4649,7 @@
     "Modified: / 5.3.1999 / 18:00:36 / cg"
 !
 
-uninitialize
-
-    super uninitialize.
-
-    OpenLaunchers notNil ifTrue:[OpenLaunchers remove:self ifAbsent:nil].
-    Project notNil ifTrue:[Project removeDependent:self]
-! !
+ !
 
 !NewLauncher methodsFor:'user actions-classes'!
 
@@ -4983,11 +4967,11 @@
 !NewLauncher class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.460 2013-05-07 15:28:54 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.461 2013-06-05 10:03:42 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.460 2013-05-07 15:28:54 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.461 2013-06-05 10:03:42 cg Exp $'
 !
 
 version_HG
@@ -4996,6 +4980,6 @@
 !
 
 version_SVN
-    ^ '$Id: NewLauncher.st,v 1.460 2013-05-07 15:28:54 cg Exp $'
+    ^ '$Id: NewLauncher.st,v 1.461 2013-06-05 10:03:42 cg Exp $'
 ! !
 
--- a/SetInspectorView.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/SetInspectorView.st	Wed Jun 12 16:47:06 2013 +0100
@@ -140,6 +140,10 @@
                    ].
 !
 
+numIndexedFields
+    ^ inspectedObject size
+!
+
 release 
     "release inspected object"
 
@@ -207,7 +211,7 @@
 !SetInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SetInspectorView.st,v 1.26 2012-10-22 22:23:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SetInspectorView.st,v 1.27 2013-06-04 13:02:54 cg Exp $'
 !
 
 version_HG
--- a/SmalltalkCodeGeneratorTool.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/SmalltalkCodeGeneratorTool.st	Wed Jun 12 16:47:06 2013 +0100
@@ -1591,6 +1591,27 @@
         in:aClass
 !
 
+createAspectMethodFor:anAspectSymbol in:aClass
+    "create an aspect method."
+
+    |source aspect|
+
+    aspect := anAspectSymbol asSymbol.
+    source := String 
+        streamContents:[:s |
+            s nextPutAll:aspect asString.
+            s nextPutAll:'
+    |holder|
+
+    (holder := builder bindingAt:',aspect storeString,') isNil ifTrue:[
+        builder aspectAt:',aspect storeString,' put:(holder := nil asValue).
+    ].
+    ^ holder.
+'.
+        ].
+    self compile:source forClass:aClass inCategory:#aspects.
+!
+
 createCopyrightMethodFor:copyRightText for:aClass
     "add copyright method containing text,
      but only if not already present."
@@ -2529,11 +2550,11 @@
 !SmalltalkCodeGeneratorTool class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.20 2013-04-25 13:11:09 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.21 2013-06-07 12:08:27 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.20 2013-04-25 13:11:09 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SmalltalkCodeGeneratorTool.st,v 1.21 2013-06-07 12:08:27 cg Exp $'
 !
 
 version_HG
@@ -2542,6 +2563,6 @@
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ '$Id: SmalltalkCodeGeneratorTool.st,v 1.21 2013-06-07 12:08:27 cg Exp $'
 ! !
 
--- a/SystemBrowser.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/SystemBrowser.st	Wed Jun 12 16:47:06 2013 +0100
@@ -806,7 +806,7 @@
 breakPointedIcon
     <resource: #programImage>
 
-    ^ ToolbarIconLibrary breakpointRedEnabled16x16
+    ^ ToolbarIconLibrary breakpointRedEnabled
     "/ ^ self breakPointedIcon2
 !
 
@@ -2145,7 +2145,7 @@
     (doMatch and:[aSelectorString includesMatchCharacters]) ifFalse:[
         "/ exclude javaClasses, if selector cannot be a valid java-selector
         (aSelectorString includes:$() ifFalse:[
-            classesSearched := classesSearched select:[:eachClass | eachClass theNonMetaclass isJavaClass not].
+            classesSearched := classesSearched reject:[:eachClass | eachClass theNonMetaclass isJavaClass ].
         ].
     ].
 
@@ -2767,6 +2767,10 @@
     |browser searchBlock|
 
     searchBlock := self searchBlockForSymbol:aSymbol.
+    searchBlock == false ifTrue:[
+        actionIfNoneFound value.
+        ^ nil
+    ].
 
     WarningSignal ignoreIn:[
         InformationSignal ignoreIn:[
@@ -2774,7 +2778,8 @@
         ]
     ].
     browser isNil ifTrue:[
-        actionIfNoneFound value
+        actionIfNoneFound value.
+        ^ nil
     ].
 
     (browser notNil and:[searchString notNil]) ifTrue:[
@@ -3374,10 +3379,9 @@
 !
 
 browseReferendsOfUnboundGlobalsWithTitle:title ifNone:actionIfNone
-    "launch a browser for all methods referencing an unbound global.
-    "
-
-    |globalsPlainName searchBlock browser|
+    "launch a browser for all methods referencing an unbound global."
+
+    |searchBlock browser|
 
     searchBlock := [:cls :mthd :sel | 
 
@@ -3409,8 +3413,6 @@
     browser := self browseMethodsWhere:searchBlock title:title ifNone:[actionIfNone value. ^ nil].
     browser isNil ifTrue:[
         actionIfNone value
-    ] ifFalse:[
-        browser autoSearch:globalsPlainName
     ].
     ^ browser
 !
@@ -4707,7 +4709,7 @@
 
     "/ extract messages sent by the pattern
     Error handle:[:ex |
-self halt.
+        self halt:'check this, please'.
     ] do:[
         sentMessages := searchTree sentMessages.         
     ].
@@ -4871,7 +4873,6 @@
                         src := m source.
                         src isNil ifTrue:[
                             ('Browser [info]: no source for ' , m printString) infoPrintCR.
-                            false
                         ] ifFalse:[
                             parseTree := RBParser 
                                             parseSearchMethod:src 
@@ -4898,7 +4899,7 @@
     "return a block which searches for all methods which reference a global named aGlobalName,
      which may be a matchpattern"
 
-    |globalsPlainName idx matchingGlobalNames sym1 sym2|
+    |globalsPlainName idx sym1 sym2|
 
     globalsPlainName := aGlobalName.
     (idx := globalsPlainName lastIndexOf:$:) ~~ 0 ifTrue:[
@@ -5076,7 +5077,8 @@
 !
 
 searchBlockForSymbol:aSymbol 
-    "return a matchblock to search for all methods referencing aSymbol"
+    "return a matchblock to search for all methods referencing aSymbol.
+     false if no such symbol exists"
 
     (aSymbol includesMatchCharacters) ifTrue:[
         "a matchString"
@@ -5089,6 +5091,9 @@
                 ) notNil
            ].
     ] ifFalse:[
+        aSymbol asSymbolIfInterned isNil ifTrue:[
+            ^ false
+        ].
         ^ [:c :m :s |
                 (m literalsDetect:[:aLiteral|
                     (aSymbol == aLiteral) 
@@ -6012,8 +6017,12 @@
 
 !SystemBrowser class methodsFor:'documentation'!
 
+version
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.323 2013-06-06 17:15:21 cg Exp $'
+!
+
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.317 2013-05-28 21:58:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.323 2013-06-06 17:15:21 cg Exp $'
 !
 
 version_HG
@@ -6022,7 +6031,7 @@
 !
 
 version_SVN
-    ^ '$Id: SystemBrowser.st,v 1.317 2013-05-28 21:58:09 cg Exp $'
+    ^ '$Id: SystemBrowser.st,v 1.323 2013-06-06 17:15:21 cg Exp $'
 ! !
 
 
--- a/Tools_ProjectList.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/Tools_ProjectList.st	Wed Jun 12 16:47:06 2013 +0100
@@ -751,7 +751,7 @@
         "/ really exist; however, during browsing, it makes sense.
         AdditionalEmptyProjects size > 0 ifTrue:[
             "/ remove those that are present ...
-            AdditionalEmptyProjects := AdditionalEmptyProjects select:[:pkg | (allProjects includes:pkg) not].
+            AdditionalEmptyProjects := AdditionalEmptyProjects reject:[:pkg | (allProjects includes:pkg) ].
             allProjects addAll:AdditionalEmptyProjects.
         ].
     ] ifFalse:[
@@ -816,11 +816,9 @@
     ChangeSet removeDependent:self.
 !
 
-markEntry: rawEntry at: index forBeingManagedBySVN: package
-    ^ rawEntry.
-
-    (ConfigurableFeatures includesFeature: #SubversionSupportEnabled) ifFalse:[^rawEntry].
-    package = PackageId noProjectID ifTrue:[^rawEntry].
+markEntry: rawEntry at: index forBeingManagedBySVN:package
+"/    (ConfigurableFeatures includesFeature: #SubversionSupportEnabled) ifFalse:[^rawEntry].
+"/    package = PackageId noProjectID ifTrue:[^rawEntry].
 
 "/    workerQueue 
 "/        nextPut:[
@@ -836,7 +834,7 @@
 "/                self projectNameList value at: index put: newEntry.
 "/                self projectNameList changed.
 "/            ]].
-    ^rawEntry
+    ^ rawEntry
 
     "Created: / 14-12-2010 / 15:59:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 15-01-2012 / 13:17:30 / cg"
@@ -1013,10 +1011,10 @@
 !ProjectList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.63 2013-03-26 16:29:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.65 2013-06-05 13:22:39 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.63 2013-03-26 16:29:25 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ProjectList.st,v 1.65 2013-06-05 13:22:39 stefan Exp $'
 ! !
 
--- a/Tools__BreakpointService.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/Tools__BreakpointService.st	Wed Jun 12 16:47:06 2013 +0100
@@ -298,6 +298,13 @@
 setOrToggleBreakpointAtLine:line
     |pos bpnt|
 
+    textView reallyModified ifTrue:[
+        "/ leads to ugly behavior (method no longer found), if we allow
+        "/ this...
+          Dialog warn:'Please accept first (cannot set breakpoint while text is modified)'.
+        ^ self
+    ].
+
     pos := textView characterPositionOfLine:line col:1.
     bpnt := self breakpointAtLine:line.
     bpnt isNil ifTrue:[
@@ -380,7 +387,7 @@
 !BreakpointService class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.18 2013-03-22 11:38:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.19 2013-06-05 17:18:17 cg Exp $'
 
 !
 
@@ -390,6 +397,6 @@
 !
 
 version_SVN
-    ^ '§Id§'
+    ^ '$Id: Tools__BreakpointService.st,v 1.19 2013-06-05 17:18:17 cg Exp $'
 ! !
 
--- a/Tools__CheckinInfoDialog.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/Tools__CheckinInfoDialog.st	Wed Jun 12 16:47:06 2013 +0100
@@ -55,7 +55,6 @@
 "
 ! !
 
-
 !CheckinInfoDialog class methodsFor:'help specs'!
 
 flyByHelpSpec
@@ -93,7 +92,6 @@
 )
 ! !
 
-
 !CheckinInfoDialog class methodsFor:'interface specs'!
 
 windowSpec
@@ -260,7 +258,6 @@
       )
 ! !
 
-
 !CheckinInfoDialog class methodsFor:'opening'!
 
 getCheckinInfoFor:aString initialAnswer:initialAnswer
@@ -346,7 +343,6 @@
     "Created: / 12-03-2012 / 12:36:26 / cg"
 ! !
 
-
 !CheckinInfoDialog methodsFor:'accessing'!
 
 allowEmptyLogMessage
@@ -425,7 +421,6 @@
     ^ self validateConsistencyVisibleHolder value:aBoolean
 ! !
 
-
 !CheckinInfoDialog methodsFor:'aspects'!
 
 descriptionHolder
@@ -492,7 +487,7 @@
 
 tagHolder
     tagHolder isNil ifTrue:[
-        tagHolder := '' asValue.
+        tagHolder := (CVSSourceCodeManager recentTag ? '') asValue.
     ].
     ^ tagHolder
 !
@@ -520,15 +515,14 @@
     "Created: / 06-07-2010 / 11:30:29 / cg"
 ! !
 
-
 !CheckinInfoDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CheckinInfoDialog.st,v 1.17 2013-03-28 00:14:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CheckinInfoDialog.st,v 1.18 2013-06-06 10:56:17 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CheckinInfoDialog.st,v 1.17 2013-03-28 00:14:16 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CheckinInfoDialog.st,v 1.18 2013-06-06 10:56:17 cg Exp $'
 !
 
 version_HG
--- a/Tools__CodeNavigationService.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/Tools__CodeNavigationService.st	Wed Jun 12 16:47:06 2013 +0100
@@ -28,7 +28,8 @@
 "{ NameSpace: Tools }"
 
 CodeViewService subclass:#CodeNavigationService
-	instanceVariableNames:'selectorEmphasis variableEmphasis currentEmphasis linesToRedraw'
+	instanceVariableNames:'selectorEmphasis variableEmphasis currentEmphasis linesToRedraw
+		menuShown'
 	classVariableNames:'DefaultVariableEmphasis DefaultSelectorEmphasis'
 	poolDictionaries:''
 	category:'Interface-CodeView'
@@ -179,13 +180,17 @@
 !
 
 button1PressForSelector: selector
+    | impls |
 
-    | impls menu |
     impls := codeView implementorsOf: selector.
     "/ impls size = 1 ifTrue:[^codeView browseMethod: impls anyOne].
-    menu := codeView implementorsMenu: impls selector: selector.
-    self highlightClear.
-    menu showAtPointer.
+    [
+        menuShown := codeView implementorsMenu: impls selector: selector.
+        self highlightClear.
+        menuShown showAtPointer.
+    ] ensure:[
+        menuShown := nil
+    ].
 
     "Created: / 14-02-2010 / 18:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 30-06-2011 / 19:34:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -221,13 +226,17 @@
 !
 
 button2PressForSelector: selector
+    | senders |
 
-    | senders menu |
     senders := codeView sendersOf: selector.
     "/ senders size = 1 ifTrue:[ codeView browseMethod: senders anyOne. ^ self].
-    menu := codeView sendersMenu: senders selector: selector.
-    self highlightClear.
-    menu showAtPointer.
+    [
+        menuShown := codeView sendersMenu: senders selector: selector.
+        self highlightClear.
+        menuShown showAtPointer.
+    ] ensure:[
+        menuShown := nil.
+    ].
 
     "Created: / 14-02-2010 / 18:50:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 30-06-2011 / 19:34:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -273,6 +282,15 @@
     "Modified (format): / 21-08-2011 / 10:06:54 / cg"
 !
 
+buttonRelease: button x:x y:y in: view
+    "Handles an event in given view (a subview of codeView).
+     If the method returns true, the event will not be processed
+     by the view."
+
+    "/ if I show a quick senders/implementors menu, eat this event
+    ^ menuShown notNil
+!
+
 isQuickMenuModifierPressed
     UserPreferences current codeView2QuickSendersAndImplementorsOnControl ifTrue:[
         ^ textView sensor ctrlDown
@@ -656,11 +674,11 @@
 !CodeNavigationService class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.22 2013-03-19 19:23:55 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.23 2013-06-06 17:41:36 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.22 2013-03-19 19:23:55 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.23 2013-06-06 17:41:36 cg Exp $'
 !
 
 version_HG
@@ -669,6 +687,6 @@
 !
 
 version_SVN
-    ^ '§Id: Tools__CodeNavigationService.st 7788 2011-06-17 07:57:48Z vranyj1 §'
+    ^ '$Id: Tools__CodeNavigationService.st,v 1.23 2013-06-06 17:41:36 cg Exp $'
 ! !
 
--- a/Tools__CodeView2.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/Tools__CodeView2.st	Wed Jun 12 16:47:06 2013 +0100
@@ -1,6 +1,6 @@
 "
  COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
-              All Rights Reserved
+	      All Rights Reserved
 
 Permission is hereby granted, free of charge, to any person
 obtaining a copy of this software and associated documentation
@@ -64,7 +64,7 @@
 copyright
 "
  COPYRIGHT (c) 2010 by Jan Vrany, SWING Research Group. CTU in Prague
-              All Rights Reserved
+	      All Rights Reserved
 
 Permission is hereby granted, free of charge, to any person
 obtaining a copy of this software and associated documentation
@@ -132,13 +132,13 @@
 
 
     window := StandardSystemView new.
-    window extent: 300 @ 300.              
+    window extent: 300 @ 300.
     window label: 'CodeView2 example1'.
 
     codeView := Tools::CodeView2 in: window.
     codeView
-        origin: 0.1 @ 0.1
-        corner: 0.9 @ 0.9.
+	origin: 0.1 @ 0.1
+	corner: 0.9 @ 0.9.
 
 
     window open.
@@ -162,28 +162,28 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-              (
-               (MenuItem
-                  label: 'Inspect '
-                  itemValue: inspectView
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: 'Inspect Syntax Elements'
-                  itemValue: inspectSyntaxElements
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: 'Inspect Selected Selector'
-                  itemValue: inspectSelectedSelector
-                  translateLabel: true
-                )
-               )
-              nil
-              nil
-            )
+	      (
+	       (MenuItem
+		  label: 'Inspect '
+		  itemValue: inspectView
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: 'Inspect Syntax Elements'
+		  itemValue: inspectSyntaxElements
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: 'Inspect Selected Selector'
+		  itemValue: inspectSelectedSelector
+		  translateLabel: true
+		)
+	       )
+	      nil
+	      nil
+	    )
 
     "Created: / 08-07-2011 / 13:36:02 / cg"
 !
@@ -201,7 +201,7 @@
     "
 
     UserPreferences current eclipseStyleMenus ifTrue:[
-        ^ self editMenu_eclipseStyle
+	^ self editMenu_eclipseStyle
     ].
     ^ self editMenu_stxStyle
 
@@ -223,144 +223,144 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            label: 'Implementors...'
-            itemValue: browseImplementorsOfIt
-            translateLabel: true
-            submenuChannel: implementorsMenu
-            shortcutKey: ImplementorsOfIt
-          )
-         (MenuItem
-            label: 'Senders...'
-            itemValue: browseSendersOfIt
-            translateLabel: true
-            submenuChannel: sendersMenu
-            shortcutKey: SendersOfIt
-          )
-         (MenuItem
-            label: 'Refactor'
-            nameKey: refactor
-            translateLabel: true
-            isVisible: false
-            shortcutKey: Shift
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Accept'
-            itemValue: accept
-            translateLabel: true
-            shortcutKey: Accept
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Cut'
-            itemValue: cut
-            translateLabel: true
-            shortcutKey: Cut
-          )
-         (MenuItem
-            label: 'Copy'
-            itemValue: copySelection
-            translateLabel: true
-            shortcutKey: Copy
-          )
-         (MenuItem
-            label: 'Paste'
-            itemValue: pasteOrReplace
-            translateLabel: true
-            shortcutKey: Paste
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Undo'
-            itemValue: undo
-            translateLabel: true
-            shortcutKey: Undo
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Do it'
-            itemValue: doIt
-            translateLabel: true
-            shortcutKey: DoIt
-          )
-         (MenuItem
-            label: 'Print it'
-            itemValue: printIt
-            translateLabel: true
-            shortcutKey: PrintIt
-          )
-         (MenuItem
-            label: 'Inspect it'
-            itemValue: inspectIt
-            translateLabel: true
-            shortcutKey: InspectIt
-          )
-         (MenuItem
-            label: 'Profile it'
-            itemValue: profileIt
-            translateLabel: true
-            shortcutKey: InspectIt
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Show Gutter'
-            nameKey: ShowGutter
-            translateLabel: true
-            indication: showGutterChannel
-          )
-         (MenuItem
-            label: 'More'
-            nameKey: More
-            translateLabel: true
-          )
-         (MenuItem
-            label: 'Services'
-            translateLabel: true
-            submenuChannel: servicesMenu
-          )
-         (MenuItem
-            label: 'Debug'
-            translateLabel: true
-            submenu: 
-           (Menu
-              (
-               (MenuItem
-                  label: 'Inspect '
-                  itemValue: inspectView
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: 'Inspect Syntax Elements'
-                  itemValue: inspectSyntaxElements
-                  translateLabel: true
-                )
-               (MenuItem
-                  label: 'Inspect Selected Selector'
-                  itemValue: inspectSelectedSelector
-                  translateLabel: true
-                )
-               )
-              nil
-              nil
-            )
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    label: 'Implementors...'
+	    itemValue: browseImplementorsOfIt
+	    translateLabel: true
+	    submenuChannel: implementorsMenu
+	    shortcutKey: ImplementorsOfIt
+	  )
+	 (MenuItem
+	    label: 'Senders...'
+	    itemValue: browseSendersOfIt
+	    translateLabel: true
+	    submenuChannel: sendersMenu
+	    shortcutKey: SendersOfIt
+	  )
+	 (MenuItem
+	    label: 'Refactor'
+	    nameKey: refactor
+	    translateLabel: true
+	    isVisible: false
+	    shortcutKey: Shift
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Accept'
+	    itemValue: accept
+	    translateLabel: true
+	    shortcutKey: Accept
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Cut'
+	    itemValue: cut
+	    translateLabel: true
+	    shortcutKey: Cut
+	  )
+	 (MenuItem
+	    label: 'Copy'
+	    itemValue: copySelection
+	    translateLabel: true
+	    shortcutKey: Copy
+	  )
+	 (MenuItem
+	    label: 'Paste'
+	    itemValue: pasteOrReplace
+	    translateLabel: true
+	    shortcutKey: Paste
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Undo'
+	    itemValue: undo
+	    translateLabel: true
+	    shortcutKey: Undo
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Do it'
+	    itemValue: doIt
+	    translateLabel: true
+	    shortcutKey: DoIt
+	  )
+	 (MenuItem
+	    label: 'Print it'
+	    itemValue: printIt
+	    translateLabel: true
+	    shortcutKey: PrintIt
+	  )
+	 (MenuItem
+	    label: 'Inspect it'
+	    itemValue: inspectIt
+	    translateLabel: true
+	    shortcutKey: InspectIt
+	  )
+	 (MenuItem
+	    label: 'Profile it'
+	    itemValue: profileIt
+	    translateLabel: true
+	    shortcutKey: InspectIt
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Show Gutter'
+	    nameKey: ShowGutter
+	    translateLabel: true
+	    indication: showGutterChannel
+	  )
+	 (MenuItem
+	    label: 'More'
+	    nameKey: More
+	    translateLabel: true
+	  )
+	 (MenuItem
+	    label: 'Services'
+	    translateLabel: true
+	    submenuChannel: servicesMenu
+	  )
+	 (MenuItem
+	    label: 'Debug'
+	    translateLabel: true
+	    submenu:
+	   (Menu
+	      (
+	       (MenuItem
+		  label: 'Inspect '
+		  itemValue: inspectView
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: 'Inspect Syntax Elements'
+		  itemValue: inspectSyntaxElements
+		  translateLabel: true
+		)
+	       (MenuItem
+		  label: 'Inspect Selected Selector'
+		  itemValue: inspectSelectedSelector
+		  translateLabel: true
+		)
+	       )
+	      nil
+	      nil
+	    )
+	  )
+	 )
+	nil
+	nil
       )
 
     "Modified: / 08-03-2012 / 12:36:18 / cg"
@@ -381,101 +381,101 @@
 
     <resource: #menu>
 
-    ^ 
+    ^
      #(Menu
-        (
-         (MenuItem
-            label: 'Undo'
-            itemValue: undo
-            translateLabel: true
-            shortcutKey: Undo
-          )
-         (MenuItem
-            label: 'Again'
-            itemValue: again
-            translateLabel: true
-            shortcutKey: Again
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Cut'
-            itemValue: cut
-            translateLabel: true
-            shortcutKey: Cut
-          )
-         (MenuItem
-            label: 'Copy'
-            itemValue: copySelection
-            translateLabel: true
-            shortcutKey: Copy
-          )
-         (MenuItem
-            label: 'Paste'
-            itemValue: pasteOrReplace
-            translateLabel: true
-            shortcutKey: Paste
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'DoIt'
-            itemValue: doIt
-            translateLabel: true
-            shortcutKey: DoIt
-          )
-         (MenuItem
-            label: 'PrintIt'
-            itemValue: printIt
-            translateLabel: true
-            shortcutKey: PrintIt
-          )
-         (MenuItem
-            label: 'InspectIt'
-            itemValue: inspectIt
-            translateLabel: true
-            shortcutKey: InspectIt
-          )
-         (MenuItem
-            label: '-'
-          )
-         (MenuItem
-            label: 'Accept'
-            itemValue: accept
-            translateLabel: true
-            shortcutKey: Accept
-          )
-         (MenuItem
-            label: '-'
-            isVisible: false
-          )
-         (MenuItem
-            label: 'Refactor'
-            nameKey: refactor
-            translateLabel: true
-            isVisible: false
-            shortcutKey: Shift
-          )
-         (MenuItem
-            label: 'Services'
-            translateLabel: true
-            isVisible: false
-            submenuChannel: servicesMenu
-          )
-         (MenuItem
-            label: '='
-          )
-         (MenuItem
-            label: 'More'
-            nameKey: More
-            translateLabel: true
-            shortcutKey: Ctrl
-          )
-         )
-        nil
-        nil
+	(
+	 (MenuItem
+	    label: 'Undo'
+	    itemValue: undo
+	    translateLabel: true
+	    shortcutKey: Undo
+	  )
+	 (MenuItem
+	    label: 'Again'
+	    itemValue: again
+	    translateLabel: true
+	    shortcutKey: Again
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Cut'
+	    itemValue: cut
+	    translateLabel: true
+	    shortcutKey: Cut
+	  )
+	 (MenuItem
+	    label: 'Copy'
+	    itemValue: copySelection
+	    translateLabel: true
+	    shortcutKey: Copy
+	  )
+	 (MenuItem
+	    label: 'Paste'
+	    itemValue: pasteOrReplace
+	    translateLabel: true
+	    shortcutKey: Paste
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'DoIt'
+	    itemValue: doIt
+	    translateLabel: true
+	    shortcutKey: DoIt
+	  )
+	 (MenuItem
+	    label: 'PrintIt'
+	    itemValue: printIt
+	    translateLabel: true
+	    shortcutKey: PrintIt
+	  )
+	 (MenuItem
+	    label: 'InspectIt'
+	    itemValue: inspectIt
+	    translateLabel: true
+	    shortcutKey: InspectIt
+	  )
+	 (MenuItem
+	    label: '-'
+	  )
+	 (MenuItem
+	    label: 'Accept'
+	    itemValue: accept
+	    translateLabel: true
+	    shortcutKey: Accept
+	  )
+	 (MenuItem
+	    label: '-'
+	    isVisible: false
+	  )
+	 (MenuItem
+	    label: 'Refactor'
+	    nameKey: refactor
+	    translateLabel: true
+	    isVisible: false
+	    shortcutKey: Shift
+	  )
+	 (MenuItem
+	    label: 'Services'
+	    translateLabel: true
+	    isVisible: false
+	    submenuChannel: servicesMenu
+	  )
+	 (MenuItem
+	    label: '='
+	  )
+	 (MenuItem
+	    label: 'More'
+	    nameKey: More
+	    translateLabel: true
+	    shortcutKey: Ctrl
+	  )
+	 )
+	nil
+	nil
       )
 
     "Modified: / 02-03-2012 / 19:53:19 / cg"
@@ -501,9 +501,9 @@
 breakpoints
 
     services do:[:each|
-        (each isKindOf: BreakpointService) ifTrue:[
-            ^each breakpoints
-        ]
+	(each isKindOf: BreakpointService) ifTrue:[
+	    ^each breakpoints
+	]
     ].
     ^ nil
 
@@ -525,8 +525,8 @@
     methodHolder value ifNotNil:[^SyntaxHighlighter codeAspectMethod].
 
     ^((app := self topView application) notNil and:[app respondsTo: #codeAspect])
-        ifTrue:[app codeAspect]
-        ifFalse:[(SyntaxHighlighter codeAspectExpression)]
+	ifTrue:[app codeAspect]
+	ifFalse:[(SyntaxHighlighter codeAspectExpression)]
 
     "Modified: / 27-07-2011 / 13:05:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 27-07-2012 / 22:22:27 / cg"
@@ -534,12 +534,12 @@
 
 codeAspect:aSymbol
     self assert: ({  SyntaxHighlighter codeAspectClassDefinition .
-                    SyntaxHighlighter codeAspectExpression .
-                    SyntaxHighlighter codeAspectMethod } includes:aSymbol ).
+		    SyntaxHighlighter codeAspectExpression .
+		    SyntaxHighlighter codeAspectMethod } includes:aSymbol ).
 
     codeAspect ~~ aSymbol ifTrue:[
-        codeAspect := aSymbol.
-        self update: #codeAspect with: codeAspect from: self.
+	codeAspect := aSymbol.
+	self update: #codeAspect with: codeAspect from: self.
     ]
 
     "Modified: / 27-07-2012 / 22:32:19 / cg"
@@ -635,8 +635,8 @@
 mode: aSymbol
     "is this the same as codeAspect ?"
 
-    self assert: (#(expression method) includes: aSymbol).    
-    
+    self assert: (#(expression method) includes: aSymbol).
+
     ^self modeHolder value: aSymbol
 
     "Created: / 13-06-2011 / 10:50:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -656,16 +656,16 @@
     |oldValue newValue|
 
     textView model notNil ifTrue:[
-        oldValue := textView model value.
-        textView model removeDependent:self.
+	oldValue := textView model value.
+	textView model removeDependent:self.
     ].
     textView model: aValueModel.
     textView model notNil ifTrue:[
-        textView model addDependent:self.
+	textView model addDependent:self.
     ].
     newValue := textView model value.
     oldValue ~~ newValue ifTrue:[
-        self update:#value with:newValue from:textView model.
+	self update:#value with:newValue from:textView model.
     ].
 
     "Modified: / 17-03-2012 / 16:11:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -730,7 +730,7 @@
 synchronizeWith: aCodeView
 
     self assert: aCodeView ~= self.
-    (synchronizedCodeViews includes: aCodeView) ifTrue:[^self].    
+    (synchronizedCodeViews includes: aCodeView) ifTrue:[^self].
     synchronizedCodeViews := synchronizedCodeViews copyWith: aCodeView.
 
     "Created: / 06-04-2010 / 14:13:14 / Jakub <zelenja7@fel.cvut.cz>"
@@ -740,7 +740,7 @@
 unsynchronizeWith: aCodeView
 
     self assert: aCodeView ~= self.
-    (synchronizedCodeViews includes: aCodeView) ifFalse:[^self].    
+    (synchronizedCodeViews includes: aCodeView) ifFalse:[^self].
     synchronizedCodeViews := synchronizedCodeViews copyWithout: aCodeView.
 
     "Created: / 06-04-2010 / 14:13:14 / Jakub <zelenja7@fel.cvut.cz>"
@@ -809,7 +809,7 @@
 
 browserHolder
     browserHolder isNil ifTrue:[
-        browserHolder := ValueHolder new
+	browserHolder := ValueHolder new
     ].
     ^browserHolder
 
@@ -825,8 +825,8 @@
     "return/create the 'classHolder' value holder (automatically generated)"
 
     classHolder isNil ifTrue:[
-        classHolder := ValueHolder with: nil.
-        classHolder addDependent:self.
+	classHolder := ValueHolder with: nil.
+	classHolder addDependent:self.
     ].
     ^ classHolder
 
@@ -839,17 +839,17 @@
     |old oldValue newValue|
 
     classHolder notNil ifTrue:[
-        oldValue := classHolder value.
-        classHolder removeDependent:self.
+	oldValue := classHolder value.
+	classHolder removeDependent:self.
     ].
     classHolder := aValueModel.
     classHolder notNil ifTrue:[
-        classHolder addDependent:self.
+	classHolder addDependent:self.
     ].
     old := methodHolder.
     newValue := classHolder value.
     oldValue ~~ newValue ifTrue:[
-        self update:#value with:newValue from:classHolder.
+	self update:#value with:newValue from:classHolder.
     ].
 
     self changed: #classHolder with: old -> classHolder
@@ -861,7 +861,7 @@
     "return/create the 'currentBlockNodeHolder' value holder (automatically generated)"
 
     currentBlockNodeHolder isNil ifTrue:[
-        currentBlockNodeHolder := ValueHolder new.
+	currentBlockNodeHolder := ValueHolder new.
     ].
     ^ currentBlockNodeHolder
 !
@@ -876,7 +876,7 @@
     "return/create the 'currentParseNodeHolder' value holder (automatically generated)"
 
     currentParseNodeHolder isNil ifTrue:[
-        currentParseNodeHolder := ValueHolder new.
+	currentParseNodeHolder := ValueHolder new.
     ].
     ^ currentParseNodeHolder
 !
@@ -892,12 +892,12 @@
 
 languageHolder
     languageHolder isNil ifTrue:[
-        "/ cg: I dont like the smalltalk default here, because everyone who is not showing ST-code (expecco, filebrowser etc.)
-        "/ has to explicitely clear the valueholder. I guess, it is better for the few
-        "/ others to explicitely set it, if they do not provide syntaxHighlighter per method
-        "/ or class.
-        languageHolder := ValueHolder with: nil "SmalltalkLanguage instance".
-        languageHolder addDependent:self.
+	"/ cg: I dont like the smalltalk default here, because everyone who is not showing ST-code (expecco, filebrowser etc.)
+	"/ has to explicitely clear the valueholder. I guess, it is better for the few
+	"/ others to explicitely set it, if they do not provide syntaxHighlighter per method
+	"/ or class.
+	languageHolder := ValueHolder with: nil "SmalltalkLanguage instance".
+	languageHolder addDependent:self.
     ].
     ^ languageHolder
 
@@ -910,17 +910,17 @@
     |old oldValue newValue|
 
     languageHolder notNil ifTrue:[
-        oldValue := languageHolder value.
-        languageHolder removeDependent:self.
+	oldValue := languageHolder value.
+	languageHolder removeDependent:self.
     ].
     languageHolder := aValueModel.
     languageHolder notNil ifTrue:[
-        languageHolder addDependent:self.
+	languageHolder addDependent:self.
     ].
     old := languageHolder.
     newValue := languageHolder value.
     oldValue ~~ newValue ifTrue:[
-        self update:#value with:newValue from:languageHolder.
+	self update:#value with:newValue from:languageHolder.
     ].
 
     self changed: #languageHolder with: old -> languageHolder
@@ -933,8 +933,8 @@
     "return/create the 'methodHolder' value holder (automatically generated)"
 
     methodHolder isNil ifTrue:[
-        methodHolder := ValueHolder new.
-        methodHolder addDependent:self.
+	methodHolder := ValueHolder new.
+	methodHolder addDependent:self.
     ].
     ^ methodHolder
 !
@@ -945,17 +945,17 @@
     |old oldValue newValue|
 
     methodHolder notNil ifTrue:[
-        oldValue := methodHolder value.
-        methodHolder removeDependent:self.
+	oldValue := methodHolder value.
+	methodHolder removeDependent:self.
     ].
     old := methodHolder.
     methodHolder := aValueModel.
     methodHolder notNil ifTrue:[
-        methodHolder addDependent:self.
+	methodHolder addDependent:self.
     ].
     newValue := methodHolder value.
     oldValue ~~ newValue ifTrue:[
-        self update:#value with:newValue from:methodHolder.
+	self update:#value with:newValue from:methodHolder.
     ].
 
     self changed: #methodHolder with: old -> methodHolder
@@ -968,8 +968,8 @@
 
     "is this the codeAspect?"
     modeHolder isNil ifTrue:[
-        modeHolder := #expression asValue.
-        modeHolder addDependent:self.
+	modeHolder := #expression asValue.
+	modeHolder addDependent:self.
     ].
     ^ modeHolder
 
@@ -983,16 +983,16 @@
     |oldValue newValue|
 
     modeHolder notNil ifTrue:[
-        oldValue := modeHolder value.
-        modeHolder removeDependent:self.
+	oldValue := modeHolder value.
+	modeHolder removeDependent:self.
     ].
     modeHolder := something.
     modeHolder notNil ifTrue:[
-        modeHolder addDependent:self.
+	modeHolder addDependent:self.
     ].
     newValue := modeHolder value.
     oldValue ~~ newValue ifTrue:[
-        self update:#value with:newValue from:modeHolder.
+	self update:#value with:newValue from:modeHolder.
     ].
 
     self changed: #modeHolder with: modeHolder
@@ -1005,18 +1005,18 @@
 update:aspect with:param from:sender
 
     sender == modeHolder ifTrue:[
-        codeAspect := modeHolder value
+	codeAspect := modeHolder value
     ].
 
     sender == showGutterChannel ifTrue: [
-        self updateGutterVisibility.
-        ^self.
+	self updateGutterVisibility.
+	^self.
     ].
 
-    services do:[:each | 
-        each isEnabled ifTrue:[
-            each update:aspect with:param from:sender 
-        ]
+    services do:[:each |
+	each isEnabled ifTrue:[
+	    each update:aspect with:param from:sender
+	]
     ].
 
     super update:aspect with:param from:sender
@@ -1028,12 +1028,12 @@
 
 updateGutterVisibility
 
-    self showGutterChannel value ifTrue:[        
-        textViewScroller origin:(gutterView width @ 0.0) corner:(1.0 @ 1.0).
-        gutterView beVisible.
+    self showGutterChannel value ifTrue:[
+	textViewScroller origin:(gutterView width @ 0.0) corner:(1.0 @ 1.0).
+	gutterView beVisible.
     ] ifFalse:[
-        textViewScroller origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
-        gutterView beInvisible.
+	textViewScroller origin:(0.0 @ 0.0) corner:(1.0 @ 1.0).
+	gutterView beInvisible.
     ]
 
     "Created: / 23-06-2010 / 19:05:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1135,17 +1135,17 @@
 browseMethod: method label: label
 
     self browser isNil ifTrue: [^NewSystemBrowser openInMethod:method].
-    (UserPreferences current alwaysOpenNewTabWhenCtrlClick 
-        or:[self browser navigationState modified])  
-        ifTrue:
-            [self browser 
-                spawnFullBrowserInClass: method mclass 
-                selector:method selector 
-                in:#newBuffer]
-        ifFalse:
-            [self browser 
-                switchToClass: method containingClass 
-                selector: method selector].
+    (UserPreferences current alwaysOpenNewTabWhenCtrlClick
+	or:[self browser navigationState modified])
+	ifTrue:
+	    [self browser
+		spawnFullBrowserInClass: method mclass
+		selector:method selector
+		in:#newBuffer]
+	ifFalse:
+	    [self browser
+		switchToClass: method containingClass
+		selector: method selector].
 
     "Modified: / 19-02-2008 / 10:15:17 / janfrog"
     "Created: / 19-10-2008 / 08:16:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
@@ -1156,11 +1156,11 @@
 browseMethods: methods label: label
 
     methods size = 1 ifTrue:
-        [^self browseMethod: methods anyOne label: label].
-
-    self browser 
-        ifNil: [NewSystemBrowser browseMethods: methods title: label]
-        ifNotNil:[self browser spawnMethodBrowserFor:methods in:#newBuffer label:label]
+	[^self browseMethod: methods anyOne label: label].
+
+    self browser
+	ifNil: [NewSystemBrowser browseMethods: methods title: label]
+	ifNotNil:[self browser spawnMethodBrowserFor:methods in:#newBuffer label:label]
 
     "Created: / 26-12-2007 / 11:32:04 / janfrog"
     "Modified: / 19-10-2008 / 08:17:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
@@ -1172,23 +1172,23 @@
     selectedText := givenSelectedText.
     compilerClass := self language compilerClass.
     selectedText size > 0 ifTrue:[
-        "/ self windowGroup withWaitCursorDo:[
-            "/ hack, for now and expecco; must ask the Parser eventually...
-            (compilerClass notNil and:[compilerClass includesBehavior:JavaScriptParser]) ifTrue:[
-                "/ selector is in one piece anyway
-                (selectedText includes:$_) ifFalse:[
-                    "/ zero or one args - sigh (need to parse more to figure this out)
-                    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:1.
-                    selectedText := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:0.
-                ] ifTrue:[
-                    "/ count _#s plus one arg - sigh
-                    na := (selectedText occurrencesOf:$_) + 1. 
-                    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:na
-                ].
-            ] ifFalse:[
-                selector := SystemBrowser extractSelectorFrom:selectedText.
-            ].
-        "/ ]
+	"/ self windowGroup withWaitCursorDo:[
+	    "/ hack, for now and expecco; must ask the Parser eventually...
+	    (compilerClass notNil and:[compilerClass includesBehavior:JavaScriptParser]) ifTrue:[
+		"/ selector is in one piece anyway
+		(selectedText includes:$_) ifFalse:[
+		    "/ zero or one args - sigh (need to parse more to figure this out)
+		    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:1.
+		    selectedText := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:0.
+		] ifTrue:[
+		    "/ count _#s plus one arg - sigh
+		    na := (selectedText occurrencesOf:$_) + 1.
+		    selector := JavaScriptParser basicNew translatedSmalltalkSelectorFor:selectedText numArgs:na
+		].
+	    ] ifFalse:[
+		selector := SystemBrowser extractSelectorFrom:selectedText.
+	    ].
+	"/ ]
     ].
     ^Array with: selector with: selectedText
 
@@ -1200,21 +1200,32 @@
 
     selector isNil ifTrue:[^#()].
     ^SystemBrowser
-        findImplementorsOf: selector
-        in: Smalltalk allClasses
-        ignoreCase: false
+	findImplementorsOf: selector
+	in: Smalltalk allClasses
+	ignoreCase: false
 
     "Created: / 26-12-2007 / 11:37:11 / janfrog"
     "Modified: / 18-11-2011 / 14:58:17 / cg"
 !
 
 sendersOf: selector
+    |senderBlock|
 
     selector isNil ifTrue:[^#()].
-    ^SystemBrowser
-        findSendersOf: selector
-        in: Smalltalk allClasses
-        ignoreCase: false
+
+    "/ not exact, but much faster (looks for symbol only, does not parse code for real send)
+    senderBlock := SystemBrowser searchBlockForSymbol:selector.
+    senderBlock == false ifTrue:[ ^ #() ].
+
+    ^ SystemBrowser
+	allMethodsIn:Smalltalk allClasses
+	where:senderBlock.
+
+    "/ exact, but much slower
+"/    ^SystemBrowser
+"/        findSendersOf: selector
+"/        in: Smalltalk allClasses
+"/        ignoreCase: false
 
     "Created: / 26-12-2007 / 11:37:22 / janfrog"
     "Modified: / 30-06-2011 / 19:32:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1225,9 +1236,9 @@
 
 doesNotUnderstand: aMessage
 
-    ((textView respondsTo: aMessage selector) 
+    ((textView respondsTo: aMessage selector)
     and:[(TraceSelectors includes:aMessage selector) not])
-        ifTrue:[^aMessage sendTo: textView].
+	ifTrue:[^aMessage sendTo: textView].
     ^super doesNotUnderstand: aMessage
 
     "Created: / 13-02-2010 / 23:27:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1246,87 +1257,69 @@
 buttonMotion: button x:x y:y in: view
     "Delegates events to services. Answers true iff at least
      one service handler method returns true. In that case,
-     the event is is NOT passed to the rest of services AND it is NOT
-     processes by the view."
-
-    services do:[:service|
-        service isEnabled ifTrue:[
-            (service buttonMotion: button x:x y:y in: view) == true ifTrue:[
-                ^true
-            ].
-        ].
-    ].
-    ^ false
-
+     the event is is NOT processes by the view."
+
+    ^ services
+	contains:[:service |
+	    service isEnabled and:[ ((service buttonMotion: button x:x y:y in: view) == true) ]
+	].
+
+    "Modified: / 07-03-2010 / 13:53:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 06-10-2011 / 14:13:57 / cg"
-    "Modified: / 31-01-2012 / 12:21:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 buttonPress: button x:x y:y in: view
     "Delegates events to services. Answers true iff at least
      one service handler method returns true. In that case,
-     the event is is NOT passed to the rest of services AND it is NOT
-     processes by the view."
-
-    services do:[:service|
-        (service isEnabled and:[(service buttonPress: button x:x y:y in: view) == true]) ifTrue:[
-            ^true
-        ]
-    ].
-    ^false
-
+     the event is is NOT processes by the view."
+
+    ^ services
+	contains:[:service |
+	    service isEnabled and:[ ((service buttonPress: button x:x y:y in: view) == true) ]
+	].
+
+    "Modified: / 07-03-2010 / 13:53:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 06-10-2011 / 14:14:00 / cg"
     "Modified (format): / 05-03-2012 / 08:56:02 / cg"
-    "Modified: / 04-04-2012 / 12:42:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 keyPress: key x:x y:y in: view
     "Delegates events to services. Answers true iff at least
      one service handler method returns true. In that case,
-     the event is is NOT passed to the rest of services AND it is NOT
-     processes by the view."
-
-    services do:[:service|
-        service isEnabled ifTrue:[
-            (service keyPress: key x:x y:y in: view) == true ifTrue:[
-                ^true
-            ].
-        ].
-    ].
-    ^ false
-
+     the event is is NOT processes by the view."
+
+    ^ services
+	contains:[:service |
+	    service isEnabled and:[ ((service keyPress: key x:x y:y in: view) == true) ]
+	].
+
+    "Modified: / 07-03-2010 / 13:54:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 06-10-2011 / 14:14:11 / cg"
-    "Modified: / 31-01-2012 / 12:21:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 keyRelease: key x:x y:y in: view
     "Delegates events to services. Answers true iff at least
      one service handler method returns true. In that case,
-     the event is is NOT passed to the rest of services AND it is NOT
-     processes by the view."
-
-    services do:[:service|
-        service isEnabled ifTrue:[
-            (service keyRelease: key x:x y:y in: view) == true ifTrue:[
-                ^true
-            ].
-        ].
-    ].
-    ^ false
-
+     the event is is NOT processes by the view."
+
+    ^ services
+	contains:[:service |
+	    service isEnabled and:[ ((service keyRelease: key x:x y:y in: view) == true) ]
+	].
+
+    "Modified: / 07-03-2010 / 13:54:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 06-10-2011 / 14:14:13 / cg"
-    "Modified: / 31-01-2012 / 12:21:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 scrollTo:origin redraw:doRedraw in: view
     view == textView ifTrue: [
-        "/my text view scrolled...
-        synchronizedCodeViews do:[:codeView|
-            codeView scrollTo:origin redraw:doRedraw in: view.
-        ]
+	"/my text view scrolled...
+	synchronizedCodeViews do:[:codeView|
+	    codeView scrollTo:origin redraw:doRedraw in: view.
+	]
     ] ifFalse: [
-        "/other code view scrolls and I'm notified about that
-        textView basicScrollTo:origin redraw:doRedraw.
+	"/other code view scrolls and I'm notified about that
+	textView basicScrollTo:origin redraw:doRedraw.
     ]
 
     "Created: / 06-04-2010 / 14:02:39 / Jakub <zelenja7@fel.cvut.cz>"
@@ -1340,7 +1333,7 @@
      CodeViewService>>drawLine:in:atX..."
 
     services do:[:each|
-        each drawLine:lineNo in: view atX:x y:y width: w height:h from:startCol to:endColOrNil with:fg and:bg
+	each drawLine:lineNo in: view atX:x y:y width: w height:h from:startCol to:endColOrNil with:fg and:bg
     ]
 
     "Created: / 17-06-2011 / 13:50:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -1370,12 +1363,23 @@
 
 !CodeView2 methodsFor:'delegation-events'!
 
+buttonRelease: button x:x y:y in: view
+    "Delegates events to services. Answers true iff at least
+     one service handler method returns true. In that case,
+     the event is is NOT processes by the view."
+
+    ^ services
+	contains:[:service |
+	    service isEnabled and:[ ((service buttonRelease: button x:x y:y in: view) == true) ]
+	].
+!
+
 linesDeletedFrom: start to: end
 
     services do: [:each |
-        each isEnabled ifTrue: [
-            each linesDeletedFrom: start to: end
-        ]
+	each isEnabled ifTrue: [
+	    each linesDeletedFrom: start to: end
+	]
     ].
 
     "Created: / 06-07-2011 / 17:12:54 / jv"
@@ -1386,9 +1390,9 @@
 linesInsertedFrom: start to: end
 
     services do: [:each |
-        each isEnabled ifTrue: [
-            each linesInsertedFrom: start to: end
-        ]
+	each isEnabled ifTrue: [
+	    each linesInsertedFrom: start to: end
+	]
     ].
 
     "Created: / 06-07-2011 / 17:12:48 / jv"
@@ -1398,41 +1402,45 @@
 linesModifiedFrom: start to: end
 
     services do: [:each |
-        each isEnabled ifTrue: [
-            each linesModifiedFrom: start to: end
-        ]
+	each isEnabled ifTrue: [
+	    each linesModifiedFrom: start to: end
+	]
     ].
 
     "Created: / 06-07-2011 / 17:12:58 / jv"
     "Modified: / 06-10-2011 / 14:13:44 / cg"
-! !
+!
+
+
+
+ !
 
 !CodeView2 methodsFor:'diff mode'!
 
-recomputeDiff:view 
+recomputeDiff:view
     |t1 t2 pom diffHelper view2|
 
     t1 := view getNewOriginText.
-    synchronizedCodeViews do:[:codeView | 
-        view2 := codeView
+    synchronizedCodeViews do:[:codeView |
+	view2 := codeView
     ].
     view changedDiffText:false.
     view2 changedDiffText:false.
     t2 := view2 getNewOriginText.
     pom := DiffCodeView2 new.
     (view == textView) ifTrue:[
-        diffHelper := pom computeDiffDataForText1:t1 text2:t2.
-        (view) contents:(diffHelper text1).
-        (view) deletedLines:(diffHelper deleted).
-        (view) changedLines:(diffHelper changed).
-        (view) originDiffText:t1.
-        (view) emptyLines:(diffHelper inserted).
-        (view) changedLines:(diffHelper changed).
-        (view2) contents:(diffHelper text2).
-        (view2) insertedLines:(diffHelper inserted).
-        (view2) changedLines:(diffHelper changed).
-        (view2) originDiffText:t2.
-        (view2) emptyLines:(diffHelper deleted).
+	diffHelper := pom computeDiffDataForText1:t1 text2:t2.
+	(view) contents:(diffHelper text1).
+	(view) deletedLines:(diffHelper deleted).
+	(view) changedLines:(diffHelper changed).
+	(view) originDiffText:t1.
+	(view) emptyLines:(diffHelper inserted).
+	(view) changedLines:(diffHelper changed).
+	(view2) contents:(diffHelper text2).
+	(view2) insertedLines:(diffHelper inserted).
+	(view2) changedLines:(diffHelper changed).
+	(view2) originDiffText:t2.
+	(view2) emptyLines:(diffHelper deleted).
     ].
 
     "Modified: / 22-06-2010 / 23:35:41 / Jakub <zelenja7@fel.cvut.cz>"
@@ -1444,13 +1452,13 @@
 initialize
     "Invoked when a new instance is created."
     "Call super initialize"
-    
+
     super initialize.
      "Now set up some visual properties"
     self level:-1.
      "Now initialize sub-views"
     showGutterChannel := ValueHolder with: true.
-    showGutterChannel addDependent: self.     
+    showGutterChannel addDependent: self.
     "/ toDo: I don't like two options in the settings;
     "/ showAcceptCancelBarChannel := (ValueHolder with: (UserPreferences current showAcceptCancelBarInBrowser)).
     showAcceptCancelBarChannel := ValueHolder with: (UserPreferences current codeView2ShowAcceptCancel).
@@ -1464,7 +1472,7 @@
     self initializeGutterView.
     self initializeTextView.
     textView setCodeView:self.
-    modifiedChannel := ValueHolder with:false.    
+    modifiedChannel := ValueHolder with:false.
     diffMode := false.
     synchronizedCodeViews := #().
     currentParseNodeHolder := ValueHolder new.
@@ -1496,14 +1504,14 @@
     "/ only do it, if the services have not yet been defined by the user of this view
     "/ (FileBrowser does not want Smalltalk-specific services)
     servicesFromClient ifFalse:[
-        serviceClasses := CodeViewService availableServices 
-            sort:[:a :b|
-                a priority = b priority 
-                    ifTrue:[a name < b name]
-                    ifFalse:[a priority > b priority]].
-        serviceClasses do:[:cls|
-            self registerService: cls new
-        ].
+	serviceClasses := CodeViewService availableServices
+	    sort:[:a :b|
+		a priority = b priority
+		    ifTrue:[a name < b name]
+		    ifFalse:[a priority > b priority]].
+	serviceClasses do:[:cls|
+	    self registerService: cls new
+	].
     ].
 
     "Modified: / 06-10-2011 / 14:16:01 / cg"
@@ -1514,9 +1522,9 @@
     "Initialize textView. gutterView has to be already initialized!!"
 
     textViewScroller
-        origin: ((self showGutter ifTrue:[gutterView width] ifFalse:[0.0]) @ 0.0)
-        corner: 1.0@1.0;
-        level: 0.
+	origin: ((self showGutter ifTrue:[gutterView width] ifFalse:[0.0]) @ 0.0)
+	corner: 1.0@1.0;
+	level: 0.
     textView level: 0.
 
     textView modifiedChannel addDependent: self.
@@ -1640,7 +1648,7 @@
     moreMenu := superEditMenu subMenuAt: superEditMenu numberOfItems.
 
     textView sensor ctrlDown ifTrue:[
-        ^superEditMenu
+	^superEditMenu
     ].
 
     editMenu := self class editMenu decodeAsLiteralArray.
@@ -1662,26 +1670,26 @@
 
     selectedText := textView selectionAsString.
     selectedText size > 0 ifTrue:[
-        "/ self windowGroup withWaitCursorDo:[
-            selectorAndSelectedText := self extractSelectorAndSelectedTextFrom:  selectedText.
-            selector := selectorAndSelectedText first.
-            selectedText := selectorAndSelectedText second.
-
-            (selector notNil and:[selector = selectedText]) ifTrue:[
-                implementors := (SystemBrowser 
-                                    findImplementorsOf:selectedText "Any: (Array with:selectedText)" 
-                                    in:(Smalltalk allClasses) 
-                                    ignoreCase:false)
-
-            ] ifFalse:[
-                implementors := (SystemBrowser 
-                                    findImplementorsOfAny:(Array with:selectedText with: selector) 
-                                    in:(Smalltalk allClasses) 
-                                    ignoreCase:false)
-            ].
-        "/ ] 
+	"/ self windowGroup withWaitCursorDo:[
+	    selectorAndSelectedText := self extractSelectorAndSelectedTextFrom:  selectedText.
+	    selector := selectorAndSelectedText first.
+	    selectedText := selectorAndSelectedText second.
+
+	    (selector notNil and:[selector = selectedText]) ifTrue:[
+		implementors := (SystemBrowser
+				    findImplementorsOf:selectedText "Any: (Array with:selectedText)"
+				    in:(Smalltalk allClasses)
+				    ignoreCase:false)
+
+	    ] ifFalse:[
+		implementors := (SystemBrowser
+				    findImplementorsOfAny:(Array with:selectedText with: selector)
+				    in:(Smalltalk allClasses)
+				    ignoreCase:false)
+	    ].
+	"/ ]
     ] ifFalse:[
-        implementors := #().
+	implementors := #().
     ].
 
     ^self implementorsMenu: implementors selector: (selector ? selectedText)
@@ -1691,28 +1699,28 @@
     "Modified: / 05-03-2012 / 09:02:43 / cg"
 !
 
-implementorsMenu: implementors selector: selector  
+implementorsMenu: implementors selector: selector
     | menu|
 
     menu := Menu new.
     implementors isEmptyOrNil ifTrue:[
-        menu addItem:(MenuItem label:'No implementors found') disable
+	menu addItem:(MenuItem label:'No implementors found') disable
     ] ifFalse:[
-        menu addItem:(MenuItem 
-                    label:(selector storeString , (' (all implementors) ') asText allItalic)
-                    value:[
-                        self browseMethods:implementors
-                            label:'Implementors of ' , selector storeString
-                    ]).
-
-        menu addSeparator.
-        (implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name])
-        "implementors" do:[:mth | 
-            menu 
-                addItem:(MenuItem label:(selector storeString 
-                                , (' in ' , mth containingClass name asText allBold))
-                        value:[ self browseMethod:mth label: 'Implementor of ' , selector storeString  ])
-        ]
+	menu addItem:(MenuItem
+		    label:(selector storeString , (' (all implementors) ') asText allItalic)
+		    value:[
+			self browseMethods:implementors
+			    label:'Implementors of ' , selector storeString
+		    ]).
+
+	menu addSeparator.
+	(implementors asOrderedCollection sort:[:a :b | a mclass name < b mclass name])
+	"implementors" do:[:mth |
+	    menu
+		addItem:(MenuItem label:(selector storeString
+				, (' in ' , mth containingClass name asText allBold))
+			value:[ self browseMethod:mth label: 'Implementor of ' , selector storeString  ])
+	]
     ].
     ^ menu
 
@@ -1727,26 +1735,26 @@
 
     selectedText := textView selectionAsString.
     selectedText size > 0 ifTrue:[
-        "/ self windowGroup withWaitCursorDo:[
-            selectorAndSelectedText := self extractSelectorAndSelectedTextFrom:  selectedText.
-            selector := selectorAndSelectedText first.
-            selectedText := selectorAndSelectedText second.
-
-            (selector notNil and:[selector = selectedText]) ifTrue:[
-                senders := (SystemBrowser 
-                                findSendersOf:selectedText "Any:(Array with:selectedText)" 
-                                in:(Smalltalk allClasses) 
-                                ignoreCase:false)
-
-            ] ifFalse:[
-                senders := (SystemBrowser 
-                                findSendersOfAny:(Array with:selectedText with: selector) 
-                                in:(Smalltalk allClasses) 
-                                ignoreCase:false)
-            ].
-        "/ ] 
+	"/ self windowGroup withWaitCursorDo:[
+	    selectorAndSelectedText := self extractSelectorAndSelectedTextFrom:  selectedText.
+	    selector := selectorAndSelectedText first.
+	    selectedText := selectorAndSelectedText second.
+
+	    (selector notNil and:[selector = selectedText]) ifTrue:[
+		senders := (SystemBrowser
+				findSendersOf:selectedText "Any:(Array with:selectedText)"
+				in:(Smalltalk allClasses)
+				ignoreCase:false)
+
+	    ] ifFalse:[
+		senders := (SystemBrowser
+				findSendersOfAny:(Array with:selectedText with: selector)
+				in:(Smalltalk allClasses)
+				ignoreCase:false)
+	    ].
+	"/ ]
     ] ifFalse:[
-        senders := #().
+	senders := #().
     ].
 
     ^self sendersMenu: senders selector: (selector ? selectedText)
@@ -1756,34 +1764,34 @@
     "Modified: / 05-03-2012 / 09:02:56 / cg"
 !
 
-sendersMenu: senders  selector: selector  
+sendersMenu: senders  selector: selector
     | menu shownSenderItems numCut sendersSorted|
 
     menu := Menu new.
     senders isEmptyOrNil ifTrue:[
-        menu addItem:(MenuItem label:'No senders found') disable
+	menu addItem:(MenuItem label:'No senders found') disable
     ] ifFalse:[
-        menu addItem:(MenuItem 
-                    label:(selector storeString , (' (all senders)') asText allItalic)
-                    value:[
-                        self browseMethods:senders
-                            label:'Senders of ' , selector storeString
-                    ]).
-        menu addSeparator.
-        sendersSorted := senders asOrderedCollection 
-                            sort:[:a :b | a whoString < b whoString].
-        shownSenderItems := (senders size > 20) ifTrue:[sendersSorted copyTo:20] ifFalse:[sendersSorted].
-        numCut := senders size - 20.
-        shownSenderItems do:[:mth | 
-            menu 
-                addItem:(MenuItem label:(mth selector storeString 
-                                , (' in ' , mth containingClass name asText allBold))
-                        value:[ self browseMethod:mth label: 'Sender of ' , selector storeString ])
-        ].
-        numCut > 0 ifTrue:[
-            menu addSeparator.
-            menu addItem:(MenuItem label:('... %1 more senders not shown here' bindWith:numCut)) disable
-        ].
+	menu addItem:(MenuItem
+		    label:(selector storeString , (' (all senders)') asText allItalic)
+		    value:[
+			self browseMethods:senders
+			    label:'Senders of ' , selector storeString
+		    ]).
+	menu addSeparator.
+	sendersSorted := senders asOrderedCollection
+			    sort:[:a :b | a whoString < b whoString].
+	shownSenderItems := (senders size > 20) ifTrue:[sendersSorted copyTo:20] ifFalse:[sendersSorted].
+	numCut := senders size - 20.
+	shownSenderItems do:[:mth |
+	    menu
+		addItem:(MenuItem label:(mth selector storeString
+				, (' in ' , mth containingClass name asText allBold))
+			value:[ self browseMethod:mth label: 'Sender of ' , selector storeString ])
+	].
+	numCut > 0 ifTrue:[
+	    menu addSeparator.
+	    menu addItem:(MenuItem label:('... %1 more senders not shown here' bindWith:numCut)) disable
+	].
     ].
     ^ menu
 
@@ -1804,17 +1812,17 @@
     menu addSeparator.
 
     anyService := false.
-    services do:[:service | 
-        |item|
-
-        item := MenuItem label:(resources string:service label).
-        item indication:((AspectAdaptor forAspect:#enabled) subject:service).
-        menu addItem:item.
-        anyService := true.
+    services do:[:service |
+	|item|
+
+	item := MenuItem label:(resources string:service label).
+	item indication:((AspectAdaptor forAspect:#enabled) subject:service).
+	menu addItem:item.
+	anyService := true.
     ].
 
     anyService ifTrue:[
-        menu addSeparator.
+	menu addSeparator.
     ].
 
     item := MenuItem label:(resources string:'Debug').
@@ -1830,7 +1838,7 @@
 !CodeView2 methodsFor:'private'!
 
 codeCompletion
-    |cls 
+    |cls
 "/     crsrPos interval node checkedNode
 "/     char start stop selectorSoFar matchingSelectors
     |
@@ -1838,16 +1846,16 @@
 
     cls := self classHolder value.
     cls isNil ifTrue:[
-        self showInfo:'No class'.
-        ^ self.
+	self showInfo:'No class'.
+	^ self.
     ].
     UserInformation handle:[:ex |
-        self showInfo:(ex messageText).
-        ex proceed.
+	self showInfo:(ex messageText).
+	ex proceed.
     ] do:[
-        self withWaitCursorDo:[
-            DoWhatIMeanSupport codeCompletionForClass:cls codeView:self.
-        ]
+	self withWaitCursorDo:[
+	    DoWhatIMeanSupport codeCompletionForClass:cls codeView:self.
+	]
     ].
     ^ self.
 
@@ -1911,28 +1919,28 @@
 
     "/ higher prio to prevent it from being changed while we convert it (by editing)
     Processor activeProcess
-        withHigherPriorityDo:[
-            changedSource := textView contentsAsString asStringCollection.
-        ].
+	withHigherPriorityDo:[
+	    changedSource := textView contentsAsString asStringCollection.
+	].
     changedSource := changedSource collect:[:line | line string withoutTrailingSeparators withTabsExpanded].
     changedSource := changedSource collect:[:line | line isEmpty ifTrue:[nil] ifFalse:[line]].
     [changedSource size > 0 and:[changedSource last isNil]] whileTrue:[
-        changedSource := changedSource copyButLast:1
+	changedSource := changedSource copyButLast:1
     ].
     changedSource := changedSource asString.
 
-        originalSource := textView model value ? ''.
-
-        originalSource := originalSource asStringCollection.
-        originalSource := originalSource collect:[:line | line string withoutTrailingSeparators withTabsExpanded].
-        originalSource := originalSource collect:[:line | line isEmpty ifTrue:[nil] ifFalse:[line]].
-        [originalSource size > 0 and:[originalSource last isNil]] whileTrue:[
-            originalSource := originalSource copyButLast:1
-        ].
-
-        s1 := originalSource asString.
-        s2 := changedSource asString.
-        modified := (s1 ~= s2).
+	originalSource := textView model value ? ''.
+
+	originalSource := originalSource asStringCollection.
+	originalSource := originalSource collect:[:line | line string withoutTrailingSeparators withTabsExpanded].
+	originalSource := originalSource collect:[:line | line isEmpty ifTrue:[nil] ifFalse:[line]].
+	[originalSource size > 0 and:[originalSource last isNil]] whileTrue:[
+	    originalSource := originalSource copyButLast:1
+	].
+
+	s1 := originalSource asString.
+	s2 := changedSource asString.
+	modified := (s1 ~= s2).
 
     ^ modified
 
@@ -1944,8 +1952,8 @@
 
     | app |
     (app := self topView application) ifNotNil:
-        [(app respondsTo: #showInfo:) ifTrue:
-            [app showInfo: message]].
+	[(app respondsTo: #showInfo:) ifTrue:
+	    [app showInfo: message]].
 
     "Modified: / 13-02-2010 / 23:25:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
@@ -1966,11 +1974,11 @@
 syntaxElementSelection:anElement
     syntaxElementSelection := anElement.
     anElement isNil ifTrue:[
-        currentParseNodeHolder value: nil.
-        currentBlockNodeHolder value: nil.
+	currentParseNodeHolder value: nil.
+	currentBlockNodeHolder value: nil.
     ] ifFalse:[
-        currentParseNodeHolder value: anElement node.
-        currentBlockNodeHolder value: anElement node enclosingBlock.
+	currentParseNodeHolder value: anElement node.
+	currentBlockNodeHolder value: anElement node enclosingBlock.
     ]
 
     "Modified: / 16-02-2012 / 23:06:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2003,7 +2011,7 @@
 postRealize
 
     services do:[:service|
-        service viewRealized.
+	service viewRealized.
     ]
 
     "Created: / 23-01-2012 / 10:35:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2077,7 +2085,7 @@
     "Created: / 07-10-2011 / 19:53:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-cancelButtonBottom  
+cancelButtonBottom
 
     ^(self height * 0.8) ceiling.
 
@@ -2086,10 +2094,10 @@
 
 padding
 
-    ^self paddingLeft + self paddingRight 
-        + self usedWidthForAcceptCancel    
-        + (widthAnnotations ? 0) 
-        + (widthDiffInfo ? 0)
+    ^self paddingLeft + self paddingRight
+	+ self usedWidthForAcceptCancel
+	+ (widthAnnotations ? 0)
+	+ (widthDiffInfo ? 0)
 
     "Created: / 14-02-2010 / 22:28:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 07-10-2011 / 19:01:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2120,9 +2128,9 @@
 
     font := self font.
     w := (font widthOf:'00') + self padding.
-    h := textView notNil 
-            ifTrue:[textView height] 
-            ifFalse:[font height * 12].
+    h := textView notNil
+	    ifTrue:[textView height]
+	    ifFalse:[font height * 12].
 
     ^preferredExtent := w @ h
 
@@ -2161,8 +2169,8 @@
     "return/create the 'currentBlockNodeHolder' value holder (automatically generated)"
 
     currentBlockNodeHolder isNil ifTrue:[
-        currentBlockNodeHolder := ValueHolder new.
-        currentBlockNodeHolder addDependent:self.
+	currentBlockNodeHolder := ValueHolder new.
+	currentBlockNodeHolder addDependent:self.
     ].
     ^ currentBlockNodeHolder
 !
@@ -2173,16 +2181,16 @@
     |oldValue newValue|
 
     currentBlockNodeHolder notNil ifTrue:[
-        oldValue := currentBlockNodeHolder value.
-        currentBlockNodeHolder removeDependent:self.
+	oldValue := currentBlockNodeHolder value.
+	currentBlockNodeHolder removeDependent:self.
     ].
     currentBlockNodeHolder := something.
     currentBlockNodeHolder notNil ifTrue:[
-        currentBlockNodeHolder addDependent:self.
+	currentBlockNodeHolder addDependent:self.
     ].
     newValue := currentBlockNodeHolder value.
     oldValue ~~ newValue ifTrue:[
-        self update:#value with:newValue from:currentBlockNodeHolder.
+	self update:#value with:newValue from:currentBlockNodeHolder.
     ].
 ! !
 
@@ -2192,22 +2200,22 @@
     self shown ifFalse:[^self].
 
     (changedObject == textView) ifTrue:[
-        (something == #sizeOfContents) ifTrue:[
-            "/ cg: with that test, it does not update when the text becomes smaller...
-"/            (firstLineShown ~= textView firstLineShown 
+	(something == #sizeOfContents) ifTrue:[
+	    "/ cg: with that test, it does not update when the text becomes smaller...
+"/            (firstLineShown ~= textView firstLineShown
 "/            or:[lastLineShown ~= (textView lastLineShown - 1)]) ifTrue:[
-                self invalidate.
-                ^self.
+		self invalidate.
+		^self.
 "/            ]
-        ].
+	].
     ].
     (changedObject == textView reallyModifiedChannel) ifTrue:[
-        self invalidate.
+	self invalidate.
     ].
 
     changedObject == codeView currentBlockNodeHolder ifTrue:[
-         self invalidate.
-         ^ self.
+	 self invalidate.
+	 ^ self.
     ].
 
 
@@ -2227,18 +2235,18 @@
     |extraSafeArea|
 
     (x <= (self paddingLeft + self usedWidthForAcceptCancel)) ifTrue:[
-        textView reallyModified ifTrue:[
-            (y < self acceptButtonBottom) ifTrue:[
-                self accept.
-                ^self.
-            ].
-            (y < self cancelButtonBottom) ifTrue:[
-                self cancel.
-                ^self.            
-            ].
-            self diff.
-        ].
-        ^self.
+	textView reallyModified ifTrue:[
+	    (y < self acceptButtonBottom) ifTrue:[
+		self accept.
+		^self.
+	    ].
+	    (y < self cancelButtonBottom) ifTrue:[
+		self cancel.
+		^self.
+	    ].
+	    self diff.
+	].
+	^self.
     ].
 
 false ifTrue:[
@@ -2248,13 +2256,13 @@
 ].
 
     ((x > (self paddingLeft + self usedWidthForAcceptCancel)) or:
-        [x < (self width - self paddingRight - widthDiffInfo)]
+	[x < (self width - self paddingRight - widthDiffInfo)]
     ) ifTrue:[
-        (codeView buttonPress: btn x:x y:y in: self) ifFalse:[
-            super buttonPress: btn x: x y: y
-        ]
+	(codeView buttonPress: btn x:x y:y in: self) ifFalse:[
+	    super buttonPress: btn x: x y: y
+	]
     ] ifFalse:[
-        super buttonPress: btn x: x y: y
+	super buttonPress: btn x: x y: y
     ]
 
     "Created: / 17-06-2011 / 13:02:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2353,26 +2361,26 @@
     | rw acceptBottom cancelBottom |
 
     x > ((self paddingLeft) + (widthAcceptCancel ? 0)) ifTrue:[
-        ^self.
+	^self.
     ].
     rw := ((x + w) min: (self paddingLeft + (widthAcceptCancel ? 0))) - x.
-    
+
 
     textView reallyModified ifFalse:[
-        self fillRectangleX:x y:y width:rw height:h color: self viewBackground
+	self fillRectangleX:x y:y width:rw height:h color: self viewBackground
     ] ifTrue:[
-        acceptBottom := self acceptButtonBottom.
-        cancelBottom := self cancelButtonBottom.
-        y < acceptBottom ifTrue:[
-            self fillRectangleX:x y:y width:rw height: ((y + h) min: acceptBottom) color: acceptColor.
-        ].
-        (y < cancelBottom) ifTrue:[
-            self fillRectangleX:x y: acceptBottom + 1width:rw height: ((y + h) min: cancelBottom) - acceptBottom - 1color: cancelColor.
-        ].  
-        (y + h >= cancelBottom) ifTrue:[
-            self fillRectangleX:x y: cancelBottom + 1 width:rw height: (y + h) - cancelBottom - 1 color: diffColor.
-        ]
-    
+	acceptBottom := self acceptButtonBottom.
+	cancelBottom := self cancelButtonBottom.
+	y < acceptBottom ifTrue:[
+	    self fillRectangleX:x y:y width:rw height: ((y + h) min: acceptBottom) color: acceptColor.
+	].
+	(y < cancelBottom) ifTrue:[
+	    self fillRectangleX:x y: acceptBottom + 1width:rw height: ((y + h) min: cancelBottom) - acceptBottom - 1color: cancelColor.
+	].
+	(y + h >= cancelBottom) ifTrue:[
+	    self fillRectangleX:x y: cancelBottom + 1 width:rw height: (y + h) - cancelBottom - 1 color: diffColor.
+	]
+
     ]
 
     "Created: / 07-10-2011 / 19:44:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2382,19 +2390,19 @@
     "redraws gutter background"
 
     "background is filled with background color"
-    self 
-        fillRectangleX:x
-        y:y
-        width:w
-        height:h
-        color: self viewBackground "backgroundPaint". 
+    self
+	fillRectangleX:x
+	y:y
+	width:w
+	height:h
+	color: self viewBackground "backgroundPaint".
 
     "separator line is drawn with foreground color"
-    self 
-        displayLineFromX:(self width - 2)
-        y:y
-        toX:(self width - 2)
-        y:(y+h).
+    self
+	displayLineFromX:(self width - 2)
+	y:y
+	toX:(self width - 2)
+	y:(y+h).
 
     "Created: / 14-12-2009 / 13:15:53 / Jindra <a>"
     "Modified: / 14-12-2009 / 15:09:54 / Jindra <a>"
@@ -2402,7 +2410,7 @@
     "Modified (comment): / 07-10-2011 / 19:37:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-redrawLine:line 
+redrawLine:line
 
     ^self redrawLine:line cleared: false.
 
@@ -2411,7 +2419,7 @@
 
 redrawLine:line cleared: cleared
     "redraws specified line. Returns width of drawn object. Color of drawn objects should be taken from lineFont, lineColor"
-    
+
     |lineString y0 yOfLine textW requiredW oldFont newFont oldColor newColor|
 
     lineString := self displayedString:line.
@@ -2421,43 +2429,43 @@
     oldFont := self font.
     oldColor := self paint.
     newFont := self lineFont:line.
-    newFont isNil ifTrue:[ 
-        newFont := oldFont.
-        newColor := self lineColor:line.
-        newColor notNil ifTrue:[ self paint:newColor ].
+    newFont isNil ifTrue:[
+	newFont := oldFont.
+	newColor := self lineColor:line.
+	newColor notNil ifTrue:[ self paint:newColor ].
     ] ifFalse:[
-        self font:newFont. 
+	self font:newFont.
     ].
     (newFont heightOn:device) > (textView font heightOn:device) ifTrue:[
-        newFont := textView font.
-        self font:newFont
+	newFont := textView font.
+	self font:newFont
     ].
 
-    y0 := (textView yOfLine:line) 
-          + (textView font ascentOn:device)
-          "/ - (newFont descentOn:device)
-          + 1.
+    y0 := (textView yOfLine:line)
+	  + (textView font ascentOn:device)
+	  "/ - (newFont descentOn:device)
+	  + 1.
 
     cleared ifFalse:[
-        self clearRectangleX:0 y:y0 - font height width: self width - 2 height: font height + font descent.
+	self clearRectangleX:0 y:y0 - font height width: self width - 2 height: font height + font descent.
     ].
 
     "Let the services to draw annotations and other stuff"
     codeView
-        drawLine:line in: self 
-        atX: self paddingLeft + self usedWidthForAcceptCancel y:y0 width: widthAnnotations height: font height
-        from:nil to:nil with:self paint and: self backgroundColor.
-    self 
-        displayString:lineString
-        x:(self width - textW - self paddingRight - widthDiffInfo)
-        y:y0.
+	drawLine:line in: self
+	atX: self paddingLeft + self usedWidthForAcceptCancel y:y0 width: widthAnnotations height: font height
+	from:nil to:nil with:self paint and: self backgroundColor.
+    self
+	displayString:lineString
+	x:(self width - textW - self paddingRight - widthDiffInfo)
+	y:y0.
     newFont notNil ifTrue:[
-        self font:oldFont.
-        self paint:oldColor
-    ] ifFalse:[ 
-        newColor notNil ifTrue:[ 
-            self paint:oldColor 
-        ]. 
+	self font:oldFont.
+	self paint:oldColor
+    ] ifFalse:[
+	newColor notNil ifTrue:[
+	    self paint:oldColor
+	].
     ].
 
     ^ requiredW.
@@ -2470,20 +2478,20 @@
 redrawLinesFrom:start
 
     start to: (textView lastLineShown - 1 min: textView list size) do:[:line|
-        self redrawLine:line cleared: false.
+	self redrawLine:line cleared: false.
     ]
 
     "Created: / 06-07-2011 / 17:25:36 / jv"
     "Modified: / 12-07-2011 / 17:14:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-redrawX:x y:y width:w height:h 
+redrawX:x y:y width:w height:h
     | requiredW currentW |
 
     self redrawBackgroundX:x y:y width:w height:h.
 
-    codeView showAcceptCancelBar ifTrue:[    
-        self redrawAcceptCancelBarX:x y:y width:w height:h.
+    codeView showAcceptCancelBar ifTrue:[
+	self redrawAcceptCancelBarX:x y:y width:w height:h.
     ].
 
     firstLineShown := textView firstLineShown.
@@ -2491,13 +2499,13 @@
 
     currentW := requiredW := self width.
     firstLineShown to:lastLineShown do:
-        [:line | 
-        requiredW := requiredW max: (self redrawLine:line cleared: true)].
+	[:line |
+	requiredW := requiredW max: (self redrawLine:line cleared: true)].
 
     (requiredW > self width) ifTrue:[
-        self corner:(requiredW @ 1.0).
-        textViewScroller origin:(requiredW @ 0.0) corner:(1.0 @ 1.0).
-        self invalidate.
+	self corner:(requiredW @ 1.0).
+	textViewScroller origin:(requiredW @ 0.0) corner:(1.0 @ 1.0).
+	self invalidate.
     ].
 
     "Created: / 03-09-2009 / 08:22:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2522,7 +2530,7 @@
     "Modified: / 26-04-2010 / 21:48:13 / Jakub <zelenja7@fel.cvut.cz>"
 !
 
-changedLines:something 
+changedLines:something
     changedLines := something.
 
     "Created: / 26-04-2010 / 20:30:19 / Jakub <zelenja7@fel.cvut.cz>"
@@ -2554,7 +2562,7 @@
     "Modified: / 26-04-2010 / 21:48:23 / Jakub <zelenja7@fel.cvut.cz>"
 !
 
-deletedLines:something 
+deletedLines:something
     deletedLines := something.
 
     "Modified: / 26-04-2010 / 21:48:54 / Jakub <zelenja7@fel.cvut.cz>"
@@ -2589,7 +2597,7 @@
     "Modified: / 26-04-2010 / 21:48:27 / Jakub <zelenja7@fel.cvut.cz>"
 !
 
-insertedLines:something 
+insertedLines:something
     insertedLines := something.
 
     "Modified: / 26-04-2010 / 21:48:59 / Jakub <zelenja7@fel.cvut.cz>"
@@ -2713,14 +2721,14 @@
 
     prev := reallyModifiedChannel.
     prev notNil ifTrue:[
-        gutterView notNil ifTrue:[
-            reallyModifiedChannel removeDependent: gutterView.
-        ]
+	gutterView notNil ifTrue:[
+	    reallyModifiedChannel removeDependent: gutterView.
+	]
     ].
     reallyModifiedChannel := aValueModel.
     self setupChannel:aValueModel for:nil withOld:prev.
     gutterView notNil ifTrue:[
-        reallyModifiedChannel addDependent: gutterView.
+	reallyModifiedChannel addDependent: gutterView.
     ]
 
     "Created: / 07-10-2011 / 18:50:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -2730,35 +2738,35 @@
 
 isQuickMenuModifierPressed
     UserPreferences current codeView2QuickSendersAndImplementorsOnControl ifTrue:[
-        ^ self sensor ctrlDown
+	^ self sensor ctrlDown
     ].
     ^ self sensor metaDown
 !
 
 isQuickMenuModifierReleased
     UserPreferences current codeView2QuickSendersAndImplementorsOnControl ifTrue:[
-        ^ self sensor ctrlDown not
+	^ self sensor ctrlDown not
     ].
     ^ self sensor metaDown not
 ! !
 
 !CodeView2::TextView methodsFor:'drawing'!
 
-backgroundForVisibleLine:visLineNr default:bg 
+backgroundForVisibleLine:visLineNr default:bg
     | lineNr |
 
 
     diffMode ifTrue:[
-        lineNr := self visibleLineToListLine:visLineNr.
-        (insertedLines notEmptyOrNil and:[insertedLines includes:lineNr]) ifTrue:[
-            ^self colorInserted
-        ].
-        (changedLines notEmptyOrNil and:[changedLines includes:lineNr]) ifTrue:[
-            ^self colorChanged
-        ].
-        (deletedLines notEmptyOrNil and:[deletedLines includes:lineNr]) ifTrue:[
-            ^self colorDeleted
-        ].
+	lineNr := self visibleLineToListLine:visLineNr.
+	(insertedLines notEmptyOrNil and:[insertedLines includes:lineNr]) ifTrue:[
+	    ^self colorInserted
+	].
+	(changedLines notEmptyOrNil and:[changedLines includes:lineNr]) ifTrue:[
+	    ^self colorChanged
+	].
+	(deletedLines notEmptyOrNil and:[deletedLines includes:lineNr]) ifTrue:[
+	    ^self colorDeleted
+	].
     ].
     ^ bg
 
@@ -2769,25 +2777,25 @@
     "draw a visible line range in fg/bg"
 
     diffMode ifFalse:[
-        super drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg.
-        ^self.
+	super drawFromVisibleLine:startVisLineNr to:endVisLineNr with:fg and:bg.
+	^self.
     ].
 
     startVisLineNr to: endVisLineNr do:[:visLineNr|
-        self drawVisibleLine: visLineNr with:fg and:bg
+	self drawVisibleLine: visLineNr with:fg and:bg
     ]
 
     "Modified: / 15-12-1999 / 23:19:39 / cg"
     "Created: / 17-03-2012 / 09:44:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-drawLine:line fromX:x inVisible:visLineNr with:fg and:bg 
-    super 
-        drawLine:line
-        fromX:x
-        inVisible:visLineNr
-        with:fg
-        and:(self backgroundForVisibleLine:visLineNr default:bg).
+drawLine:line fromX:x inVisible:visLineNr with:fg and:bg
+    super
+	drawLine:line
+	fromX:x
+	inVisible:visLineNr
+	with:fg
+	and:(self backgroundForVisibleLine:visLineNr default:bg).
 
     "Created: / 05-04-2010 / 12:07:07 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 02-05-2010 / 18:46:00 / Jakub <zelenja7@fel.cvut.cz>"
@@ -2795,56 +2803,58 @@
 !
 
 drawLine:lineStringArg inVisible:visLineNr col:col with:fg and:bg
-    super 
-        drawLine:lineStringArg
-        inVisible:visLineNr
-        col:col
-        with:fg
-        and:(self backgroundForVisibleLine:visLineNr default:bg).
+    super
+	drawLine:lineStringArg
+	inVisible:visLineNr
+	col:col
+	with:fg
+	and:(self backgroundForVisibleLine:visLineNr default:bg).
 
     "Created: / 05-04-2010 / 11:49:42 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 02-05-2010 / 18:45:56 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 17-03-2012 / 10:04:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-drawLine:lineStringArg inVisible:visLineNr from:startCol to:endColOrNil with:fg and:bg 
-    super 
-        drawLine:lineStringArg
-        inVisible:visLineNr
-        from:startCol
-        to:endColOrNil
-        with:fg
-        and:(self backgroundForVisibleLine:visLineNr default:bg).
+drawLine:lineStringArg inVisible:visLineNr from:startCol to:endColOrNil with:fg and:bg
+    super
+	drawLine:lineStringArg
+	inVisible:visLineNr
+	from:startCol
+	to:endColOrNil
+	with:fg
+	and:(self backgroundForVisibleLine:visLineNr default:bg).
 
     "Created: / 05-04-2010 / 11:54:54 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 02-05-2010 / 18:45:52 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 17-03-2012 / 10:04:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-drawLine:lineString inVisible:visLineNr from:startCol with:fg and:bg 
-    super 
-        drawLine:lineString
-        inVisible:visLineNr
-        from:startCol
-        with:fg
-        and:(self backgroundForVisibleLine:visLineNr default:bg).
+drawLine:lineString inVisible:visLineNr from:startCol with:fg and:bg
+    super
+	drawLine:lineString
+	inVisible:visLineNr
+	from:startCol
+	with:fg
+	and:(self backgroundForVisibleLine:visLineNr default:bg).
 
     "Created: / 05-04-2010 / 11:54:26 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 02-05-2010 / 18:45:48 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 17-03-2012 / 10:04:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-drawVisibleLine:visLineNr with:fg and:bg 
-    super 
-        drawVisibleLine:visLineNr
-        with:fg
-        and:(self backgroundForVisibleLine:visLineNr default:bg).
+drawVisibleLine:visLineNr with:fg and:bg
+    super
+	drawVisibleLine:visLineNr
+	with:fg
+	and:(self backgroundForVisibleLine:visLineNr default:bg).
 
     "Created: / 05-04-2010 / 11:49:42 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 02-05-2010 / 18:45:44 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 17-03-2012 / 10:04:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 redrawLines
     |i pom|
 
@@ -2856,39 +2866,39 @@
     (pom) ifTrue:[ ^ self. ].
     i := 1.
     [
-        i <= (deletedLines size)
+	i <= (deletedLines size)
     ] whileTrue:[
-        ((deletedLines at:i) > 0) ifTrue:[
-            super 
-                drawVisibleLine:(deletedLines at:i)
-                with:fgColor
-                and:self colorDeleted.
-        ].
-        i := i + 1.
+	((deletedLines at:i) > 0) ifTrue:[
+	    super
+		drawVisibleLine:(deletedLines at:i)
+		with:fgColor
+		and:self colorDeleted.
+	].
+	i := i + 1.
     ].
     i := 1.
     [
-        i <= (insertedLines size)
+	i <= (insertedLines size)
     ] whileTrue:[
-        ((insertedLines at:i) > 0) ifTrue:[
-            super 
-                drawVisibleLine:(insertedLines at:i)
-                with:fgColor
-                and:self colorInserted.
-        ].
-        i := i + 1.
+	((insertedLines at:i) > 0) ifTrue:[
+	    super
+		drawVisibleLine:(insertedLines at:i)
+		with:fgColor
+		and:self colorInserted.
+	].
+	i := i + 1.
     ].
     i := 1.
     [
-        i <= (changedLines size)
+	i <= (changedLines size)
     ] whileTrue:[
-        ((changedLines at:i) > 0) ifTrue:[
-            super 
-                drawVisibleLine:(changedLines at:i)
-                with:fgColor
-                and:self colorChanged.
-        ].
-        i := i + 1.
+	((changedLines at:i) > 0) ifTrue:[
+	    super
+		drawVisibleLine:(changedLines at:i)
+		with:fgColor
+		and:self colorChanged.
+	].
+	i := i + 1.
     ].
 
     "Created: / 26-04-2010 / 21:04:31 / Jakub <zelenja7@fel.cvut.cz>"
@@ -2902,11 +2912,11 @@
     super contentsChanged.
     "
     codeView diffMode ifTrue:[
-        changedDiffText ifTrue:[
-            codeView recomputeDiff:self.
-        ] ifFalse:[
-            changedDiffText := true.
-        ].  
+	changedDiffText ifTrue:[
+	    codeView recomputeDiff:self.
+	] ifFalse:[
+	    changedDiffText := true.
+	].
     ]
     "
 
@@ -2926,45 +2936,45 @@
     wasOn := self hideCursor.
 
     "JV@2012-01-06: Do not play with autoindent iff cursor is at the very beginning of the line"
-    (autoIndent 
+    (autoIndent
     and:[cursorCol ~~ 1
-    and:[ (tabPositions includes:cursorCol) 
+    and:[ (tabPositions includes:cursorCol)
     ]]) ifTrue:[
-        prevTab := (self prevTabBefore:cursorCol) max:1.
-        "JV@2011-12-10: The list can be shorter than cursorLine,
-         trailing because empty lines are not physically in the list."
-        (list size >= cursorLine) ifTrue:[
-            ln := originalLine := (list at:cursorLine) ? ''.
-        ] ifFalse:[        
-            ln := originalLine := ''.
-        ].    
-        ln size < prevTab ifTrue:[
-            ln := ln , (String new:prevTab withAll:Character space).
-        ].
-        (ln copyTo:prevTab) isBlank ifTrue:[
-            (ln copyFrom:prevTab+1) isBlank ifTrue:[
-                cursorCol > prevTab ifTrue:[
-                    self st80EditMode ifTrue:[
-                        "/ ensure that there is no conflict here: st80EditMode will
-                        "/ not allow a cursor position beyond the end of line,
-                        "/ so avoid that cursorLine:col: will force us to the beginning of the line
-                        originalLine size < prevTab ifTrue:[
-                            self at:cursorLine put:ln
-                        ]
-                    ].
-                    self cursorLine:cursorLine col:prevTab.
-                    wasOn ifTrue:[ self showCursor ].
-                    ^  self
-                ].
-            ] ifFalse:[
-                "/ (ln copyFrom:prevTab+1 to:cursorCol-1) isBlank ifTrue:[
-                    self deleteFromLine:cursorLine col:prevTab toLine:cursorLine col:cursorCol-1.
-                    self cursorLine:cursorLine col:prevTab.
-                    wasOn ifTrue:[ self showCursor ].
-                    ^  self.
-                "/ ]
-            ]
-        ].
+	prevTab := (self prevTabBefore:cursorCol) max:1.
+	"JV@2011-12-10: The list can be shorter than cursorLine,
+	 trailing because empty lines are not physically in the list."
+	(list size >= cursorLine) ifTrue:[
+	    ln := originalLine := (list at:cursorLine) ? ''.
+	] ifFalse:[
+	    ln := originalLine := ''.
+	].
+	ln size < prevTab ifTrue:[
+	    ln := ln , (String new:prevTab withAll:Character space).
+	].
+	(ln copyTo:prevTab) isBlank ifTrue:[
+	    (ln copyFrom:prevTab+1) isBlank ifTrue:[
+		cursorCol > prevTab ifTrue:[
+		    self st80EditMode ifTrue:[
+			"/ ensure that there is no conflict here: st80EditMode will
+			"/ not allow a cursor position beyond the end of line,
+			"/ so avoid that cursorLine:col: will force us to the beginning of the line
+			originalLine size < prevTab ifTrue:[
+			    self at:cursorLine put:ln
+			]
+		    ].
+		    self cursorLine:cursorLine col:prevTab.
+		    wasOn ifTrue:[ self showCursor ].
+		    ^  self
+		].
+	    ] ifFalse:[
+		"/ (ln copyFrom:prevTab+1 to:cursorCol-1) isBlank ifTrue:[
+		    self deleteFromLine:cursorLine col:prevTab toLine:cursorLine col:cursorCol-1.
+		    self cursorLine:cursorLine col:prevTab.
+		    wasOn ifTrue:[ self showCursor ].
+		    ^  self.
+		"/ ]
+	    ]
+	].
     ].
 
 "/        (autoIndent
@@ -2980,32 +2990,32 @@
 "/            ]
 "/        ]
 "/    ] ifFalse:[
-        soCol := 1.
+	soCol := 1.
 "/    ].
 
     (cursorCol ~~ soCol and:[cursorCol ~~ 1]) ifTrue:[
-        "
-         somewhere in the middle of a line
-        "
-        self cursorLeft.
-        self deleteCharAtLine:cursorLine col:cursorCol.
+	"
+	 somewhere in the middle of a line
+	"
+	self cursorLeft.
+	self deleteCharAtLine:cursorLine col:cursorCol.
     ] ifFalse:[
-        "
-         at begin of line - merge with previous line;
-         except for the very first line.
-        "
-        (cursorLine == 1) ifFalse:[
-            lineNrAboveCursor := self validateCursorLine:(cursorLine - 1).
-            lineNrAboveCursor < cursorLine ifTrue:[
-                (lineNrAboveCursor > 0 and:[lineNrAboveCursor > list size]) ifTrue:[
-                    "/ we are beyond the end of the text.
-                    "/ move the cursor to the previous line.
-                    self cursorLine:lineNrAboveCursor col:1.
-                ] ifFalse:[
-                    self mergeLine:lineNrAboveCursor removeBlanks:false.
-                ]
-            ]
-        ]
+	"
+	 at begin of line - merge with previous line;
+	 except for the very first line.
+	"
+	(cursorLine == 1) ifFalse:[
+	    lineNrAboveCursor := self validateCursorLine:(cursorLine - 1).
+	    lineNrAboveCursor < cursorLine ifTrue:[
+		(lineNrAboveCursor > 0 and:[lineNrAboveCursor > list size]) ifTrue:[
+		    "/ we are beyond the end of the text.
+		    "/ move the cursor to the previous line.
+		    self cursorLine:lineNrAboveCursor col:1.
+		] ifFalse:[
+		    self mergeLine:lineNrAboveCursor removeBlanks:false.
+		]
+	    ]
+	]
     ].
     wasOn ifTrue:[ self showCursor ]
 
@@ -3022,20 +3032,20 @@
     text:=''.
     emptyLines isNil ifTrue:[emptyLines := #()].
     [ i <= size ] whileTrue:[
-        pom := emptyLines indexOf:i.
-        (pom = 0) ifFalse:[
-            helperText := pole at:i.
-            (helperText = '') ifFalse:[
-                (helperText isNil)ifTrue:[helperText:=''].
-                helperText:=helperText,Character cr.
-                text := text asString , helperText asString.
-            ].
-        ] ifTrue:[
-            helperText := pole at:i.
-            (helperText isNil)ifTrue:[helperText:=''].
-            helperText:=helperText,Character cr.
-            text := text asString , helperText asString.
-        ].
+	pom := emptyLines indexOf:i.
+	(pom = 0) ifFalse:[
+	    helperText := pole at:i.
+	    (helperText = '') ifFalse:[
+		(helperText isNil)ifTrue:[helperText:=''].
+		helperText:=helperText,Character cr.
+		text := text asString , helperText asString.
+	    ].
+	] ifTrue:[
+	    helperText := pole at:i.
+	    (helperText isNil)ifTrue:[helperText:=''].
+	    helperText:=helperText,Character cr.
+	    text := text asString , helperText asString.
+	].
     i:=i+1.
     ].
 ^text
@@ -3056,7 +3066,7 @@
     "Created: / 16-09-2011 / 15:13:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-basicDeleteFromLine:startLineNr toLine:endLineNr 
+basicDeleteFromLine:startLineNr toLine:endLineNr
 
     super basicDeleteFromLine:startLineNr toLine:endLineNr.
     self notifyLinesDeletedFrom:startLineNr to:endLineNr.
@@ -3107,9 +3117,9 @@
     wasAutoIndent := autoIndent.
     autoIndent := false.
     [
-        super insertLines:someText from:start to:end before:lineNr.
+	super insertLines:someText from:start to:end before:lineNr.
     ] ensure:[
-        autoIndent := wasAutoIndent
+	autoIndent := wasAutoIndent
     ]
 
     "Created: / 20-12-2011 / 15:32:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -3120,7 +3130,7 @@
 buttonMotion:button x:x y:y
 
     (codeView buttonMotion:button x:x y:y in: self)
-        ifFalse:[super buttonMotion:button x:x y:y].
+	ifFalse:[super buttonMotion:button x:x y:y].
 
     "Created: / 14-02-2010 / 16:23:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 06-03-2010 / 20:10:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -3130,26 +3140,31 @@
     | ctrlDown  |
 
     (codeView buttonPress:button x:x y:y in: self)
-        ifFalse:[super buttonPress:button x:x y:y].
+	ifFalse:[super buttonPress:button x:x y:y].
     "
-    ((ctrlDown := self sensor ctrlDown) and: [ codeView syntaxElementSelection notNil]) 
-        ifTrue: [codeView buttonPressInTextView: button x:x y:y ctrlDown: ctrlDown].
-    super 
-        buttonPress: button
-        x: x
-        y: y
+    ((ctrlDown := self sensor ctrlDown) and: [ codeView syntaxElementSelection notNil])
+	ifTrue: [codeView buttonPressInTextView: button x:x y:y ctrlDown: ctrlDown].
+    super
+	buttonPress: button
+	x: x
+	y: y
     "
 
     "Created: / 14-02-2010 / 18:12:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 06-03-2010 / 20:37:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-exposeX:x y:y width:w height:h 
-    super 
-        exposeX:x
-        y:y
-        width:w
-        height:h.
+buttonRelease: button x: x y: y
+    (codeView buttonRelease:button x:x y:y in: self)
+	ifFalse:[super buttonRelease:button x:x y:y].
+!
+
+exposeX:x y:y width:w height:h
+    super
+	exposeX:x
+	y:y
+	width:w
+	height:h.
     self redrawLines.
 
     "Created: / 05-04-2010 / 10:07:50 / Jakub <zelenja7@fel.cvut.cz>"
@@ -3158,7 +3173,7 @@
 
 keyPress:key x:x y:y
     (codeView keyPress:key x:x y:y in: self)
-        ifFalse:[super keyPress:key x:x y:y].
+	ifFalse:[super keyPress:key x:x y:y].
 
     "Modified: / 06-03-2010 / 20:34:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 05-04-2010 / 09:55:52 / Jakub <zelenja7@fel.cvut.cz>"
@@ -3167,15 +3182,15 @@
 keyRelease: key x: x y: y
 
     (codeView keyRelease:key x:x y:y in: self)
-        ifFalse:[super keyRelease:key x:x y:y].
+	ifFalse:[super keyRelease:key x:x y:y].
     "
     (key = #Control_L) ifTrue:
-        [ codeView highlightClear. self redraw ].
-
-    ^ super 
-        keyRelease: key
-        x: x
-        y: y
+	[ codeView highlightClear. self redraw ].
+
+    ^ super
+	keyRelease: key
+	x: x
+	y: y
     "
 
     "Created: / 14-02-2010 / 16:38:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -3191,31 +3206,31 @@
     "Bit hacky here, should ask language some language toolbox
     for formatting helper, that should do it..."
     (lang notNil and:[lang isSmalltalk]) ifTrue:[
-        | line lineNo indent |
-        lineNo := lineNr.    
-        [lineNo ~~ 1] whileTrue:[
-            lineNo  := lineNo - 1.
-            line := self listAt:lineNo.
-
-            line notNil ifTrue:[
-                indent := line indexOfNonSeparatorStartingAt:1.
-                "beggining od block"
-                line notEmptyOrNil ifTrue:[
-                    line last == $[ ifTrue:[
-                        indent := indent + 4.
-                    ] ifFalse:[
-                        "end of block args"
-                        (line last == $| and: [line includes: $[]) ifTrue:[
-                            indent := indent + 4.
-                        ]   
-                    ].        
-                ].
-                indent ~~ 0 ifTrue:[
-                ^ indent - 1
-                ]
-            ]            
-        ].
-        ^0.
+	| line lineNo indent |
+	lineNo := lineNr.
+	[lineNo ~~ 1] whileTrue:[
+	    lineNo  := lineNo - 1.
+	    line := self listAt:lineNo.
+
+	    line notNil ifTrue:[
+		indent := line indexOfNonSeparatorStartingAt:1.
+		"beggining od block"
+		line notEmptyOrNil ifTrue:[
+		    line last == $[ ifTrue:[
+			indent := indent + 4.
+		    ] ifFalse:[
+			"end of block args"
+			(line last == $| and: [line includes: $[]) ifTrue:[
+			    indent := indent + 4.
+			]
+		    ].
+		].
+		indent ~~ 0 ifTrue:[
+		^ indent - 1
+		]
+	    ]
+	].
+	^0.
     ].
     ^super leftIndentForLine:lineNr
 
@@ -3408,10 +3423,10 @@
     modified := false.
 
     list size ~~ listOriginal size ifTrue:[
-        modified := true.
+	modified := true.
     ] ifFalse:[
-        "/ cg: don't do that (collecting original/changedSource); 
-        "/ for huge files (>8Mb), this makes editing annoying slow (editing a trace output, for example)
+	"/ cg: don't do that (collecting original/changedSource);
+	"/ for huge files (>8Mb), this makes editing annoying slow (editing a trace output, for example)
 "/        changedSource := list ? #().
 "/        changedSource := changedSource collect:[:line | line isEmptyOrNil ifTrue:[nil] ifFalse:[line]].
 "/        [changedSource size > 0 and:[changedSource last isNil]] whileTrue:[
@@ -3429,12 +3444,12 @@
 "/            | i stopIndex |
 "/
 "/            i := 1.
-"/            stopIndex := originalSource size + 1.            
+"/            stopIndex := originalSource size + 1.
 "/            [ modified not and:[ i < stopIndex ] ] whileTrue:[
 "/                | originalL changedL |
 "/
 "/                originalL := ((originalSource at: i) ? '') string.
-"/                changedL :=  ((changedSource  at: i) ? '') string.                
+"/                changedL :=  ((changedSource  at: i) ? '') string.
 "/                originalL ~= changedL ifTrue:[
 "/                    originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
 "/                        modified := true.
@@ -3443,38 +3458,38 @@
 "/                i := i + 1.
 "/            ]
 "/        ].
-        "/ instead, do everything without collecting a new stringcollection.
-        changedSource := list ? #().
-        lastLineOfChangedSource := changedSource size.
-        [lastLineOfChangedSource > 0 and:[(changedSource at:lastLineOfChangedSource) isEmptyOrNil]] whileTrue:[
-            lastLineOfChangedSource := lastLineOfChangedSource - 1.
-        ].        
-        originalSource := listOriginal ? #().
-        lastLineOfOriginalSource := originalSource size.
-        [lastLineOfOriginalSource > 0 and:[(originalSource at:lastLineOfOriginalSource) isEmptyOrNil]] whileTrue:[
-            lastLineOfOriginalSource := lastLineOfOriginalSource - 1.
-        ].        
-
-        lastLineOfOriginalSource ~~ lastLineOfChangedSource ifTrue:[
-            modified := true.
-        ] ifFalse:[
-            | i stopIndex |
-
-            i := 1.
-            stopIndex := lastLineOfOriginalSource + 1.            
-            [ modified not and:[ i < stopIndex ] ] whileTrue:[
-                | originalL changedL |
-
-                originalL := ((originalSource at: i) ? '') string.
-                changedL :=  ((changedSource  at: i) ? '') string.                
-                originalL ~= changedL ifTrue:[
-                    originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
-                        modified := true.
-                    ]
-                ].
-                i := i + 1.
-            ]
-        ].
+	"/ instead, do everything without collecting a new stringcollection.
+	changedSource := list ? #().
+	lastLineOfChangedSource := changedSource size.
+	[lastLineOfChangedSource > 0 and:[(changedSource at:lastLineOfChangedSource) isEmptyOrNil]] whileTrue:[
+	    lastLineOfChangedSource := lastLineOfChangedSource - 1.
+	].
+	originalSource := listOriginal ? #().
+	lastLineOfOriginalSource := originalSource size.
+	[lastLineOfOriginalSource > 0 and:[(originalSource at:lastLineOfOriginalSource) isEmptyOrNil]] whileTrue:[
+	    lastLineOfOriginalSource := lastLineOfOriginalSource - 1.
+	].
+
+	lastLineOfOriginalSource ~~ lastLineOfChangedSource ifTrue:[
+	    modified := true.
+	] ifFalse:[
+	    | i stopIndex |
+
+	    i := 1.
+	    stopIndex := lastLineOfOriginalSource + 1.
+	    [ modified not and:[ i < stopIndex ] ] whileTrue:[
+		| originalL changedL |
+
+		originalL := ((originalSource at: i) ? '') string.
+		changedL :=  ((changedSource  at: i) ? '') string.
+		originalL ~= changedL ifTrue:[
+		    originalL withoutTrailingSeparators ~= changedL withoutTrailingSeparators ifTrue:[
+			modified := true.
+		    ]
+		].
+		i := i + 1.
+	    ]
+	].
 
     ].
 
@@ -3493,6 +3508,8 @@
 
 !CodeView2::TextView methodsFor:'scrolling'!
 
+
+
 basicScrollTo:anOrigin redraw:doRedraw
     super scrollTo:anOrigin redraw:doRedraw
 
@@ -3501,6 +3518,8 @@
     "Created: / 19-03-2012 / 17:01:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+
+
 originChanged:delta
 
     super originChanged:delta.
@@ -3510,6 +3529,8 @@
     "Created: / 07-12-2009 / 21:50:49 / Jindra <a>"
 !
 
+
+
 scrollTo:anOrigin redraw:doRedraw
 
     codeView scrollTo:anOrigin redraw:doRedraw in: self.
@@ -3518,7 +3539,9 @@
     "Modified: / 06-04-2010 / 14:04:28 / Jakub <zelenja7@fel.cvut.cz>"
     "Modified: / 17-03-2012 / 10:06:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Created: / 19-03-2012 / 17:05:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
+!
+
+ !
 
 !CodeView2::TextView methodsFor:'undo & again'!
 
@@ -3541,11 +3564,11 @@
 !CodeView2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.74 2013-05-29 17:26:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.77 2013-06-06 19:39:41 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.74 2013-05-29 17:26:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.77 2013-06-06 19:39:41 cg Exp $'
 !
 
 version_HG
@@ -3554,7 +3577,7 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeView2.st,v 1.74 2013-05-29 17:26:31 cg Exp $'
+    ^ '$Id: Tools__CodeView2.st,v 1.77 2013-06-06 19:39:41 cg Exp $'
 ! !
 
 
--- a/Tools__CodeViewService.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/Tools__CodeViewService.st	Wed Jun 12 16:47:06 2013 +0100
@@ -247,7 +247,6 @@
 !CodeViewService methodsFor:'event handling'!
 
 buttonMotion: button x:x y:y in: view
-
     "Handles an event in given view (a subview of codeView).
      If the method returns true, it has eaten the event and it will not be processed
      by the view."
@@ -260,7 +259,6 @@
 !
 
 buttonPress: button x:x y:y in: view
-
     "Handles an event in given view (a subview of codeView).
      If the method returns true, it has eaten the event and it will not be processed
      by the view."
@@ -272,8 +270,15 @@
     "Modified (comment): / 18-08-2011 / 15:57:36 / cg"
 !
 
+buttonRelease: button x:x y:y in: view
+    "Handles an event in given view (a subview of codeView).
+     If the method returns true, it has eaten the event and it will not be processed
+     by the view."
+
+    ^false
+!
+
 keyPress:key x:x y:y in: view
-
     "Handles an event in given view (a subview of codeView).
      If the method returns true, it has eaten the event and it will not be processed
      by the view."
@@ -286,7 +291,6 @@
 !
 
 keyRelease: key x: x y: y in: view
-
     "Handles an event in given view (a subview of codeView).
      If the method returns true, it has eaten the event and it will not be processed
      by the view."
@@ -417,7 +421,7 @@
 !
 
 version_CVS
-    ^ '§Header: /cvs/stx/stx/libtool/Tools__CodeViewService.st,v 1.8 2012/01/24 12:56:23 vrany Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeViewService.st,v 1.9 2013-06-06 12:03:57 cg Exp $'
 !
 
 version_HG
@@ -426,6 +430,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeViewService.st 7860 2012-02-01 10:42:29Z vranyj1 $'
+    ^ '$Id: Tools__CodeViewService.st,v 1.9 2013-06-06 12:03:57 cg Exp $'
 ! !
 
--- a/Tools__Inspector2.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/Tools__Inspector2.st	Wed Jun 12 16:47:06 2013 +0100
@@ -430,14 +430,12 @@
         (
          (MenuItem
             label: 'File'
-            translateLabel: true
             submenu: 
            (Menu
               (
                (MenuItem
                   label: 'Exit'
                   itemValue: closeRequest
-                  translateLabel: true
                 )
                )
               nil
@@ -446,14 +444,12 @@
           )
          (MenuItem
             label: 'View'
-            translateLabel: true
             submenu: 
            (Menu
               (
                (MenuItem
                   label: 'Expand Arrays in "all xxx"-Lists'
                   itemValue: expandArraysInAllList:
-                  translateLabel: true
                   indication: expandArraysInAllList
                 )
                (MenuItem
@@ -461,7 +457,6 @@
                 )
                (MenuItem
                   label: 'Color Setting'
-                  translateLabel: true
                   submenuChannel: settingsMenu
                 )
                )
@@ -469,6 +464,28 @@
               nil
             )
           )
+         (MenuItem
+            label: 'Help'
+            startGroup: conditionalRight
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Documentation'
+                  itemValue: openDocumentation
+                )
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'About this Application...'
+                  itemValue: openAboutThisApplication
+                )
+               )
+              nil
+              nil
+            )
+          )
          )
         nil
         nil
@@ -495,52 +512,53 @@
         (
          (MenuItem
             label: 'Default'
-            nameKey: #'Default'
-            translateLabel: true
+            nameKey: Default
+            hideMenuOnActivated: false
             choice: colorProfileHolder
             choiceValue: default
           )
          (MenuItem
+            label: '-'
+          )
+         (MenuItem
             label: 'Red'
-            nameKey: #'Red'
-            translateLabel: true
+            nameKey: Red
+            hideMenuOnActivated: false
             choice: colorProfileHolder
             choiceValue: red
           )
          (MenuItem
             label: 'Green'
-            nameKey: #'Green'
-            translateLabel: true
+            nameKey: Green
+            hideMenuOnActivated: false
+            choice: colorProfileHolder
             choiceValue: green
-            choice: colorProfileHolder
           )
          (MenuItem
             label: 'Blue'
-            nameKey: #'Blue'
-            translateLabel: true
+            nameKey: Blue
+            hideMenuOnActivated: false
+            choice: colorProfileHolder
             choiceValue: blue
-            choice: colorProfileHolder
           )
          (MenuItem
             label: 'Yellow'
-            nameKey: #'Yellow'
-            translateLabel: true
+            nameKey: Yellow
+            hideMenuOnActivated: false
+            choice: colorProfileHolder
             choiceValue: yellow
-            choice: colorProfileHolder
           )
          (MenuItem
             label: 'Gray'
-            nameKey: #'Gray'
-            translateLabel: true
+            nameKey: Gray
+            hideMenuOnActivated: false
+            choice: colorProfileHolder
             choiceValue: gray
-            choice: colorProfileHolder
           )
          )
         nil
         nil
       )
-
-    "Modified: / 17-01-2012 / 13:00:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 toolbarMenu
@@ -912,6 +930,26 @@
 
     "Created: / 12-01-2008 / 18:57:30 / janfrog"
     "Modified: / 22-02-2008 / 16:58:11 / janfrog"
+!
+
+settingsMenu
+    |m|
+
+    m := self class settingsMenu decodeAsLiteralArray.
+    m itemsDo:[:eachItem |
+        |lbl labelWithColor clr|
+
+        lbl := resources string:eachItem label.
+        (eachItem choiceValue ? #default) ~~ #default ifTrue:[
+            clr := Color perform:eachItem choiceValue.
+            labelWithColor := lbl asText backgroundColorizeAllWith:clr.
+            clr brightness < 0.5 ifTrue:[
+                labelWithColor := labelWithColor colorizeAllWith:Color white.
+            ].
+            eachItem label:labelWithColor.
+        ].
+    ].
+    ^ m
 ! !
 
 !Inspector2 methodsFor:'menu actions'!
@@ -986,6 +1024,10 @@
     "Modified: / 15-07-2011 / 16:26:33 / cg"
 !
 
+openDocumentation
+    HTMLDocumentView openFullOnDocumentationFile:'tools/misc/TOP.html#INSPECTOR'.
+!
+
 refreshTabs
     self navigationHistoryHolder currentItem refreshTabs.
     self tabViewAspect changed.
@@ -1073,11 +1115,11 @@
 !Inspector2::NavigationState class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.36 2013-05-01 15:10:01 stefan Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.37 2013-06-04 13:51:50 cg Exp $'
 !
 
 version_SVN
-    ^'§Id: Tools__Inspector2.st 115 2009-04-16 12:47:07Z vranyj1 §'
+    ^'$Id: Tools__Inspector2.st,v 1.37 2013-06-04 13:51:50 cg Exp $'
 ! !
 
 !Inspector2::NavigationState methodsFor:'accessing'!
@@ -1293,15 +1335,15 @@
 !Inspector2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.36 2013-05-01 15:10:01 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.37 2013-06-04 13:51:50 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.36 2013-05-01 15:10:01 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.37 2013-06-04 13:51:50 cg Exp $'
 !
 
 version_CVS_jvrany
-    ^ '§Header: /opt/data/cvs/stx/goodies/libtool3/Inspector2.st,v 1.6 2008-02-27 13:45:23 vranyj1 Exp §'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.37 2013-06-04 13:51:50 cg Exp $'
 !
 
 version_HG
@@ -1310,7 +1352,7 @@
 !
 
 version_SVN
-    ^ '§Id: Tools__Inspector2.st 7486 2009-10-26 22:06:24Z vranyj1 §'
+    ^ '$Id: Tools__Inspector2.st,v 1.37 2013-06-04 13:51:50 cg Exp $'
 ! !
 
 
--- a/Tools__TestRunnerEmbedded.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/Tools__TestRunnerEmbedded.st	Wed Jun 12 16:47:06 2013 +0100
@@ -32,7 +32,7 @@
 		selectedMethodsHolder methodGeneratorHolder resultHolder
 		resultInfoHolder resultBackgroundColorHolder runningHolder
 		progressHolder progressIndicatorShownHolder infoHolder
-		testProcess allTestCases'
+		testProcess allTestCases progressIndicator'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'SUnit-UI'
@@ -204,6 +204,7 @@
                                       name: 'RunningProgress'
                                       layout: (LayoutFrame 5 0 -10 0.5 -5 1 10 0.5)
                                       model: progressHolder
+                                      postBuildCallback: postBuildProgressIndicator:
                                     )
                                    )
                                  
@@ -1020,6 +1021,10 @@
     "Modified: / 04-03-2011 / 06:54:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+postBuildProgressIndicator:aWidget
+    progressIndicator := aWidget
+!
+
 show
 
     self visibility: true height: 50
@@ -1310,11 +1315,11 @@
 !TestRunnerEmbedded class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.34 2013-05-21 20:21:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.35 2013-06-06 14:54:57 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.34 2013-05-21 20:21:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TestRunnerEmbedded.st,v 1.35 2013-06-06 14:54:57 cg Exp $'
 !
 
 version_HG
@@ -1323,6 +1328,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__TestRunnerEmbedded.st,v 1.34 2013-05-21 20:21:03 cg Exp $'
+    ^ '$Id: Tools__TestRunnerEmbedded.st,v 1.35 2013-06-06 14:54:57 cg Exp $'
 ! !
 
--- a/VersionDiffBrowser.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/VersionDiffBrowser.st	Wed Jun 12 16:47:06 2013 +0100
@@ -1923,7 +1923,8 @@
                         packageOfMethodInChange := change package.
                         (packageOfMethodInChange notNil
                           and:[ packageOfMethodInChange ~= PackageId noProjectID
-                          and:[ packageOfMethodInChange ~= change changeClass package ]]) ifTrue:[
+                          and:[ change changeClass notNil 
+                                and:[ packageOfMethodInChange ~= change changeClass package ]]]) ifTrue:[
                             ignored := true
                         ].
 
@@ -2447,11 +2448,11 @@
 !VersionDiffBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.112 2013-03-23 11:37:08 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.113 2013-06-06 17:12:57 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.112 2013-03-23 11:37:08 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/VersionDiffBrowser.st,v 1.113 2013-06-06 17:12:57 cg Exp $'
 !
 
 version_HG
--- a/WorkspaceApplication.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/WorkspaceApplication.st	Wed Jun 12 16:47:06 2013 +0100
@@ -2659,7 +2659,7 @@
 	^ self.
     ].
 
-    listOfSniplets := List withAll:(snipletsDictionary keys asOrderedCollection sort).
+    listOfSniplets := List withAll:(snipletsDictionary keysSorted).
     selectedSnipletsTextHolder := '' asValue.
 
     selectedSnipletHolder := nil asValue.
@@ -2774,7 +2774,7 @@
 	Dialog information:(resources string:'No Sniplets to Paste').
 	^ self.
     ].
-    allSniplets := snipletsDictionary keys asOrderedCollection sort.
+    allSniplets := snipletsDictionary keysSorted.
 
     snipletToPaste := Dialog
 		choose:(resources string:'Paste Sniplet:')
@@ -4092,11 +4092,11 @@
 !WorkspaceApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.243 2013-05-27 08:14:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.244 2013-06-09 14:32:47 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.243 2013-05-27 08:14:59 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/WorkspaceApplication.st,v 1.244 2013-06-09 14:32:47 cg Exp $'
 !
 
 version_HG
@@ -4105,6 +4105,6 @@
 !
 
 version_SVN
-    ^ '$Id: WorkspaceApplication.st,v 1.243 2013-05-27 08:14:59 cg Exp $'
+    ^ '$Id: WorkspaceApplication.st,v 1.244 2013-06-09 14:32:47 cg Exp $'
 ! !
 
--- a/extensions.st	Tue Jun 04 16:21:31 2013 +0100
+++ b/extensions.st	Wed Jun 12 16:47:06 2013 +0100
@@ -147,12 +147,12 @@
      cryptically."
 
     condition isNil ifTrue:[
-        state == #enabled ifTrue:[^ ToolbarIconLibrary breakpointRedEnabled16x16].
-        state == #disabled ifTrue:[^ ToolbarIconLibrary breakpointRedDisabled16x16].
-        state == #tracing ifTrue:[^ ToolbarIconLibrary tracepointBlue16x16].
+        state == #enabled ifTrue:[^ ToolbarIconLibrary breakpointRedEnabled].
+        state == #disabled ifTrue:[^ ToolbarIconLibrary breakpointRedDisabled].
+        state == #tracing ifTrue:[^ ToolbarIconLibrary tracepointBlue].
     ] ifFalse:[
-        state == #enabled ifTrue:[^ ToolbarIconLibrary breakpointBlueEnabled16x16].
-        state == #disabled ifTrue:[^ ToolbarIconLibrary breakpointBlueDisabled16x16].
+        state == #enabled ifTrue:[^ ToolbarIconLibrary breakpointBlueEnabled].
+        state == #disabled ifTrue:[^ ToolbarIconLibrary breakpointBlueDisabled].
     ].
 
     ^nil
@@ -1100,7 +1100,7 @@
 !Method methodsFor:'printing & storing'!
 
 selectorPrintStringInBrowserFor:selector class:aClass
-    |nsPart selPart idx ns|
+    |selPart idx|
 
     selector isNameSpaceSelector ifFalse:[^ selector].
 
@@ -2105,7 +2105,7 @@
 !stx_libtool class methodsFor:'documentation'!
 
 extensionsVersion_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.110 2013-06-03 12:09:19 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.113 2013-06-05 13:51:56 stefan Exp $'
 ! !
 !stx_libtool class methodsFor:'documentation'!
 
--- a/resources/de.rs	Tue Jun 04 16:21:31 2013 +0100
+++ b/resources/de.rs	Wed Jun 12 16:47:06 2013 +0100
@@ -1,6 +1,6 @@
 #encoding utf8
 
-; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.215 2013-05-29 13:31:10 cg Exp $
+; $Header: /cvs/stx/stx/libtool/resources/de.rs,v 1.216 2013-06-04 13:51:32 cg Exp $
 ;
 ; German Workspace (and other tools) resources
 ;
@@ -1060,6 +1060,9 @@
 'Go back in local visited history' 'Zur vorigen Methode (in lokaler Historie)'
 'Go forward in local visited history' 'Zur nchsten Methode (in lokaler Historie)'
 
+'Changed classes in current changeSet - none found' 'Genderte Klassen im aktuellen ChangeSet - keine gefunden'
+'Changed methods - none found'                      'Genderte Methoden - keine gefunden'
+
 'View'                                      'Ansicht'
 'Class Inheritance'                         'Vererbung der Klasse'
 'Namespace'                                 'Namensraum'
@@ -1932,6 +1935,7 @@
 'owners'                    'Besitzer'
 'ref chains'                'Referenzkette anzeigen'
 'Ref Chains'                'Referenzkette anzeigen'
+'Ref Chains to Key'         'Referenzkette zum Schlssel anzeigen'
 
 ;--------------------------------------------------------------------------------------------
 ;
@@ -2017,6 +2021,11 @@
 'Hex Integers'           'Integerwerte hexadezimal anzeigen'
 'Binary Integers'        'Integerwerte binr anzeigen'
 'Decimal Integers'       'Integerwerte dezimal anzeigen'
+'Show Integers as Hex'              'Integerwerte hexadezimal anzeigen'
+'Show Integers as Binary'           'Integerwerte binr anzeigen'
+'Show Integers as Decimal'          'Integerwerte dezimal anzeigen'
+'Color Setting'                     'Farbeinstellung'
+'Expand Arrays in "all xxx"-Lists'  'Arrayelemente in "all xxx"-Listen expandiert zeigen'
 
 ;--------------------------------------------------------------------------------------------
 ;
@@ -2650,16 +2659,20 @@
 ; 'browse class'                      'Klassenbrowser'
 'browse (implementing class)'       'Browser (implementierende Klasse)'
 'browse (receivers class)'          'Browser (Empfngerklasse)'
-'browse class hierarchy'            'Hierarchiebrowser'
-'browse full class protocol'        'Browser fr gesamtes Protokoll'
+# 'browse class hierarchy'            'Hierarchiebrowser'
+'Browse Class Hierarchy'            'Hierarchiebrowser'
+# 'browse full class protocol'        'Browser fr gesamtes Protokoll'
+'Browse Full Class Protocol'        'Browser fr gesamtes Protokoll'
 'remove all trace & breakpoints'    'alle Trace- und Haltepunkte entfernen'
 'exit smalltalk (no confirmation)'  'Smalltalk beenden (ohne Besttigung)'
 'show more'                         'mehr anzeigen'
 'show verbose backtrace'            'Gesamte Aufrufkette anzeigen'
+'Show All'                          'Alles anzeigen'
 'inspect context'                   'Kontext inspizieren'
 'copy walkback text'                'Text der Aufrufkette kopieren'
 'allow breakpoints in doIts'        'Haltepunkte in Debugger-doIt erlauben'
 'ignore breakpoints in doIts'       'Haltepunkte in Debugger-doIt ignorieren'
+'alphabetical'                      'alphabetisch'
 
 'trace step'                        'Traceschritt'
 trace                               'Trace an'