Merge jv
authorMerge Script
Tue, 07 Jul 2015 06:36:31 +0200
branchjv
changeset 15733 332bb9af57e1
parent 15728 403a4859297c (current diff)
parent 15732 a40158f53779 (diff)
child 15738 b8319952027b
Merge
DebugView.st
Tools__BackgroundSourceProcessingService.st
Tools__LintRuleSettingsApplication.st
--- a/DebugView.st	Mon Jul 06 06:41:23 2015 +0200
+++ b/DebugView.st	Tue Jul 07 06:36:31 2015 +0200
@@ -573,10 +573,27 @@
      This is the standard way of entering the debugger;
      sent from error- and halt messages."
 
+    "/ a quick check for ignored breakpoints here,
+    "/ to shortcut the expensive debugger setup.
+    "/ big speedup when many ignored breakpoints are reached.
+    IgnoredHalts notNil ifTrue:[
+        ((ex creator == NoHandlerError)
+        and:[ ex exception creator == BreakPointInterrupt ])  ifTrue:[
+            (self 
+                isHaltToBeIgnoredIn:(ex suspendedContext method)
+                atLineNr:1
+                context:(ex suspendedContext)
+                modifyEntryCount:true
+            ) ifTrue:[
+                "/ Transcript showCR:'quick ignored'.
+                ^ true.
+            ].
+        ].
+    ].
     ^ self
-	enter:ex returnableSuspendedContext
-	withMessage:('[',ex originalSignal class name,']: ',ex descriptionForDebugger)
-	mayProceed:(ex mayProceed).
+        enter:ex returnableSuspendedContext
+        withMessage:('[',ex originalSignal class name,']: ',ex descriptionForDebugger)
+        mayProceed:(ex mayProceed).
 !
 
 enterUnconditional:aContext withMessage:aString mayProceed:mayProceed
@@ -9531,6 +9548,7 @@
 !
 
 isForBreakpointWithParameter:paramArg
+Transcript showCR:parameter.
     ^ paramArg = parameter
 
     "Created: / 06-03-2012 / 14:36:21 / cg"
@@ -9539,15 +9557,15 @@
 !DebugView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.690 2015-05-21 10:47:18 cg Exp $'
+    ^ '$Header$'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.690 2015-05-21 10:47:18 cg Exp $'
+    ^ '$Header$'
 !
 
 version_SVN
-    ^ '$Id: DebugView.st,v 1.690 2015-05-21 10:47:18 cg Exp $'
+    ^ '$Id$'
 ! !
 
 
--- a/Tools__BackgroundSourceProcessingService.st	Mon Jul 06 06:41:23 2015 +0200
+++ b/Tools__BackgroundSourceProcessingService.st	Tue Jul 07 06:36:31 2015 +0200
@@ -232,12 +232,31 @@
      asynchronously using #pushUserEvent:"
 
     Error , HaltInterrupt , BreakPointInterrupt handle:[:ex|
+        |msg|
+
         "/ Kludge...    
         (codeView topView class == DebugView) ifTrue:[
             Transcript showCR: 'Error when processing source code'.
             ex suspendedContext fullPrintAllOn: Transcript.
         ] ifFalse:[
-            (Dialog confirm:('Error while processing source:\\',ex description,'\\Debug ?') withCRs) ifTrue:[
+            (ControlInterrupt accepts:ex creator) ifTrue:[
+                "/ also deal with ignored breakpoints here;
+                "/ otherwise, it is almost impossible to place a breakpoint into
+                "/ RB-code, and ignoring it...
+                (DebugView 
+                    isHaltToBeIgnoredIn:(ex suspendedContext method)
+                    atLineNr:1
+                    context:(ex suspendedContext)
+                    modifyEntryCount:false
+                ) ifTrue:[
+                    Transcript showCR:'breakpoint ignored in background processing'.
+                    ^ ex proceed.
+                ].
+                msg := ('Halt/Breakpoint while processing source:\',ex description allBold,'\\in: ',ex suspendedContext printString,'\\Debug ?')
+            ] ifFalse:[
+                msg := ('Error while processing source:\',ex description allBold,'\\in: ',ex suspendedContext printString,'\\Debug ?')
+            ].
+            (Dialog confirm:msg withCRs) ifTrue:[
                 ex reject.
             ]
         ]
@@ -271,10 +290,10 @@
 !BackgroundSourceProcessingService class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BackgroundSourceProcessingService.st,v 1.12 2015-03-27 15:53:13 vrany Exp $'
+    ^ '$Header$'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__BackgroundSourceProcessingService.st,v 1.12 2015-03-27 15:53:13 vrany Exp $'
+    ^ '$Header$'
 ! !
 
--- a/Tools__LintRuleSettingsApplication.st	Mon Jul 06 06:41:23 2015 +0200
+++ b/Tools__LintRuleSettingsApplication.st	Tue Jul 07 06:36:31 2015 +0200
@@ -93,7 +93,7 @@
 'Recreate the default ruleset with all existing RBRules.\(Do this after new rules have been added or rule classes were modified)'
 
 #smallSenseEnabled
-'Enable SmallSense (incremental lint rule checking in the editor).\Disabled if the smallSens package is not loaded.\\Sorry, but this will only affect new windows,\so you have to reopen the browsers.'
+'Enable SmallSense (incremental lint rule checking in the editor).\If the SmallSense package is not yet loaded, checking this will force it into the image.\\Sorry, but this will only affect new windows,\so you have to reopen the browsers.'
 
 )
 ! !
@@ -160,7 +160,6 @@
                    label: 'Enable Lintrule Checking in Codeview (Load SmallSense Package)'
                    name: 'CheckBox1'
                    activeHelpKey: smallSenseEnabled
-                   enableChannel: hasSmallSenseNotLoaded
                    model: smallSenseEnabledHolder
                    translateLabel: true
                    useDefaultExtent: true
@@ -487,6 +486,14 @@
     "Modified: / 27-02-2013 / 11:24:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+hasSmallSenseLoaded
+   ^ (Smalltalk at:#'SmallSense::SmalltalkChecker') notNil
+!
+
+hasSmallSenseNotLoaded
+   ^ self hasSmallSenseLoaded not
+!
+
 rulesetList
     "return/create the 'rulesetList' value holder (automatically generated)"
 
@@ -523,7 +530,7 @@
     |rbCompositeLintRuleClass|
 
     self smallSenseEnabledHolder 
-        value:((Smalltalk at:#'SmallSense::SmalltalkChecker') notNil
+        value:(self hasSmallSenseLoaded
                and:[ UserPreferences current perform:#smallSenseEnabled ifNotUnderstood:false]).
 
     rbCompositeLintRuleClass := Smalltalk at:#'RBCompositeLintRule'.
@@ -587,14 +594,6 @@
     "Modified: / 24-11-2014 / 11:21:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-hasSmallSenseLoaded
-   ^ (Smalltalk at:#'SmallSense::SmalltalkChecker') notNil
-!
-
-hasSmallSenseNotLoaded
-   ^ self hasSmallSenseLoaded not
-!
-
 helpFilename
     "subclasses must return either the relative name of a helpFile
      in the doc/online/<language>/help directory,
@@ -649,11 +648,11 @@
 !LintRuleSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSettingsApplication.st,v 1.24 2015-05-09 17:43:17 cg Exp $'
+    ^ '$Header$'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSettingsApplication.st,v 1.24 2015-05-09 17:43:17 cg Exp $'
+    ^ '$Header$'
 ! !