[squeak-dev] Solving multiple termination bugs - summary & proposal

Jaromir Matas m at jaromir.net
Wed May 12 21:39:56 UTC 2021

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

A new version in the Inbox is:


^[^ Jaromir
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

More information about the Squeak-dev mailing list