Tools__BackgroundSourceProcessingService.st
branchjv
changeset 15733 332bb9af57e1
parent 15566 184cea584be5
parent 15732 a40158f53779
child 16213 f667b5b42a11
--- 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$'
 ! !