Hello all,
I spent some time working with 'step' in the Morphic debugger. It's not easy trying to debug the debugger. I pretty much resorted to inserting code that blasted info directly onto the display. I came up with a handful of fixes, which I've attached.
The main problem with updating the selection while stepping (both MVC and Morphic) was supposedly fixed when Dan Ingalls wrote:
062DebuggerPcFix-ar.st Fixes pc selection during debugger step.
but this change apparently was mis-transcribed from Andreas Raab's fix.
-The Debugger step method needs to do a changed: #contentsSelection (not #currentSelection).
Also, I made the following changes that apply only to Morphic:
-The PluggableTextMorph setSelection: method would only display the selection if it needed to be scrolled into view. Added 'scroller changed' to update the highlight for when it's already visible.
-When going from the Notifier to the Debugger views in Morphic, the original SystemWindow and PluggableTextMorph were left as dependents. Things like setSelection: were getting called twice. By calling breakDependents in Debugger>>debug they're eliminated from the dependents.
-Finally, the Morphic Notifier had an initial selection (visible if one scrolled or resized the window) as if the text was showing the debugger's code, rather than the notifier's short stack. I changed Debugger>>buildMorphicNotifierLabelled:message: to nil the #readSelection: argument. While I was at it, I used nil for #text: and #accept:, since they aren't really being used.
One other minor problem in Morphic that I noticed is: Right now if you 'cancel' while in the notifier, all the text goes away. This is because the initial short stack message isn't saved in any model. I couldn't think of a *simple* way to correct this ... maybe after I learn more about Morphic.
------------------------------------------- Bill Dargel wdargel@shoshana.com Shoshana Technologies 100 West Joy Road, Ann Arbor, MI 48105 USA
Content-Type: application/x-unknown-content-type-txtfile; name="DebuggerFixes-wod.26May606pm.cs" Content-Disposition: inline; filename="DebuggerFixes-wod.26May606pm.cs"
Attachment converted: Cog:DebuggerFixes-wod.26May606pm.cs (????/----) (0000D562)