--- 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$'
! !