<br><br><div class="gmail_quote">On Tue, Mar 13, 2012 at 3:27 AM, Yoshiki Ohshima <span dir="ltr">&lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  Hello,<br>
<br>
I noticed that step executing the following code in debugger yields<br>
different results:<br>
<br>
-------------------<br>
test<br>
<br>
        3 &lt; 4 ifTrue: [<br>
                thisContext return: 42].<br>
        ^ 666.<br>
-------------------<br>
<br>
In the normal execution, you get 42 as expected, but if you debug it<br>
and step execute, #return: does not actuall return and you get 666.<br>
<br>
It appears that the primitive for #terminateTo: is the culprit...<br></blockquote><div><br></div><div>I think it is the surrounding usage in the debugger.  The primitive seems to work as advertised.  But the debugger gets confused as to what is the correct continuation afterwards.  i note that if one does step into resume: the right answer is returned, and when that happens doPrimitive:... runs terminateTo:.  When doing step over resume: then terminateTo: is I think run via perform:.</div>
<div><br></div><div>Once again this requires a careful (painful?) instrumenting of the debugger to see what actually happens ;)</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<font color="#888888"><br>
-- Yoshiki<br>
<br>
</font></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>