[squeak-dev] stepping over non local return in a protected block

Christoph Thiede christoph.thiede at student.hpi.uni-potsdam.de
Mon May 17 17:50:29 UTC 2021

Hi Jaromir,

thanks for the feedback. \2 and \3 were both minor slips which I have
corrected in version 7 of the changeset, see:

\1: Fair question. I think I stumbled upon some situation where stepping
*over* #runUntilErrorOrReturnFrom: has not worked for me without these
lines. I just had inserted the "push: nil" without thinking about it in
detail, just because it had also worked for me in Context class >>
#contextEnsure: and #contextOn:do: in the last year (this was also a very
interesting bug, you can read the full story in the mailing archives if you
are interested). But yes, that is suspicious, I need to recheck this because
I cannot reproduce the need for this patch.

\2: This was indeed a slip because I forgot to update the image. I have
moved my patch to #findNextHandlerContext - it makes the method robust
against bottom-contexts that do not have a sender (i.e., sender is nil).

\3: Ah, in this case, the unwind context was already marked as complete. :-)
Since we appear to need the debugger information anyway, I have moved the
#informDebuggerAboutContextSwitchTo: in #resume:through: before the check so
your example now should work, too.

I'm curious whether you can find any other regressions in the changeset! :-)


Carpe Squeak!
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

More information about the Squeak-dev mailing list