Merged 8344c08b1480 and 187a0aabc409 (branch default - CVS HEAD) jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 24 Jul 2013 11:15:26 +0100
branchjv
changeset 13250 0decde6c459d
parent 13249 8344c08b1480 (current diff)
parent 13215 187a0aabc409 (diff)
child 13251 7eed51abac77
Merged 8344c08b1480 and 187a0aabc409 (branch default - CVS HEAD)
AbstractSettingsApplication.st
BrowserView.st
DebugView.st
FileDialog.st
InspectorView.st
TerminalApplication.st
Tools_ClassCategoryList.st
Tools__BreakpointService.st
Tools__CodeCompletionService.st
Tools__CodeHighlightingService.st
Tools__CodeNavigationService.st
Tools__CodeView2.st
Tools__CodeViewService.st
Tools__LintService.st
Tools__NewSystemBrowser.st
Tools__TagList.st
--- a/.hgtags	Tue Jul 23 20:55:42 2013 +0100
+++ b/.hgtags	Wed Jul 24 11:15:26 2013 +0100
@@ -1,7 +1,6 @@
 010ac94518b347db8dcc0f986d7e0f31cb6369b7 expeccoNET_1_5_0rc1
 010ac94518b347db8dcc0f986d7e0f31cb6369b7 expecco_1_8_2rc1
 0345171682c483a27083e267891c5c409672b786 expecco_1_0_3
-0a9b919319a9d418bd1fd8700ec1aa12f3d81b9e stable
 0b1ad2518a5cd2c8273fb463e370af9d6abfbd97 expecco_2_1_0
 0b715d777c488bf60cadb45e1336e6191b713369 rel2_10_8_6_last2
 0b7d7aedc1cd27c9468db2e11b39e2d211556973 rel3_6_1
@@ -9,17 +8,18 @@
 136ee82663fb4768cae91bde1a499b9d83bfad4d rel2_10_8_5
 165da720693d3aa09b58c216d9031e316a9c82a3 rel3_4_3_1
 1adbdbbef6efc3f1cae90e02bbd4d3a2216bba11 rel2_10_8_6_last_before_vmData_change
+214639c7834e9719c8dc68bde4dd0d044326848f stable
 220adc5a966fbea5cf7240f98f8c929276239c58 balla
 22e0a2969ab2326928f4ce90dec4827a4d0dd2bf expecco_1_7_0rc5
 2707b35f964ca3bb3a769a369e7f2211ba059270 stable_expecco_sel
 2a4222b491ab4d84b2f47eb0ad076c98efe53ea2 expecco_2_2_5
+2c9e9dc1b880e4bcd016987ead6691a6a48328d4 expecco_2_5_1
 36540512da66279fe8fb5bdf209d65d251a9ada8 expecco_1_9_1_iX
 399d8af7610109b64e2232db0ce43cde3dd1fc58 expecco_2_5_0
 3c7e853977b7e8a73370be10877ca1c93482cbcb expecco_1_3_4
 3e7f1d7b7a3668a30eb14f320dc532ed0f2049ae expeccoNET_1_4_0rc1
 3e7f1d7b7a3668a30eb14f320dc532ed0f2049ae expecco_1_7_0rc3
 463dd6fa737f1911b40acf7874e7173cf8b3525c rel5_2_1_fixed
-4b8d430a503d5abc0cd451dfbab43c236fe5978a expecco_2_5_1
 596696438e67fee735ba71f62177ccc091b9a0bb expecco_1_7_2rc1
 5aa270837e0ab5e0fa19d2c02d46c864cc41c859 expeccoNET_1_5_1rc1
 62451ecb3d3bbf1f6067c931eda2cdb57aa67ead expeccoNET_1_7_0_0
--- a/AbstractSettingsApplication.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/AbstractSettingsApplication.st	Wed Jul 24 11:15:26 2013 +0100
@@ -1131,9 +1131,7 @@
 'Turn off all warnings'
 
 )
-!
-
- !
+! !
 
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl class methodsFor:'image specs'!
 
@@ -13864,401 +13862,402 @@
     <resource: #canvas>
 
     ^ 
-     #(FullSpec
-        name: windowSpec
-        window: 
-       (WindowSpec
-          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
-                              )
+    #(FullSpec
+       name: windowSpec
+       window: 
+      (WindowSpec
+         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 332 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: (AlignmentOrigin -154 1 16 0 1 0.5)
+                               activeHelpKey: defaultManagerType
+                               translateLabel: true
+                               resizeForLabel: 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)
-                                                )
+                            )
+                          
+                         )
+                         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 -100 1 0 1)
+                                           enableChannel: useManager
+                                           model: selectedManagerPerMatchingModuleHolder
+                                           hasHorizontalScrollBar: true
+                                           hasVerticalScrollBar: true
+                                           dataList: managerPerMatchingModule
+                                           columnHolder: managerPerMatchingModuleColumns
+                                           beDependentOfRows: true
+                                         )
+                                        (VerticalPanelViewSpec
+                                           name: 'Buttons1'
+                                           layout: (LayoutFrame -90 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 90 22)
                                                )
-                                             
-                                            )
-                                          )
-                                         (ActionButtonSpec
-                                            label: 'Test'
-                                            name: 'Button2'
-                                            layout: (LayoutFrame -80 1 -22 1 0 1 0 1)
-                                            activeHelpKey: checkPerPackageManager
-                                            translateLabel: true
-                                            model: actionTest
-                                          )
+                                              (ActionButtonSpec
+                                                 label: 'Edit...'
+                                                 name: 'ButtonEdit'
+                                                 activeHelpKey: editPerPackageManager
+                                                 translateLabel: true
+                                                 model: actionEdit
+                                                 enableChannel: canRemoveManagerPerPackageEntry
+                                                 extent: (Point 90 22)
+                                               )
+                                              (ActionButtonSpec
+                                                 label: 'Move Up'
+                                                 name: 'ButtonModeUp'
+                                                 activeHelpKey: moveManagerUp
+                                                 translateLabel: true
+                                                 model: actionMoveUp
+                                                 enableChannel: canMoveUp
+                                                 extent: (Point 90 22)
+                                               )
+                                              (ActionButtonSpec
+                                                 label: 'Move Down'
+                                                 name: 'ButtonModeDown'
+                                                 activeHelpKey: moveManagerDown
+                                                 translateLabel: true
+                                                 model: actionMoveDown
+                                                 enableChannel: canMoveDown
+                                                 extent: (Point 90 22)
+                                               )
+                                              (LabelSpec
+                                                 name: 'SpacingLabel'
+                                                 translateLabel: true
+                                                 extent: (Point 90 22)
+                                               )
+                                              (ActionButtonSpec
+                                                 label: 'Remove'
+                                                 name: 'ButtonRemove'
+                                                 activeHelpKey: removePerPackageManager
+                                                 translateLabel: true
+                                                 model: actionRemove
+                                                 enableChannel: canRemoveManagerPerPackageEntry
+                                                 extent: (Point 90 22)
+                                               )
+                                              )
+                                            
+                                           )
                                          )
-                                       
-                                      )
-                                      extent: (Point 623 264)
-                                    )
+                                        (ActionButtonSpec
+                                           label: 'Test'
+                                           name: 'Button2'
+                                           layout: (LayoutFrame -80 1 -22 1 0 1 0 1)
+                                           activeHelpKey: checkPerPackageManager
+                                           translateLabel: true
+                                           model: actionTest
+                                         )
+                                        )
+                                      
+                                     )
+                                     extent: (Point 619 260)
                                    )
-                                 
-                                )
-                              )
+                                  )
+                                
+                               )
                              )
-                           
-                          )
-                          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
-                                    )
+                            )
+                          
+                         )
+                         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: '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)
                                    )
-                                 
-                                )
-                              )
-                             (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)
-                                    )
+                                  (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 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: '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: '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)
-                        )
-                       (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)
-                  )
+                            )
+                          
+                         )
+                         extent: (Point 659 22)
+                       )
+                      )
+                    
+                   )
+                   extent: (Point 659 768)
                  )
-               
-              )
-            )
+                )
+              
+             )
            )
-         
-        )
-      )
+          )
+        
+       )
+     )
 ! !
 
 !AbstractSettingsApplication::SourceCodeManagementSettingsAppl class methodsFor:'tableColumns specs'!
@@ -18708,11 +18707,11 @@
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.481 2013-07-13 20:40:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.482 2013-07-19 19:41:10 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.481 2013-07-13 20:40:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.482 2013-07-19 19:41:10 cg Exp $'
 !
 
 version_HG
--- a/BrowserView.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/BrowserView.st	Wed Jul 24 11:15:26 2013 +0100
@@ -6325,10 +6325,10 @@
     s nextPutAll:name; space.
 
     className := aSuperClass lastName.
-    superPackage := aSuperClass package copy replaceAll:$/ with:$..
+    superPackage := aSuperClass package copyReplaceAll:$/ with:$..
     superPackage = categoryString ifFalse:[
         superPackage = 'java.lang' ifFalse:[
-            className := aSuperClass name asString copy replaceAll:$/ with:$..
+            className := aSuperClass name copyReplaceAll:$/ with:$..
         ].
     ].
 
@@ -6352,8 +6352,8 @@
 
     ^ s contents
 
-    "Created: / 23.12.1996 / 12:46:31 / cg"
-    "Modified: / 15.6.1998 / 17:23:05 / cg"
+    "Created: / 23-12-1996 / 12:46:31 / cg"
+    "Modified: / 16-07-2013 / 19:50:01 / cg"
 !
 
 listOfAllClassNamesInCategory:aCategory
@@ -14532,7 +14532,7 @@
 !BrowserView class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.852 2013-06-30 09:10:54 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.853 2013-07-16 17:50:18 cg Exp $'
 !
 
 version_HG
--- a/DebugView.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/DebugView.st	Wed Jul 24 11:15:26 2013 +0100
@@ -3328,8 +3328,22 @@
         steppedContext printCR.
     ].
 
-    "/ kludge an bug-workaround;
-    "/ I should not see those ...
+    "/ when single stepping, ignore breakpoints
+    here selector == #break ifTrue:[
+        (here receiver isKindOf:Breakpoint) ifTrue:[
+            false "here receiver isEnabled" ifFalse:[
+                con := nil.
+                where := nil. here := nil.
+                StepInterruptPending := 1.
+                InterruptPending := 1.
+                InStepInterrupt := nil.
+                ^ self
+            ]
+        ].
+    ].
+
+    "/ kludge: a bug-workaround;
+    "/ I should not see those...
 
     here selector == #ioInterrupt ifTrue:[
         DebuggingDebugger2 == true ifTrue:[
@@ -3563,7 +3577,7 @@
             "/ in a block called by 'our' context ?
             "/
             where home == steppedContext ifTrue:[
-"/ '*block*' printCR.
+                "/ '*block*' printCR.
                 inBlock := true
             ]
         ].
@@ -3573,7 +3587,7 @@
 
             where notNil ifTrue:[
                 where home == steppedContext ifTrue:[
-"/ '*block*' printCR.
+                    "/ '*block*' printCR.
                     inBlock := true.
                 ]
             ].
@@ -3599,22 +3613,35 @@
                         "/ do a single step. Otherwise, stepping through a
                         "/ do:-loop would be very difficult.
                         receiver := where receiver.
+where selector == #critical: ifTrue:[
+anyStepBlocks := true.
+] ifFalse:[
                         (receiver isBlock
                         and:[(receiver isKindOf:Block)
-                        and:[receiver home == steppedContext]])
+                        and:[receiver homeMethod == steppedContext method
+                             "receiver home == steppedContext"]])
                         ifTrue:[
                             anyStepBlocks := true.
                         ] ifFalse:[
                             where args do:[:arg |
                                 (arg isBlock
                                 and:[(arg isKindOf:Block)
-                                and:[arg home == steppedContext]])
+                                and:[arg homeMethod == steppedContext method
+                                     "arg home == steppedContext"]])
                                 ifTrue:[
                                     anyStepBlocks := true.
-                                ]
+                                ] ifFalse:[
+                                    (where methodHome receiver isBlock
+                                    and:[(where methodHome receiver isKindOf:Block)
+                                    and:[where methodHome receiver homeMethod == steppedContext method
+                                         "where methodHome receiver home == steppedContext"]])
+                                    ifTrue:[
+                                        anyStepBlocks := true.
+                                    ]
+                                ].
                             ]
                         ].
-
+].
                         DebuggingDebugger2 == true ifTrue:[
                             ((ObjectMemory addressOf:where) printStringRadix:16)print. ' ' print.
                             where selector printCR.
@@ -3786,10 +3813,15 @@
     ].
 
     inBlock ifTrue:[
-"/ 'inBlock' printCR.
+        DebuggingDebugger2 == true ifTrue:[
+            'inBlock' printCR.
+        ].
         s := 'in block'.
     ].
     inBlockBelow ifTrue:[
+        DebuggingDebugger2 == true ifTrue:[
+            'inBlockBelow' printCR.
+        ].
         ignore := true
     ].
 
@@ -4727,7 +4759,7 @@
     "Modified: 7.3.1997 / 18:46:49 / cg"
 !
 
-doStep:lineNr
+doStep:lineNrOrNilOrMinus1
     "common helper for step, skip & next.
      Arrange for single-steppping until we pass lineNr (if nonNil)
      or to next line (if nil) or to next send (if -1)"
@@ -4752,9 +4784,9 @@
             steppedContextLineno := con lineNumber.
         ].
 
-        skipLineNr := lineNr.
-
-        lineNr == -1 ifTrue:[
+        skipLineNr := lineNrOrNilOrMinus1.
+
+        lineNrOrNilOrMinus1 == -1 ifTrue:[
             steppedContextLineno := skipLineNr := nil.
         ].
 
@@ -4768,6 +4800,7 @@
                 steppedContext := con.
             ].
         ].
+
         wrapperContext := nil.
 
 "/ ' step con:' print. (ObjectMemory addressOf:steppedContext) printHex. ' ' print. steppedContext printCR.
@@ -4785,7 +4818,7 @@
             inWrap := true
         ].
 
-        lineNr == #return ifTrue:[
+        lineNrOrNilOrMinus1 == #return ifTrue:[
             Processor activeProcess forceInterruptOnReturnOf:con.
         ].
 
@@ -5019,7 +5052,7 @@
         items := items , #(
                     ('-'                                                        )
                     ('Browse Implementing Class'      browseImplementingClass )
-                    ('Browse Receivers Class'             browseReceiversClass    )
+                    ('Browse Receiver''s Class'             browseReceiversClass    )
 "/                    ('Browse Receivers Class Hierarchy'   browseClassHierarchy    )
 "/                    ('Browse Receivers Full Protocol'     browseFullClassProtocol )
                     ('Implementors'                     browseImplementors      )
@@ -5060,7 +5093,7 @@
 
     ^ m.
 
-    "Modified: / 27-07-2012 / 15:01:20 / cg"
+    "Modified: / 22-07-2013 / 15:30:05 / cg"
 !
 
 notShowingSupportCode
@@ -8573,11 +8606,11 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.600 2013-07-13 20:39:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.602 2013-07-22 14:01:57 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.600 2013-07-13 20:39:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.602 2013-07-22 14:01:57 cg Exp $'
 !
 
 version_HG
@@ -8586,7 +8619,7 @@
 !
 
 version_SVN
-    ^ '$Id: DebugView.st,v 1.600 2013-07-13 20:39:12 cg Exp $'
+    ^ '$Id: DebugView.st,v 1.602 2013-07-22 14:01:57 cg Exp $'
 ! !
 
 
--- a/FileDialog.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/FileDialog.st	Wed Jul 24 11:15:26 2013 +0100
@@ -1860,13 +1860,16 @@
     (aBuilder componentAt:'okButton') cursor:(Cursor thumbsUp).
 
     win := aBuilder window .
-    hMin := (win margin * 2)
-            + aBuilder menuBar preferredHeight
-            + (aBuilder componentAt:#FilenameEntryField) height
-            + (aBuilder componentAt:#ToolBar1) preferredHeight
-            + (aBuilder componentAt:#ButtonPanel) preferredHeight.
+    win minExtent notNil ifTrue:[
+        "minExtent is nil if window is not a TopView"
+        hMin := (win margin * 2)
+                + (aBuilder menuBar isNil ifTrue:[0] ifFalse:[aBuilder menuBar preferredHeight])
+                + (aBuilder componentAt:#FilenameEntryField) height
+                + (aBuilder componentAt:#ToolBar1) preferredHeight
+                + (aBuilder componentAt:#ButtonPanel) preferredHeight.
 
-    win minExtent:( win minExtent x @ hMin ).
+        win minExtent:(win minExtent x @ hMin).
+    ].
     win topView label:self initialText.
 
     super postBuildWith:aBuilder
@@ -2073,11 +2076,11 @@
 !FileDialog class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.128 2013-07-04 14:51:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.129 2013-07-17 06:11:59 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.128 2013-07-04 14:51:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.129 2013-07-17 06:11:59 stefan Exp $'
 !
 
 version_HG
@@ -2086,6 +2089,6 @@
 !
 
 version_SVN
-    ^ '$Id: FileDialog.st,v 1.128 2013-07-04 14:51:00 cg Exp $'
+    ^ '$Id: FileDialog.st,v 1.129 2013-07-17 06:11:59 stefan Exp $'
 ! !
 
--- a/InspectorView.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/InspectorView.st	Wed Jul 24 11:15:26 2013 +0100
@@ -1323,6 +1323,7 @@
                        ('Full Protocol'                #protocolMenu           )
                        ('-')
                        ('Trap Message...'              #doTrap                 )
+                       ('Trap Update Messages...'      #doTrapUpdates          )
                        ('Trap all Messages'            #doTrapAll              )
                        ('Trace all Messages'           #doTraceAll             )
                        ('Untrace/Untrap'               #doUntrace              )
@@ -1413,7 +1414,7 @@
 
     ^ m
 
-    "Modified: / 20-07-2012 / 10:50:45 / cg"
+    "Modified: / 16-07-2013 / 19:56:54 / cg"
 !
 
 localProtocolMenu
@@ -1902,6 +1903,59 @@
     ]
 !
 
+doTrapUpdates
+    "place a trap on all update and XXXChanged messages sent to the inspected object"
+
+    |selectors|
+
+    selectors := IdentitySet new.
+
+    "/ find all dependencies which lead to a message to this object
+    "/ (also look for onChangeSend: and onChangeEvaluate: dependencies)
+    InterestConverter allInstances do:[:i |
+        |dest mthd messages|
+
+        dest := i destination.
+        (dest == object) ifTrue:[
+            selectors add:(i selector)
+        ] ifFalse:[
+            (dest isBlock 
+            and:[ (dest methodHome receiver == object)
+            and:[ (mthd := dest methodHome method) notNil ]]) ifTrue:[   
+                "/ vague
+                messages := mthd messagesSent.
+                messages := messages select:[:sel | object class implements:sel].
+                selectors addAll:messages.
+            ].
+        ]
+    ].
+    #(update:
+      update:with:
+      update:with:from:)
+    do:[:each |
+        (object class implements:each) ifTrue:[
+            selectors add:each.
+        ]
+    ].
+
+    InterestConverter allInstances 
+        select:[:i | i destination isMessage
+                     and:[i class == MessageSend
+                     and:[i selector == #value
+                     and:[i receiver == object ]]]]
+        thenDo:[:i | selectors add:(i selector)].
+
+    (Dialog 
+        confirm:('About to place an instance trap on the following selectors:\\' withCRs
+                    , (selectors asOrderedCollection sort asStringWith:'\' withCRs)))
+        ifFalse:[ ^ self].
+
+    self topView withWaitCursorDo:[MessageTracer trap:object 
+                                                 selectors:selectors]
+
+    "Created: / 16-07-2013 / 19:56:08 / cg"
+!
+
 doUncatchChanges
     |sel|
 
@@ -3531,11 +3585,11 @@
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.318 2013-07-08 09:51:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.319 2013-07-16 18:01:20 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.318 2013-07-08 09:51:56 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.319 2013-07-16 18:01:20 cg Exp $'
 !
 
 version_HG
--- a/TerminalApplication.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/TerminalApplication.st	Wed Jul 24 11:15:26 2013 +0100
@@ -102,171 +102,173 @@
     "Do not manually edit this!! If it is corrupted,
      the MenuEditor may not be able to read the specification."
 
+
     "
-     MenuEditor new openOnClass:WorkspaceApplication andSelector:#mainMenu
-     (Menu new fromLiteralArrayEncoding:(WorkspaceApplication mainMenu)) startUp
+     MenuEditor new openOnClass:TerminalApplication andSelector:#mainMenu
+     (Menu new fromLiteralArrayEncoding:(TerminalApplication mainMenu)) startUp
     "
 
     <resource: #menu>
 
     ^ 
-     #(#Menu
-        #(
-         #(#MenuItem
-            #label: 'File'
-            #translateLabel: true
-            #submenu: 
-           #(#Menu
-              #(
-               #(#MenuItem
-                  #label: 'New Shell'
-                  #itemValue: #newWorkspace
-                  #translateLabel: true
+     #(Menu
+        (
+         (MenuItem
+            label: 'File'
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'New Shell'
+                  itemValue: newWorkspace
                 )
-               #(#MenuItem
-                  #label: '-'
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Playback File...'
+                  itemValue: menuPlayback
                 )
-               #(#MenuItem
-                  #label: 'Playback File...'
-                  #itemValue: #menuPlayback
-                  #translateLabel: true
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Save As...'
+                  itemValue: menuSaveAs
                 )
-               #(#MenuItem
-                  #label: '-'
+               (MenuItem
+                  enabled: hasMultipleBuffersHolder
+                  label: 'Save all As...'
+                  itemValue: menuSaveAllAs
                 )
-               #(#MenuItem
-                  #label: 'Save As...'
-                  #itemValue: #menuSaveAs
-                  #translateLabel: true
+               (MenuItem
+                  label: '-'
+                )
+               (MenuItem
+                  label: 'Exit'
+                  itemValue: closeRequest
                 )
-               #(#MenuItem
-                  #enabled: #hasMultipleBuffersHolder
-                  #label: 'Save all As...'
-                  #itemValue: #menuSaveAllAs
-                  #translateLabel: true
+               )
+              nil
+              nil
+            )
+          )
+         (MenuItem
+            label: 'View'
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Normal'
+                  itemValue: setNormalDisplayMode
                 )
-               #(#MenuItem
-                  #label: '-'
+               (MenuItem
+                  label: 'Reverse'
+                  itemValue: setReverseDisplayMode
                 )
-               #(#MenuItem
-                  #label: 'Exit'
-                  #itemValue: #closeRequest
-                  #translateLabel: true
+               (MenuItem
+                  label: 'Green'
+                  itemValue: setGreenDisplayMode
                 )
                )
               nil
               nil
             )
           )
-         #(#MenuItem
-            #label: 'Buffers'
-            #nameKey: #Buffer
-            #translateLabel: true
-            #submenu: 
-           #(#Menu
-              #(
-               #(#MenuItem
-                  #label: 'Add Buffer'
-                  #itemValue: #addWorkspace
-                  #translateLabel: true
+         (MenuItem
+            label: 'Buffers'
+            nameKey: Buffer
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Add Buffer'
+                  itemValue: addWorkspace
                 )
-               #(#MenuItem
-                  #label: 'Rename...'
-                  #itemValue: #renameWorkspace
-                  #translateLabel: true
+               (MenuItem
+                  label: 'Rename...'
+                  itemValue: renameWorkspace
                 )
-               #(#MenuItem
-                  #label: '-'
+               (MenuItem
+                  label: '-'
                 )
-               #(#MenuItem
-                  #enabled: #canRemoveWorkspace
-                  #label: 'Remove Buffer'
-                  #itemValue: #removeWorkspace
-                  #translateLabel: true
+               (MenuItem
+                  enabled: canRemoveWorkspace
+                  label: 'Remove Buffer'
+                  itemValue: removeWorkspace
                 )
                )
               nil
               nil
             )
           )
-         #(#MenuItem
-            #label: 'Edit'
-            #translateLabel: true
-            #submenu: 
-           #(#Menu
-              #(
-               #(#MenuItem
-                  #enabled: #hasSelectionInActiveWorkspace
-                  #label: 'Copy'
-                  #itemValue: #copySelection
-                  #translateLabel: true
+         (MenuItem
+            label: 'Edit'
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  enabled: hasSelectionInActiveWorkspace
+                  label: 'Copy'
+                  itemValue: copySelection
                 )
-               #(#MenuItem
-                  #label: 'Paste'
-                  #itemValue: #paste
-                  #translateLabel: true
+               (MenuItem
+                  label: 'Paste'
+                  itemValue: paste
                 )
-               #(#MenuItem
-                  #label: '-'
+               (MenuItem
+                  label: '-'
                 )
-               #(#MenuItem
-                  #label: 'Select All'
-                  #itemValue: #selectAll
-                  #translateLabel: true
+               (MenuItem
+                  label: 'Select All'
+                  itemValue: selectAll
                 )
                )
               nil
               nil
             )
           )
-         #(#MenuItem
-            #label: 'Shell'
-            #translateLabel: true
-            #submenu: 
-           #(#Menu
-              #(
-               #(#MenuItem
-                  #label: 'Interrupt'
-                  #itemValue: #doSendInterrupt
-                  #translateLabel: true
+         (MenuItem
+            label: 'Shell'
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Interrupt'
+                  itemValue: doSendInterrupt
                 )
-               #(#MenuItem
-                  #label: 'Kill'
-                  #itemValue: #doSendKillSignal
-                  #translateLabel: true
+               (MenuItem
+                  label: 'Kill'
+                  itemValue: doSendKillSignal
                 )
-               #(#MenuItem
-                  #label: '-'
+               (MenuItem
+                  label: '-'
                 )
-               #(#MenuItem
-                  #label: 'Reset Terminal'
-                  #itemValue: #doReset
-                  #translateLabel: true
+               (MenuItem
+                  label: 'Reset Terminal'
+                  itemValue: doReset
                 )
                )
               nil
               nil
             )
           )
-         #(#MenuItem
-            #label: 'Help'
-            #translateLabel: true
-            #startGroup: #right
-            #submenu: 
-           #(#Menu
-              #(
-               #(#MenuItem
-                  #label: 'Documentation'
-                  #itemValue: #openDocumentation
-                  #translateLabel: true
+         (MenuItem
+            label: 'Help'
+            startGroup: right
+            submenu: 
+           (Menu
+              (
+               (MenuItem
+                  label: 'Documentation'
+                  itemValue: openDocumentation
                 )
-               #(#MenuItem
-                  #label: '-'
+               (MenuItem
+                  label: '-'
                 )
-               #(#MenuItem
-                  #label: 'About this Application...'
-                  #itemValue: #openAboutThisApplication
-                  #translateLabel: true
+               (MenuItem
+                  label: 'About this Application...'
+                  itemValue: openAboutThisApplication
                 )
                )
               nil
@@ -422,6 +424,18 @@
     ws := self selectedWorkspacesTextView.
     file readingLinesDo:[:eachLine | ws sendLine:eachLine]
     .
+!
+
+setGreenDisplayMode
+    self selectedWorkspacesTextView setGreenDisplayMode.
+!
+
+setNormalDisplayMode
+    self selectedWorkspacesTextView setNormalDisplayMode.
+!
+
+setReverseDisplayMode
+    self selectedWorkspacesTextView setReverseDisplayMode.
 ! !
 
 !TerminalApplication methodsFor:'private'!
@@ -478,7 +492,7 @@
 !TerminalApplication class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/TerminalApplication.st,v 1.12 2013-07-09 09:31:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/TerminalApplication.st,v 1.13 2013-07-23 21:08:55 cg Exp $'
 !
 
 version_HG
--- a/Tools_ClassCategoryList.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools_ClassCategoryList.st	Wed Jul 24 11:15:26 2013 +0100
@@ -496,8 +496,11 @@
     (droppedClasses contains:[:aClass | aClass isPrivate not]) ifFalse:[^ false].
 
     cat := self categoryAtTargetPointOf:aDropContext.
-    cat isNil ifTrue:[ ^ false ].
-    cat = '* obsolete *' ifTrue:[ ^  false ].
+    (cat isNil 
+      or:[ (cat = '* obsolete *')
+      or:[ (cat = #'* as yet unknown category *')
+      or:[ self class isPseudoCategory:cat ]]])
+        ifTrue:[ ^  false ].
 
     (droppedClasses contains:[:aClass | aClass category ~= cat]) ifFalse:[^ false].
     ^ true.
@@ -531,7 +534,10 @@
     objects := aDropContext dropObjects collect:[:aDropObject | aDropObject theObject].
     (objects conform:[:something | something isClass]) ifTrue:[
         cat := self categoryAtTargetPointOf:aDropContext.
-        cat notNil ifTrue:[
+        (cat isNil 
+          or:[ (cat = '* obsolete *')
+          or:[ self class isPseudoCategory:cat ]])
+        ifFalse:[
             self masterApplication moveClasses:objects toCategory:cat.
         ].
         ^ self
@@ -1003,10 +1009,10 @@
 !ClassCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.48 2013-06-20 22:35:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.49 2013-07-20 10:27:15 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.48 2013-06-20 22:35:19 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_ClassCategoryList.st,v 1.49 2013-07-20 10:27:15 cg Exp $'
 ! !
 
--- a/Tools_MethodCategoryList.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools_MethodCategoryList.st	Wed Jul 24 11:15:26 2013 +0100
@@ -223,6 +223,15 @@
     "Modified: / 27-04-2010 / 16:40:39 / cg"
 ! !
 
+!MethodCategoryList class methodsFor:'queries'!
+
+isPseudoCategory:cat
+    ^ (super isPseudoCategory:cat)
+    or:[ (cat startsWith:'* ')
+        and:[ (cat endsWith:' *')
+        and:[ (cat includesString:'%1') ]]]
+! !
+
 !MethodCategoryList methodsFor:'aspects'!
 
 browserNameList
@@ -800,7 +809,7 @@
     (methods conform:[:aMethod | aMethod isMethod]) ifFalse:[^ false].
 
     cat := self categoryAtTargetPointOf:aDropContext.
-    cat isNil ifTrue:[^ false].
+    (cat isNil or:[ self class isPseudoCategory:cat]) ifTrue:[^ false].
 
     (methods contains:[:aMethod | aMethod category ~= cat]) ifFalse:[^ false].
     ^ true
@@ -834,7 +843,7 @@
     (methods conform:[:something | something isMethod]) ifFalse:[^ self].
 
     cat := self categoryAtTargetPointOf:aDropContext.
-    cat notNil ifTrue:[
+    (cat notNil and:[(self class isPseudoCategory:cat) not]) ifTrue:[
         self masterApplication moveMethods:methods toProtocol:cat.
     ].
 
@@ -2080,11 +2089,11 @@
 !MethodCategoryList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.93 2013-04-02 09:34:03 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.95 2013-07-20 10:29:10 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.93 2013-04-02 09:34:03 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.95 2013-07-20 10:29:10 cg Exp $'
 ! !
 
 
--- a/Tools__BreakpointService.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__BreakpointService.st	Wed Jul 24 11:15:26 2013 +0100
@@ -72,6 +72,17 @@
     ^ 'Breakpoints'
 ! !
 
+!BreakpointService class methodsFor:'testing'!
+
+isUsefulFor:aCodeView
+    "this filters useful services.
+     Redefined to return true for myself - not for subclasses"
+
+    ^ self == Tools::BreakpointService
+
+    "Created: / 22-07-2013 / 14:01:17 / cg"
+! !
+
 !BreakpointService methodsFor:'accessing'!
 
 breakpoints
@@ -123,7 +134,7 @@
 
     "/ codeView methodHolder class == BlockValue ifTrue:[self breakPoint:#cg].
 
-    method := realMethod := codeView methodHolder value.
+    method := realMethod := codeView method.
     (method notNil and:[method mclass isNil]) ifTrue:[
         "/ hack: ouch - was wrapped in the meantime;
         "/ hurry up and update. Should be done elsewhere (in codeView)
@@ -140,6 +151,8 @@
             gutterView invalidate.
         ]
     ].
+
+    "Modified: / 22-07-2013 / 13:33:28 / cg"
 ! !
 
 !BreakpointService methodsFor:'event handling'!
@@ -218,7 +231,13 @@
     breakpoints isNil ifTrue:[^ nil].
 
     pos := textView characterPositionOfLine:line col:1.
-    ^ breakpoints detect:[:each | each position = pos ] ifNone:[ nil ]
+    ^ breakpoints 
+        detect:[:each | each position = pos ] 
+        ifNone:[ 
+            breakpoints 
+                detect:[:each | each line == line and:[each position isNil ]] 
+                ifNone:[ nil ]
+        ]
 
     "Modified: / 17-06-2011 / 13:59:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified (format): / 05-07-2011 / 21:33:23 / cg"
@@ -244,9 +263,9 @@
 recompile
     "recompile the current method for changed breakpoints"
 
-    |oldMethod newMethod compiler class selector|
+    |oldMethod newMethod compilerClass compiler class selector|
 
-    oldMethod := codeView methodHolder value.
+    oldMethod := codeView method.
     (oldMethod notNil and:[oldMethod hasPrimitiveCode not]) ifTrue:[
         "/ be careful: if the text has been edited/modified, do not compile
         textView modified ifTrue:[
@@ -269,9 +288,18 @@
             selector := oldMethod selector.
 
             Class withoutUpdatingChangesDo:[
-                compiler := ByteCodeCompilerWithBreakpointSupport new.
+                "/ compilerClass := ByteCodeCompilerWithBreakpointSupport.
+                compilerClass := oldMethod programmingLanguage compilerWithBreakpointSupportClass.
+                compilerClass isNil ifTrue:[
+                    Dialog warn:'No breakpoint support for this programming language'.
+                    ^ self.
+                ].
+                compiler := compilerClass new.
                 compiler breakpoints:breakpoints.
-                compiler methodClass:MethodWithBreakpoints.
+"/ not needed - new compilers already know it
+"/                compiler methodClass:(oldMethod programmingLanguage isSTXJavaScript 
+"/                                            ifTrue:[JavaScriptFunctionWithBreakpoints]
+"/                                            ifFalse:[MethodWithBreakpoints]).
                 newMethod := compiler
                             compile:oldMethod source
                             forClass:class
@@ -330,7 +358,7 @@
 
     "Created: / 05-07-2011 / 21:33:13 / cg"
     "Modified: / 18-07-2012 / 10:53:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 02-08-2012 / 09:35:41 / cg"
+    "Modified: / 22-07-2013 / 16:00:13 / cg"
 !
 
 setOrToggleBreakpointAtLine:line
@@ -346,7 +374,7 @@
     "/ prepareFullBreakSupport := false.
     prepareFullBreakSupport := true.
 
-    codeView methodHolder value isNil ifTrue:[
+    codeView method isNil ifTrue:[
         ^ self
     ].
 
@@ -418,7 +446,7 @@
 
     "Created: / 17-06-2011 / 13:45:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 27-07-2011 / 13:27:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 02-08-2012 / 09:26:38 / cg"
+    "Modified: / 22-07-2013 / 13:33:18 / cg"
 ! !
 
 !BreakpointService methodsFor:'queries'!
@@ -464,15 +492,19 @@
 
     |mthd bpnt icon dx dy|
 
-    (mthd := codeView methodHolder value) isNil ifTrue:[
-        ^ self
-    ].
-    currentMethodClass isNil ifTrue:[
-        "/ hack: ouch - was wrapped in the meantime;
-        ^ self. "/ wait for the real update
-        "/ hurry up and update. Should be done elsewhere (in codeView)
-        "/ self updateCurrentMethod.
-    ].
+"/ these tests make the breakpointService unusable for other applications (which are mote
+"/ based on smalltalk methods. They are not really needed: if there is a breakpoint,
+"/ I can show it. Period.
+
+"/    (mthd := codeView methodHolder value) isNil ifTrue:[
+"/        ^ self
+"/    ].
+"/    currentMethodClass isNil ifTrue:[
+"/        "/ hack: ouch - was wrapped in the meantime;
+"/        ^ self. "/ wait for the real update
+"/        "/ hurry up and update. Should be done elsewhere (in codeView)
+"/        "/ self updateCurrentMethod.
+"/    ].
 
    view == gutterView ifTrue:[
         bpnt := self breakpointAtLine:lineNo.
@@ -504,14 +536,14 @@
 !BreakpointService class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.31 2013-07-12 05:50:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.35 2013-07-22 14:00:21 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.31 2013-07-12 05:50:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__BreakpointService.st,v 1.35 2013-07-22 14:00:21 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__BreakpointService.st,v 1.31 2013-07-12 05:50:20 cg Exp $'
+    ^ '$Id: Tools__BreakpointService.st,v 1.35 2013-07-22 14:00:21 cg Exp $'
 ! !
 
--- a/Tools__CodeCompletionService.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__CodeCompletionService.st	Wed Jul 24 11:15:26 2013 +0100
@@ -91,6 +91,15 @@
     "Created: / 03-04-2011 / 23:08:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 08-07-2011 / 08:42:52 / cg"
     "Modified: / 27-07-2011 / 11:47:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isUsefulFor:aCodeView
+    "this filters useful services.
+     Redefined to return true for myself - not for subclasses"
+
+    ^ self == Tools::CodeCompletionService
+
+    "Created: / 22-07-2013 / 13:59:54 / cg"
 ! !
 
 !CodeCompletionService methodsFor:'event handling'!
@@ -185,7 +194,7 @@
 !CodeCompletionService class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeCompletionService.st,v 1.7 2013-07-04 17:06:35 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeCompletionService.st,v 1.8 2013-07-22 12:02:14 cg Exp $'
 !
 
 version_HG
@@ -194,6 +203,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeCompletionService.st,v 1.7 2013-07-04 17:06:35 cg Exp $'
+    ^ '$Id: Tools__CodeCompletionService.st,v 1.8 2013-07-22 12:02:14 cg Exp $'
 ! !
 
--- a/Tools__CodeHighlightingService.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__CodeHighlightingService.st	Wed Jul 24 11:15:26 2013 +0100
@@ -74,6 +74,17 @@
     "Created: / 07-03-2010 / 14:00:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!CodeHighlightingService class methodsFor:'testing'!
+
+isUsefulFor:aCodeView
+    "this filters useful services.
+     Redefined to return true for myself - not for subclasses"
+
+    ^ self == Tools::CodeHighlightingService
+
+    "Created: / 22-07-2013 / 14:00:54 / cg"
+! !
+
 !CodeHighlightingService methodsFor:'accessing'!
 
 preferences:preferences
@@ -91,7 +102,7 @@
     app notNil ifTrue:[
         | mthd class |
 
-        mthd := codeView methodHolder value.
+        mthd := codeView method.
         (mthd notNil and:[app respondsTo: #syntaxHighlighterForMethod:]) ifTrue:[
             highlighter := app syntaxHighlighterForMethod:mthd.
         ] ifFalse:[
@@ -119,7 +130,7 @@
 
     "Created: / 05-08-2011 / 10:48:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 28-09-2011 / 00:23:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 19-07-2012 / 13:03:21 / cg"
+    "Modified: / 22-07-2013 / 13:33:46 / cg"
 !
 
 syntaxHighlighters
@@ -366,11 +377,11 @@
 !CodeHighlightingService class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeHighlightingService.st,v 1.41 2013-07-04 19:28:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeHighlightingService.st,v 1.43 2013-07-22 12:02:20 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeHighlightingService.st,v 1.41 2013-07-04 19:28:47 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeHighlightingService.st,v 1.43 2013-07-22 12:02:20 cg Exp $'
 !
 
 version_HG
@@ -379,6 +390,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeHighlightingService.st,v 1.41 2013-07-04 19:28:47 cg Exp $'
+    ^ '$Id: Tools__CodeHighlightingService.st,v 1.43 2013-07-22 12:02:20 cg Exp $'
 ! !
 
--- a/Tools__CodeNavigationService.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__CodeNavigationService.st	Wed Jul 24 11:15:26 2013 +0100
@@ -118,6 +118,17 @@
     "Modified: / 21-08-2011 / 11:04:20 / cg"
 ! !
 
+!CodeNavigationService class methodsFor:'testing'!
+
+isUsefulFor:aCodeView
+    "this filters useful services.
+     Redefined to return true for myself - not for subclasses"
+
+    ^ self == Tools::CodeNavigationService
+
+    "Created: / 22-07-2013 / 13:59:20 / cg"
+! !
+
 !CodeNavigationService methodsFor:'change & update'!
 
 update: aspect with: param from: sender
@@ -748,11 +759,11 @@
 !CodeNavigationService class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.30 2013-07-04 19:28:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.31 2013-07-22 12:02:12 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.30 2013-07-04 19:28:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeNavigationService.st,v 1.31 2013-07-22 12:02:12 cg Exp $'
 !
 
 version_HG
@@ -761,6 +772,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeNavigationService.st,v 1.30 2013-07-04 19:28:51 cg Exp $'
+    ^ '$Id: Tools__CodeNavigationService.st,v 1.31 2013-07-22 12:02:12 cg Exp $'
 ! !
 
--- a/Tools__CodeView2.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__CodeView2.st	Wed Jul 24 11:15:26 2013 +0100
@@ -42,9 +42,8 @@
 
 SimpleView subclass:#GutterView
 	instanceVariableNames:'codeView textView textViewScroller widthAcceptCancel
-		widthAnnotations widthDiffInfo firstLineShown lastLineShown
-		numberOfLines acceptColor cancelColor diffColor
-		currentBlockNodeHolder menuHolder'
+		widthAnnotations widthDiffInfo numberOfLines acceptColor
+		cancelColor diffColor menuHolder currentBlockNodeHolder'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:CodeView2
@@ -737,15 +736,15 @@
 !CodeView2 methodsFor:'accessing - code component'!
 
 klass
-
     | v |
 
     (v := self classHolder value) notNil ifTrue:[^v].
-    (v := self methodHolder value) notNil ifTrue:[^v mclass].
+    (v := self method) notNil ifTrue:[^v mclass].
 
     ^nil
 
     "Created: / 27-07-2011 / 13:14:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 22-07-2013 / 13:34:05 / cg"
 ! !
 
 !CodeView2 methodsFor:'accessing-code component'!
@@ -761,7 +760,7 @@
     | v |
 
     (v := self languageHolder value) notNil ifTrue:[^v].
-    (v := self methodHolder value) notNil ifTrue:[^v programmingLanguage].
+    (v := self method) notNil ifTrue:[^v programmingLanguage].
     (v := self classHolder value) notNil ifTrue:[^v programmingLanguage].
 
     "/No, no default language, please.
@@ -769,6 +768,7 @@
     ^nil
 
     "Modified: / 07-12-2011 / 16:38:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 22-07-2013 / 13:34:17 / cg"
 !
 
 language: newValue
@@ -1453,6 +1453,22 @@
 
 !CodeView2 methodsFor:'initialization'!
 
+defaultServices
+    "/ used to call "CodeViewService availableServices",
+    "/ which enumerated all subclasses.
+    "/ this is BAD BAD BAD, because it does not allow for additional service
+    "/ subclasses to be built for special applications. For example,
+    "/ a debugging breakpoint service for a GDB application, a breakpoint service for
+    "/ expecco's codeview.
+
+    "/ therefore, the list of services to use in codeView2 is now filtered
+
+    ^ CodeViewService availableServices
+	select:[:service | service isUsefulFor:self]
+
+    "Created: / 22-07-2013 / 13:57:40 / cg"
+!
+
 initialize
     "Invoked when a new instance is created."
     "Call super initialize"
@@ -1508,18 +1524,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 := self defaultServices sort:[:a :b|name < b name].
 	serviceClasses do:[:cls|
 	    self registerService: cls new
 	].
     ].
 
-    "Modified: / 06-10-2011 / 14:16:01 / cg"
-    "Modified: / 01-02-2012 / 10:30:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 27-07-2011 / 11:37:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 22-07-2013 / 14:02:59 / cg"
 !
 
 initializeTextView
@@ -2306,6 +2318,7 @@
 	    self invalidate.
 	    ^ self.
 	].
+	"/ something printCR.
     ].
 
     (changedObject == textView reallyModifiedChannel) ifTrue:[
@@ -2445,10 +2458,17 @@
     "Created: / 14-12-2009 / 14:40:17 / Jindra <a>"
 !
 
-yOfTextViewLine:line
-    ^(textView yOfLine:line) + 1
-
-    "Created: / 14-12-2009 / 13:35:07 / Jindra <a>"
+yOfTextViewLine:lineNr
+    "defined to allow computation of a line below what is visible in
+     the textView (because gutter may become higher than textView, iff
+     the textView has a horizontal scrollbar"
+
+    |visibleLineNr "{ Class: SmallInteger }"|
+
+    shown ifFalse:[^ nil].
+    lineNr isNil ifTrue:[^ nil].
+    visibleLineNr := lineNr - textView firstLineShown + 1.
+    ^ textView yOfVisibleLine:visibleLineNr
 ! !
 
 !CodeView2::GutterView methodsFor:'redrawing'!
@@ -2531,9 +2551,11 @@
 !
 
 redrawLine:line cleared:cleared drawServices:drawServices
-    "redraws specified line. Returns width of drawn object. Color of drawn objects should be taken from lineFont, lineColor"
-
-    |lineString y0 textW requiredW oldFont newFont oldColor newColor|
+    "redraws specified line. Returns width of drawn object.
+     Color of drawn objects should be taken from lineFont, lineColor"
+
+    |lineString yTop yBaseline fontAscent fontDescent
+     textW requiredW oldFont newFont oldColor newColor|
 
     lineString := self displayedString:line.
 
@@ -2555,15 +2577,16 @@
 	].
 	self font:newFont
     ].
-
-    y0 := (textView yOfLine:line).
-    y0 isNil ifTrue:[^ self].   "/ not visible
-    y0 := y0 + (textView font ascentOn:device)
-	  "/ - (newFont descentOn:device)
-	  + 1.
+    fontAscent := textView font ascentOn:device.
+    fontDescent := textView font descentOn:device.
+
+    yTop := self yOfTextViewLine:line.
+    yBaseline := yTop + fontAscent.
 
     cleared ifFalse:[
-	self clearRectangleX:0 y:y0 - font height width: self width - 2 height: font height + font descent.
+	self clearRectangleX:0 y:yBaseline - font ascent
+	    width: self width - 2
+	    height: font ascent + font descent.
     ].
 
     "/ cg: this should be done differently: services know about the
@@ -2574,14 +2597,14 @@
 	"Let services draw annotations and other stuff"
 	codeView
 	    drawLine:line in: self
-	    atX: (self paddingLeft + self usedWidthForAcceptCancel) y:y0 width: widthAnnotations height: font height
+	    atX: (self paddingLeft + self usedWidthForAcceptCancel) y:yBaseline width: widthAnnotations height: font height
 	    from:nil to:nil with:self paint and: self backgroundColor.
     ].
 
     self
 	displayString:lineString
 	x:(self width - textW - 2 - self paddingRight - widthDiffInfo)
-	y:y0.
+	y:yBaseline.
 
     newFont
 	ifNotNil:[
@@ -2609,6 +2632,8 @@
 !
 
 redrawX:x y:y width:w height:h
+    |firstLine lastLine yBot|
+
     self redrawBackgroundX:x y:y width:w height:h.
 
     codeView showAcceptCancelBar ifTrue:[
@@ -2616,13 +2641,13 @@
     ].
 
     numberOfLines := (textView list size max:textView cursorLine).
-
-    firstLineShown := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:y).
-    lastLineShown := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:(y + h)).
-    lastLineShown := lastLineShown min:numberOfLines.
-
-    firstLineShown to:lastLineShown do: [:line |
-	self redrawLine:line cleared:true drawServices:true
+    yBot := y + h.
+    firstLine := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:y).
+    lastLine := textView visibleLineToAbsoluteLine:(textView visibleLineOfY:yBot-1).
+    lastLine := lastLine min:numberOfLines.
+
+    firstLine to:lastLine do: [:line |
+	self redrawLine:line cleared:true drawServices:true.
     ].
 ! !
 
@@ -3709,11 +3734,11 @@
 !CodeView2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.107 2013-07-13 21:06:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.110 2013-07-23 12:14:21 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.107 2013-07-13 21:06:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.110 2013-07-23 12:14:21 cg Exp $'
 !
 
 version_HG
@@ -3722,7 +3747,7 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeView2.st,v 1.107 2013-07-13 21:06:11 cg Exp $'
+    ^ '$Id: Tools__CodeView2.st,v 1.110 2013-07-23 12:14:21 cg Exp $'
 ! !
 
 
--- a/Tools__CodeViewService.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__CodeViewService.st	Wed Jul 24 11:15:26 2013 +0100
@@ -149,6 +149,16 @@
     ].
 
     "Created: / 27-07-2011 / 11:49:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isUsefulFor:aCodeView
+    "this filters useful services.
+     must be redefined to return true in subclasses (but each class must do it only
+     for itself - not for subclasses"
+
+    ^ false
+
+    "Created: / 22-07-2013 / 13:58:49 / cg"
 ! !
 
 !CodeViewService class methodsFor:'registering'!
@@ -428,7 +438,7 @@
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeViewService.st,v 1.12 2013-07-04 17:06:49 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeViewService.st,v 1.13 2013-07-22 12:02:16 cg Exp $'
 !
 
 version_HG
@@ -437,6 +447,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__CodeViewService.st,v 1.12 2013-07-04 17:06:49 cg Exp $'
+    ^ '$Id: Tools__CodeViewService.st,v 1.13 2013-07-22 12:02:16 cg Exp $'
 ! !
 
--- a/Tools__LintService.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__LintService.st	Wed Jul 24 11:15:26 2013 +0100
@@ -74,6 +74,17 @@
     "Created: / 05-08-2011 / 11:01:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!LintService class methodsFor:'testing'!
+
+isUsefulFor:aCodeView
+    "this filters useful services.
+     Redefined to return true for myself - not for subclasses"
+
+    ^ self == Tools::LintService
+
+    "Created: / 22-07-2013 / 14:01:38 / cg"
+! !
+
 !LintService methodsFor:'accessing'!
 
 syntaxHighlighter
@@ -204,11 +215,11 @@
 !LintService class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.7 2013-07-04 17:06:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.8 2013-07-22 12:01:53 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.7 2013-07-04 17:06:13 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintService.st,v 1.8 2013-07-22 12:01:53 cg Exp $'
 !
 
 version_HG
--- a/Tools__NewSystemBrowser.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__NewSystemBrowser.st	Wed Jul 24 11:15:26 2013 +0100
@@ -18991,8 +18991,6 @@
     "Created: / 24.2.2000 / 23:28:06 / cg"
 ! !
 
-
-
 !NewSystemBrowser methodsFor:'aspects-organization'!
 
 categoryMenuVisible
@@ -19966,6 +19964,10 @@
     ^ self hasClassAndVariableSelectedHolder
 !
 
+
+
+
+
 canGenerateMultiSetterMethodHolder
     ^ self hasSingleLoadedClassSelectedAndMultipleVariablesSelectedHolder
 !
@@ -20509,6 +20511,10 @@
     ^ self selectedClassNameInCodeViewOrNil notNil
 !
 
+
+
+
+
 hasClassSelected
     ^ self selectedClassesValue size > 0
 
@@ -22655,7 +22661,6 @@
     ^ UserPreferences current useSearchBarInBrowser or:[self codeView searchBarActionBlock notNil]
 ! !
 
-
 !NewSystemBrowser methodsFor:'change & update'!
 
 categorySelectionChanged
@@ -22769,25 +22774,27 @@
 !
 
 delayedMethodTrapChanged:methodTrapChangeInfo
-    |mthd|
+    |mthd codeView|
 
     self hasMethodWithoutBreakPointSelectedHolder value:(self hasMethodWithoutBreakPointSelected).
     self hasMethodWithBreakPointSelectedHolder value:(self hasMethodWithBreakPointSelected).
 
-    self codeView isCodeView2 ifTrue:[
+    (codeView := self codeView) isCodeView2 ifTrue:[
 	mthd := self theSingleSelectedMethod.
-	mthd == self codeView methodHolder value ifTrue:[
+	mthd == codeView method ifTrue:[
 	    mthd notNil ifTrue:[
 		"/ would not send an update notification
-		self codeView updateGutter
-	    ]
-	] ifFalse:[
-	    self codeView methodHolder value notNil ifTrue:[
+		codeView updateGutter
+	    ]
+	] ifFalse:[
+	    codeView method notNil ifTrue:[
 		"/ will send update notification to services
-		self codeView methodHolder value:mthd.
-	    ].
-	]
-    ].
+		codeView method:mthd.
+	    ].
+	]
+    ].
+
+    "Modified: / 22-07-2013 / 13:35:47 / cg"
 !
 
 delayedMethodsSelectionChanged
@@ -23086,6 +23093,8 @@
 	arguments:#()
 !
 
+
+
 enqueueDelayedMethodsSelectionChanged
     ^ self
 	enqueueMessage:#delayedMethodsSelectionChanged
@@ -23802,6 +23811,8 @@
     "Created: / 01-06-2012 / 23:01:35 / cg"
 !
 
+
+
 variableSelectionChanged
     "variable selection changed by user interaction"
 
@@ -23865,6 +23876,8 @@
 
 !NewSystemBrowser methodsFor:'menu actions-browse'!
 
+
+
 browseImplementorsOf
     "launch an enterBox for selector to search for"
 
@@ -25977,6 +25990,10 @@
     "Modified: / 28-02-2012 / 16:15:36 / cg"
 !
 
+
+
+
+
 defaultSearchArea
     "return a useful default seach area"
 
@@ -26225,6 +26242,12 @@
 	self updateBookmarkHolder.
     ].
 
+"/    self updateTestRunnerVisibility.
+    self updateExecuteMethodVisibility.
+    self updateInitSharedPoolVisibility.
+    self updateLaunchApplicationVisibility.
+    self updateToolBarButtonEnablement.
+
     "/ force update of the menus orgMode aspect
     "/ required since the menu has a single orgMode aspect,
     "/ (i.e. there is no per-canvas menu).
@@ -37578,6 +37601,8 @@
     self commonTraceHelperWith:#startCounting with:nil clear:true
 !
 
+
+
 debugMenuStartMemoryUsage
     "set a countpoint for memory usage on the current method"
 
@@ -37841,7 +37866,6 @@
     HTMLDocumentView openFullOnDocumentationFile:'TOP.html'
 ! !
 
-
 !NewSystemBrowser methodsFor:'menu actions-inheritance'!
 
 inheritanceMenuNavigateToClass
@@ -40595,13 +40619,13 @@
     managerOrNil notNil ifTrue:[
 	sourceCodeManager := managerOrNil.
     ] ifFalse:[
-	sourceCodeManager := (AbstractSourceCodeManager managerForModule:module) ? AbstractSourceCodeManager defaultManager.
+	sourceCodeManager := (AbstractSourceCodeManager managerForPackage:module) ? AbstractSourceCodeManager defaultManager.
     ].
 
     UnimplementedFunctionalityError,SourceCodeManagerError handle:[:ex |
 	|msg1 msg2|
 
-	(UnimplementedFunctionalityError accepts:ex signal) ifTrue:[
+	(UnimplementedFunctionalityError handles:ex) ifTrue:[
 	    msg1 := 'Cannot access module "%1".\\'.
 	    msg2 := 'Missing functionality in the "%2"-source code manager.'.
 	] ifFalse:[
@@ -40677,7 +40701,7 @@
 			    relDir := checkedOutPackageDir
 			]
 		    ].
-		    relDir := relDir copy replaceAll:$\ with:$/.
+		    relDir := relDir copyReplaceAll:$\ with:$/.
 		    relDir size > 0 ifTrue:[
 			theProject := module , ':' , relDir
 		    ] ifFalse:[
@@ -42902,6 +42926,8 @@
     ^ self findResponseTo:selector in:#newBuffer
 !
 
+
+
 findResponseTo:selector in:whereWanted
     |where searchClass class mthd currentMethod|
 
@@ -44967,6 +44993,8 @@
     ^ self selectorMenuFileOutAsWithFormat:#xml
 !
 
+
+
 selectorMenuGenerateCorrespondingInstanceCreationInClass
     "generate a subclassResponsibility method in the methods superclass"
 
@@ -47272,7 +47300,6 @@
     "Modified: / 28-02-2012 / 16:48:38 / cg"
 ! !
 
-
 !NewSystemBrowser methodsFor:'menu actions-variables'!
 
 browseVarRefsOrModsWithTitle:browserTitle boxTitle:boxTitle variables:varType access:accessType all:browseAll
@@ -50388,7 +50415,6 @@
     "Modified: / 19-10-2011 / 16:48:31 / cg"
 ! !
 
-
 !NewSystemBrowser methodsFor:'menus-dynamic-popup'!
 
 categoryPopUpMenu
@@ -54915,7 +54941,6 @@
     ^ navigationState projectListApplication
 ! !
 
-
 !NewSystemBrowser methodsFor:'private-history'!
 
 lastSearchPatterns
@@ -58330,7 +58355,7 @@
     "tell the codeView what to do on accept.
      Return false, if NOT accepted (i.e. compilation canceled).
      Ouch: this shares a lot of duplicate code with setAcceptActionForClass;
-           please refacor"
+	   please refacor"
 
     |codeView returnValue package|
 
@@ -58341,140 +58366,142 @@
     codeView modified:false.
 
     self withExecuteCursorDo:[
-        |currentCategory currentClass ns|
-
-        currentClass := self theSingleSelectedClass.
-        currentClass notNil ifTrue:[
-            ns := currentClass nameSpace
-        ] ifFalse:[
-            ns := nil
-        ].
-        ns := nil. "/ experimental - needed for JS parsing; is it still needed for ST ?
-
-        currentCategory := self theSingleSelectedCategory.
-        currentCategory isNil ifTrue:[
-            currentClass notNil ifTrue:[
-                currentCategory := currentClass category
-            ]
-        ].
-
-        self organizerMode value == OrganizerCanvas organizerModeProject ifTrue:[
-            currentClass notNil ifTrue:[
-                package := currentClass package.
-            ] ifFalse:[
-                package := self theSingleSelectedProject.
-            ].
-            package isNil ifTrue:[
-                package := Dialog request:'Add to which project ?'.
-                package size == 0 ifTrue:[^ self].
-            ].
-            package := package asSymbol.
-        ] ifFalse:[
-            package := Class packageQuerySignal query.
-        ].
-
-        Class classCategoryQuerySignal answer:(currentCategory ? '* as yet unspecified *')
-        do:[
-          Class packageQuerySignal answer:package
-          do:[
-            Class nameSpaceQuerySignal handle:[:ex |
-                ns isNil ifTrue:[
-                    ex reject
-                ].
-                ex proceedWith:ns
-            ] do:[
-                AbortOperationRequest catch:[
-                  UndefinedObject createMinimumProtocolInNewSubclassQuery
-                    answer:true
-                    do:[
-                        (Class classRedefinitionNotification) handle:[:ex |
-                            |answer|
+	|currentCategory currentClass ns|
+
+	currentClass := self theSingleSelectedClass.
+	currentClass notNil ifTrue:[
+	    ns := currentClass nameSpace
+	] ifFalse:[
+	    ns := nil
+	].
+	ns := nil. "/ experimental - needed for JS parsing; is it still needed for ST ?
+
+	currentCategory := self theSingleSelectedCategory.
+	currentCategory isNil ifTrue:[
+	    currentClass notNil ifTrue:[
+		currentCategory := currentClass category
+	    ]
+	].
+
+	self organizerMode value == OrganizerCanvas organizerModeProject ifTrue:[
+	    currentClass notNil ifTrue:[
+		package := currentClass package.
+	    ] ifFalse:[
+		package := self theSingleSelectedProject.
+	    ].
+	    package isNil ifTrue:[
+		package := Dialog request:'Add to which project ?'.
+		package size == 0 ifTrue:[^ self].
+	    ].
+	    package := package asSymbol.
+	] ifFalse:[
+	    package := Class packageQuerySignal query.
+	].
+
+	Class classCategoryQuerySignal answer:(currentCategory ? '* as yet unspecified *')
+	do:[
+	  Class packageQuerySignal answer:package
+	  do:[
+	    Class nameSpaceQuerySignal handle:[:ex |
+		ns isNil ifTrue:[
+		    ex reject
+		].
+		ex proceedWith:ns
+	    ] do:[
+		AbortOperationRequest catch:[
+		  UndefinedObject createMinimumProtocolInNewSubclassQuery
+		    answer:true
+		    do:[
+			(Class classRedefinitionNotification) handle:[:ex |
+			    |answer|
 
 "/ cg: now always keep the old packageID
-                            Class catchClassRedefinitions ifFalse:[
-                                ex proceedWith:#keep
-                            ].
-                            answer := OptionBox
-                                          request:
+			    Class catchClassRedefinitions ifFalse:[
+				ex proceedWith:#keep
+			    ].
+			    answer := OptionBox
+					  request:
 ('You are about to change the definition of a class from another (system-) package.
 The class is part of the ''%1'' package.
 
 PS: you can disable this check in the launchers settings-compilation dialog.'
-                                                      bindWith:(ex oldPackage allBold))
-
-                                          label:'Class redefinition'
-                                          image:(WarningBox iconBitmap)
-                                          buttonLabels:#('Cancel' 'Continue')
-                                          values:#(#cancel #keep)
-                                          default:#keep
-                                          onCancel:#cancel.
-
-                            (answer ~~ #cancel) ifTrue:[
-                                ex proceedWith:answer
-                            ]
-                        ] do:[
-                            |rslt cls mcls|
-
-                            "/ self immediateUpdate value:true.
-                            navigationState realModifiedState:false.
-                            navigationState modified:false.
-
-                            ClassDescription updateHistoryLineQuerySignal answer:true do:[
-                                (ClassDescription updateChangeFileQuerySignal
-                                , ClassDescription updateChangeListQuerySignal) answer:self suppressChangeSetUpdate not
-                                do:[
-                                    thisIsAFullClassesCode ifTrue:[
-                                        rslt := (ReadStream on:theCode asString) fileIn.
-                                    ] ifFalse:[
-                                        ClassBuildError handle:[:ex |
-                                            self warn:ex description
-                                        ] do:[
-                                            rslt := (aCompilerClass ? Compiler)
-                                                        evaluate:theCode asString string
-                                                        notifying:codeView
-                                                        compile:false.
-
-                                        ].
-                                    ].
-                                ].
-                            ].
-                            "/ self immediateUpdate value:false.
-
-                            (rslt isBehavior and: [rslt isJavaClass not]) ifTrue:[
-                                "/ look for a comment and generate a documentation method if so
-                                |parser tree comment|
-                                parser := Parser new.
-                                parser
-                                    source:theCode asString string;
-                                    saveComments:true.
-                                tree := parser
-                                    parseExpressionWithSelf:nil
-                                    notifying:nil
-                                    ignoreErrors:true
-                                    ignoreWarnings:true
-                                    inNameSpace:nil.
-                                parser nextToken.
-                                comment := (parser comments collect:[:c | c string]) asStringCollection asString.
-                                (comment includesString:'no comment') ifFalse:[
-                                    (rslt class implements:#documentation) ifFalse:[
-                                        rslt class compile:'documentation\"' withCRs,comment,'"' classified:'documentation'.
-                                    ]
-                                ].
-                                self switchToClass:rslt.
-                                "/ self switchToClassNamed:rslt name.
-                                returnValue := true.
-                            ].
-
-                            returnValue ifTrue:[
-                                cls := rslt theNonMetaclass.
-                                mcls := rslt theMetaclass.
-                                self askForInitialApplicationCodeFor:mcls.
-                            ].
-                        ]
-                    ]
-                ].
-            ].
-        ].
+						      bindWith:(ex oldPackage allBold))
+
+					  label:'Class redefinition'
+					  image:(WarningBox iconBitmap)
+					  buttonLabels:#('Cancel' 'Continue')
+					  values:#(#cancel #keep)
+					  default:#keep
+					  onCancel:#cancel.
+
+			    (answer ~~ #cancel) ifTrue:[
+				ex proceedWith:answer
+			    ]
+			] do:[
+			    |rslt cls mcls|
+
+			    "/ self immediateUpdate value:true.
+			    navigationState realModifiedState:false.
+			    navigationState modified:false.
+
+			    ClassDescription updateHistoryLineQuerySignal answer:true do:[
+				(ClassDescription updateChangeFileQuerySignal
+				, ClassDescription updateChangeListQuerySignal) answer:self suppressChangeSetUpdate not
+				do:[
+				    thisIsAFullClassesCode ifTrue:[
+					rslt := (ReadStream on:theCode asString) fileIn.
+				    ] ifFalse:[
+					ClassBuildError handle:[:ex |
+					    self warn:ex description
+					] do:[
+					    rslt := (aCompilerClass ? Compiler)
+							evaluate:theCode asString string
+							notifying:codeView
+							compile:false.
+
+					].
+				    ].
+				].
+			    ].
+			    "/ self immediateUpdate value:false.
+
+			    (rslt isBehavior and: [rslt isJavaClass not]) ifTrue:[
+				"/ look for a comment and generate a documentation method if so
+				|parser tree comment|
+				parser := Parser new.
+				parser
+				    source:theCode asString string;
+				    saveComments:true.
+				tree := parser
+				    parseExpressionWithSelf:nil
+				    notifying:nil
+				    ignoreErrors:true
+				    ignoreWarnings:true
+				    inNameSpace:nil.
+				parser nextToken.
+				(rslt class implements:#documentation) ifFalse:[
+				    comment := (parser comments collect:[:c | c string]) asStringCollection asString.
+				    (comment includesString:'no comment') ifFalse:[
+					(comment includesString:'the empty string arguments by true values') ifFalse:[
+					    rslt class compile:'documentation\"' withCRs,comment,'"' classified:'documentation'.
+					]
+				    ]
+				].
+				self switchToClass:rslt.
+				"/ self switchToClassNamed:rslt name.
+				returnValue := true.
+			    ].
+
+			    returnValue ifTrue:[
+				cls := rslt theNonMetaclass.
+				mcls := rslt theMetaclass.
+				self askForInitialApplicationCodeFor:mcls.
+			    ].
+			]
+		    ]
+		].
+	    ].
+	].
       ]
     ].
 
@@ -58482,7 +58509,7 @@
     ^ returnValue
 
     "Created: / 13-02-2000 / 22:43:59 / cg"
-    "Modified: / 27-07-2012 / 22:25:02 / cg"
+    "Modified: / 22-07-2013 / 13:47:45 / cg"
     "Modified: / 23-07-2013 / 01:50:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
@@ -60244,11 +60271,11 @@
 !NewSystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1940 2013-07-15 09:44:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1944 2013-07-22 14:03:14 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1940 2013-07-15 09:44:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1944 2013-07-22 14:03:14 cg Exp $'
 !
 
 version_HG
@@ -60257,7 +60284,7 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__NewSystemBrowser.st,v 1.1940 2013-07-15 09:44:11 cg Exp $'
+    ^ '$Id: Tools__NewSystemBrowser.st,v 1.1944 2013-07-22 14:03:14 cg Exp $'
 ! !
 
 
--- a/Tools__TagList.st	Tue Jul 23 20:55:42 2013 +0100
+++ b/Tools__TagList.st	Wed Jul 24 11:15:26 2013 +0100
@@ -2061,15 +2061,21 @@
     "create tags from a file;
      either use the ctags/etags command, or an intenral naive, simple method."
 
-    |list shellCmd numTags fileContents|
+    |forceSimpleTagList list shellCmd numTags fileContents|
 
     rawList := nil.
     list := OrderedCollection new.
 
-    shellCmd := (self shellCommandFor:aFile pathName).
-    shellCmd notNil ifTrue:[
-        tagTypesPresent := false.     "/ will be set again, when ctags command provides types
-        list := self getTagListFromFile:aFile usingCommand:shellCmd mode:nil in:aTempDirectory
+    forceSimpleTagList := false.
+    "/ the simple builtin tagList generator is actually better than the ctags output for makefiles
+    (self class makeFilePatterns contains:[:aPattern | (aPattern match:aFile baseName asLowercase)]) ifTrue:[forceSimpleTagList := true].
+
+    forceSimpleTagList ifFalse:[
+        shellCmd := (self shellCommandFor:aFile pathName).
+        shellCmd notNil ifTrue:[
+            tagTypesPresent := false.     "/ will be set again, when ctags command provides types
+            list := self getTagListFromFile:aFile usingCommand:shellCmd mode:nil in:aTempDirectory
+        ].
     ].
 
     "/ in case ctags could not find anything, try our own, naive fallback (not too bad either)
@@ -3661,11 +3667,11 @@
 !TagList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.28 2013-07-10 08:39:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.29 2013-07-23 23:20:56 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.28 2013-07-10 08:39:01 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.29 2013-07-23 23:20:56 cg Exp $'
 !
 
 version_HG
@@ -3674,6 +3680,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__TagList.st,v 1.28 2013-07-10 08:39:01 cg Exp $'
+    ^ '$Id: Tools__TagList.st,v 1.29 2013-07-23 23:20:56 cg Exp $'
 ! !