<div dir="ltr"><div class="gmail_default" style="font-size:small">Hi Christoph,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">   doh!  of course!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 25, 2022 at 9:20 AM <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Christoph Thiede uploaded a new version of Kernel to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Kernel-ct.1493.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/trunk/Kernel-ct.1493.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Kernel-ct.1493<br>
Author: ct<br>
Time: 25 November 2022, 6:20:03.170214 pm<br>
UUID: 4ed198f9-d0db-ec40-884f-88826ffae1f5<br>
Ancestors: Kernel-nice.1492<br>
<br>
Merges recursive-profaide:<br>
        Adds support for recursive process-faithful debugging. Without this patch, debugging the debugger for a process which sends Processor activeProcess will have a different effect than running the original debugger directly. See tests in KernelTests-ct.440 and ToolsTests-ct.117.<br>
<br>
        This is kind of a delayed follow-up on Kernel-mt.1381. Thanks to Marcel for discussing this issue!<br>
<br>
=============== Diff against Kernel-nice.1492 ===============<br>
<br>
Item was changed:<br>
  ----- Method: Process>>effectiveProcess (in category 'accessing') -----<br>
  effectiveProcess<br>
+       "effectiveProcess is a mechanism to allow process-faithful debugging.  The debugger executes code on behalf of processes, so unless some effort is made the identity of Processor activeProcess is not correctly maintained when debugging code.  The debugger uses evaluate:onBehalfOf: to assign the debugged process as the effectiveProcess of the process executing the code, preserving process identity."<br>
+       <br>
+       ^effectiveProcess<br>
+               ifNil: [self]<br>
+               ifNotNil: [:process |<br>
+                       "Recursive process-faithful debugging. See DebuggerTests>>#test25RecursiveProcessFaithfulDebugging for a practical example."<br>
+                       process effectiveProcess]!<br>
-       "effectiveProcess is a mechanism to allow process-faithful debugging.  The debugger executes code<br>
-        on behalf of processes, so unless some effort is made the identity of Processor activeProcess is not<br>
-        correctly maintained when debugging code.  The debugger uses evaluate:onBehalfOf: to assign the<br>
-        debugged process as the effectiveProcess of the process executing the code, preserving process<br>
-        identity."<br>
-       ^effectiveProcess ifNil: [self]!<br>
<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>