<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
Hi Tony --<div><br></div><div>Seems to work now. Except that you will also get MNU #stepToCallee after abandon.</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class='history_container' type='cite' style='border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;'>
<p style='color: #AAAAAA; margin-top: 10px;'>Am 04.11.2021 10:56:48 schrieb Tony Garnock-Jones <tonyg@leastfixedpoint.com>:</p><div style='font-family:Arial,Helvetica,sans-serif'>Also of note: using `self halt` to debug `ensure:` blocks is made <br>difficult by this! (Because the process just... disappears!)<br><br>On 11/4/21 09:59, Tony Garnock-Jones wrote:<br>> Here's an example of where `ensure:` doesn't quite do what it says on <br>> the tin:<br>> <br>> [<br>> [Processor activeProcess terminate] ensure: [<br>> Transcript cr; show: 'outer1'.<br>> [nil error: 'aiee'] ensure: [Transcript cr; show: 'inner'].<br>> Transcript cr; show: 'outer2'.<br>> ]<br>> ] fork<br>> <br>> Expected output:<br>> <br>> outer1<br>> (debugger appears; click 'abandon')<br>> inner<br>> <br>> (or possibly:<br>> <br>> outer1<br>> (debugger appears; click 'abandon')<br>> inner<br>> outer2<br>> <br>> which is what you get if you change "Processor activeProcess terminate" <br>> to "1 + 2" above... but this also seems odd.)<br>> <br>> Actual output:<br>> <br>> outer1<br>> (no debugger appears, nothing more happens)<br>> <br>> Are my expectations out-of-line, or is there a problem worth <br>> investigating here?<br>> <br>> "--"<br>> <br>> I think it's worth noting that a related program:<br>> <br>> [<br>> [Processor activeProcess terminate] ensure: [<br>> [<br>> Transcript cr; show: 'outer1'.<br>> [nil error: 'aiee'] ensure: [<br>> Transcript cr; show: 'inner'].<br>> Transcript cr; show: 'outer2'.<br>> ] on: Error do: [:ex | Transcript cr; show: ex]<br>> ]<br>> ] fork<br>> <br>> yields the reasonable output<br>> <br>> outer1<br>> Error: aiee<br>> inner<br>> <br>> Cheers,<br>> Tony<br>> <br><br></div></blockquote>
</div></body>