[squeak-dev] [Pharo-dev] nil suspend

Bob Arning arning315 at comcast.net
Sat Nov 18 22:54:44 UTC 2017


One clue might be that the code was copied from from another method 
(can't really tell which copied which). By version

**v1BlockContext methodsFor: 'private'
cannotReturn: arg
"Kills off processes that didn't terminate properly"
"Display reverse; reverse." "<-- So we can catch the suspend bug"
     Processor terminateActive

**v1UndefinedObject methodsFor: 'dependents access'
suspend
"Kills off processes that didn't terminate properly"
"Display reverse; reverse." "<-- So we can catch the suspend bug"
     ProcessorterminateActive

by version 1.22, #cannotReturn: had changed

*122BlockContext methodsFor: 'private' stamp: 'jm 9/18/97 21:40'
cannotReturn: result
"The receiver tried to return result to a method context that no longer 
exists."

     DebuggerView
         openContext: thisContext
         label:'Block cannot return'
         contents: thisContext shortStack.

On 11/18/17 5:04 PM, Nicolas Cellier wrote:
> It sounds like a left over...
> no time stamp in Squeak, so it must be old.
> Display reverse; reverse means we wanted to catch when such oddity was 
> necessary.
> (I would do it differently with an Exception and a MessageTally like I 
> already exhibited several times)
> The fact that reverse; reverse was commented is more difficult to 
> interpret... Is it really necessary?
> I removed the method in a Squeak image, and so fare nothing wrong 
> happened, but it does not prove anything.
> The best is to ask in Squeak lists, maybe someone can remember...
> Or carefully analyze all senders of suspend...
>
> 2017-11-18 22:36 GMT+01:00 Aliaksei Syrel <alex.syrel at gmail.com 
> <mailto:alex.syrel at gmail.com>>:
>
>     Hi,
>
>     I was looking at nil (already funny) and found a very interesting
>     method:
>
>     suspend
>         "Kills off processes that didn't terminate properly"
>         "Display reverse; reverse."   "<-- So we can catch the suspend bug"
>         Processor  terminateActive
>
>     It means that the following code is probably the shortest way to
>     kill your image (save first!)
>
>     nil  suspend
>
>     It terminates a UI process if evaluated from anywhere using CMD+d :D
>
>     Cheers,
>     Alex
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20171118/9299c500/attachment.html>


More information about the Squeak-dev mailing list