Nicola,

Thank-you for the response.  The script you provided did not work exactly as you gave it to me, but I was able to create a similar one.  I will tinker a bit more with it.  As you said, it can be instructive.  The one thing that did not happen as you described though was the slow down of execution.  It just kept speeding on.  It did pop up the window as expected, but as you pointed out, the UI was unresponsive until I did the Ctrl-. which was very handy!

I will continue to tinker with this and perhaps construct my lesson based on your example here instead of what is in the book.

Robert Kuropkat

P.S.  Chris Game also replied that he hit the same snag and reported it awhile back.  I missed his original post, so will go back and look at it also.  I may also tinker with other versions of Squeak to see if any of them behave as described in the book.


On Tue, 4 Feb 2020 19:07:59 -0800
Nicola Mingotti <nmingotti@gmail.com> wrote:
>
> Hi,
>
> I never red the book of Robots, but I see a lot of
>people name it.
>
> Anyhow, here is a simple script that loops over integers
>and stops
> when it reaches the arbitrary number "1567". It stops by
>opening
> a debugger.
>
> In the debugger look for UndefinedObject>>doIt to see
>your code.
>
> This script is an example of bad code. Indeed it will
>lock your interface until it finishes its jobs. And, if
>you look in the Transcript window you will see the
>counting is going on very very slowly.
>
> But, being so bed is instructive, because you can try to
>call the debugger with Alt+. (try also Ctrl+. or Cmd+. it
>depends on the  OS) in cases like this, when the
>interface gets stuck. Many times you are going to save
>your session ;)
>
> |i|
> i := 0.
> [true] whileTrue: [
>     i := i + 1.
>     (i = 1567) ifTrue: [self halt].
>     Transcript ensureCr; show: ('number: {1}' format:
>{i.}).
>     ].
>
>
> bye
> Nicola
>
>
>
>
>
>
> On 2/4/20 10:16 AM, Robert Kuropkat wrote:
>> All,
>>
>> I am working my way through the Squeak: Learn
>>Programming with Robots and I hit some unexpected
>>behavior with the halt method in Chapter 15. I am not at
>>that computer at the moment so cannot say exactly which
>>3.x version of the VM I am using.  It is using the
>>Ready.image and the V3.sources files.
>>
>> According to the book, the halt method should cause
>>execution to stop and invoke the debugger.  It does in
>>fact invoke the debugger, however, it also skips past and
>>keeps executing.  Is there by chance some setting
>>somewhere telling the program to skip that method and
>>keep executing?
>>
>> I can follow-up later tonight with better details, but
>>thought I'd through the question out in case there was in
>>fact an easy answer...
>>
>> Robert Kuropkat
>>
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners@lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
> --
> This email was Anti Virus checked by Astaro Security
>Gateway. http://www.sophos.com