Re: Solving multiple termination bugs - summary & proposal
Posted by
Jaromir Matas on
May 12, 2021; 9:39pm
URL: https://forum.world.st/Solving-multiple-termination-bugs-summary-proposal-tp5128285p5129658.html
Hi Christoph & all,
One more update:
Christoph Thiede wrote
> 3.1 Consider the following snippet:
>
> | p |
> p := Processor activeProcess.
> Transcript showln: p == Processor activeProcess.
> [Transcript showln: p == Processor activeProcess] ensure: [
> Transcript showln: p == Processor activeProcess].
> p
>
> Debug it, then step into the first block, and abandon the debugger. We
> would
> expect to see another "true" in the Transcript, but instead, we see a
> "false". This is because #runUntilErrorOrReturnFrom: does not honor
> process-faithful debugging. The protocol on Process, on the other hand,
> does
> so. So probably we would want to wrap these sends into
> #evaluate:onBehalfOf:.
Yes, you were right, wrapping #runUntilErrorOrReturnFrom: into
#evaluate:onBehalfOf: works well and your example now returns true as
expected. Thanks very much! Here's a changeset: Fix_terminate_v7.cs
<
http://forum.world.st/file/t372955/Fix_terminate_v7.cs>
A new version in the Inbox is:
http://forum.world.st/The-Inbox-Kernel-jar-1406-mcz-td5129657.html
best,
-----
^[^ Jaromir
--
Sent from:
http://forum.world.st/Squeak-Dev-f45488.html
^[^ Jaromir