[ENH] Enhanced Debugging Experience (addition for mustBeBoolean)

Doug Way dway at riskmetrics.com
Sat Jul 28 22:49:09 UTC 2001


On Saturday, July 28, 2001, at 09:01 AM, Hans-Martin Mosner wrote:

> Here's the code to handle the mustBeBoolean case. It also handles the 
> possible stack inconsistency I mentioned earlier.
> Note that this changeset requires the earlier one, of course.

Looks great!  It works well so far from my testing.  It also seems to 
fix the problem of proceeding from stuff like "3 + (nil ifTrue: [2] 
ifFalse: [3])".  I hope that this and your other improvements will 
eventually wander into the base image.

If you're still looking for debugger-related enhancement ideas... :)  
One thing discussed on the list awhile back, which I think is a great 
idea, would be to add a "debug it" to the main text menu after "do 
it"/"print it"/"inspect it".  Doing a "debug it" on a highlighted code 
snippet would ideally bring up the debugger (skipping the notifier) with 
the UndefinedObject>>DoIt frame pre-selected and the first message in 
the snippet highlighted, ready to be sent/stepped.

This would be convenient for experts and beginners alike for quickly 
stepping though code snippets, but would especially encourage beginners 
to play with stepping through code in the debugger, which is one of the 
best ways to learn Smalltalk.  (I briefly tried to implement "debug it" 
myself once, but I ran into some problem with getting at the current 
context... I don't remember now. :) )

- Doug Way
   dway at riskmetrics.com


> Have fun!
> Hans-Martin
>
> Doug Way wrote:
>
>> One other nice thing to fix at some point would be the PC highlighting 
>> for NonBoolean receiver errors. For example, if you Do this in a 
>> workspace:
>>
>> nil ifTrue: [x _ 'asdfas' asSortedCollection].
>>
>> The NonBoolean receiver debugger comes up, but the #asSortedCollection 
>> method is currently highlighted, when it seems that #ifTrue: should be 
>> highlighted instead.
<Attachment missing><Attachment missing>
-------------- next part --------------
Skipped content of type multipart/mixed


More information about the Squeak-dev mailing list