On 23/10/2013 09:22, Gwenaël Casaccio wrote:
On 22/10/2013 23:57, Holger Hans Peter Freyther wrote:
On Mon, Oct 21, 2013 at 11:51:44AM +0200, Gwenaël Casaccio wrote:
+    stepToSelectedContext [
+    <category: 'execute events'>
+
+        | ctxt |
+        ctxt := debugger suspendedContext.
+ [ ctxt parentContext == contextWidget selectedContext ] whileFalse: [ ctxt := ctxt parentContext ].
+    debugger finish: ctxt

    breakStuff [
        self halt.
        [] repeat.
    ]


I assume that debugger finish: ctxt. Will never finish? Which would
bring us to the point of how can we interrupt things? (yes, we have
the same thing with DoIts..) (xlat adds an interrupt check I don't
think the interpreter has one though)



Yes but it's fixed with the TaskQueue patch

Gwen


The patch is based on the master branch.

Gwen
>From b25b50c3156809d2f6dee35627fb7d2197a5e158 Mon Sep 17 00:00:00 2001
From: Gwenael Casaccio <[email protected]>
Date: Wed, 6 Nov 2013 11:42:12 +0100
Subject: [PATCH] Stepping while the selected context is not the suspended one;
 execute the code to the selected context and does the step command.

---
 packages/visualgst/ChangeLog               | 5 +++++
 packages/visualgst/Debugger/GtkDebugger.st | 9 +++++++++
 2 files changed, 14 insertions(+)

diff --git a/packages/visualgst/ChangeLog b/packages/visualgst/ChangeLog
index 6c34fd9..1cf67e6 100644
--- a/packages/visualgst/ChangeLog
+++ b/packages/visualgst/ChangeLog
@@ -1,4 +1,9 @@
 2013-10-21  Gwenael Casaccio  <[email protected]>
+ 
+	* Debugger/GtkDebugger.st: If stepping while the last context is not selected it finishes the execution
+	up to the selected context and does the stepping command.
+
+2013-10-21  Gwenael Casaccio  <[email protected]>
 
 	* Debugger/GtkDebugger.st: Makes the debugger non-blocking and fix the continue back into GTK/Event-Loop/C-code.
 	* Debugger/GtkTextWidget.st: Makes the debugger non-blocking and fix the continue back into GTK/Event-Loop/C-code.
diff --git a/packages/visualgst/Debugger/GtkDebugger.st b/packages/visualgst/Debugger/GtkDebugger.st
index 29a3f22..78b2d27 100644
--- a/packages/visualgst/Debugger/GtkDebugger.st
+++ b/packages/visualgst/Debugger/GtkDebugger.st
@@ -316,6 +316,15 @@ GtkBrowsingTool subclass: GtkDebugger [
         debugger continue
     ]
 
+    stepToSelectedContext [
+       <category: 'execute events'>
+
+        | ctxt |
+        ctxt := debugger suspendedContext.
+        [ ctxt parentContext == contextWidget selectedContext ] whileFalse: [ ctxt := ctxt parentContext ].
+       debugger finish: ctxt
+    ]
+
     codeSaved [
 	<category: 'method events'>
 
-- 
1.8.3.2

_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to