[squeak-dev] Services, Universes, SqueakMap browser all seem
broken in 4.5
Chris Muller
ma.chris.m at gmail.com
Thu Apr 10 19:49:04 UTC 2014
> I turn it on. I browse some selector's implementations. A MessageTrace is built (I trapped that ok) but if I ask for implementors or senders of any method in the list I get a separate browser rather than the added methods in the same list. If I toggle break in MessageTrace>browseAllCallsOn: it never gets run.
>
> Open a plain image straight out of a download. The preference is already set. Open a system browser and pick a method. Click on the 'implementors' button - the browser that opens has a model that is a MessageTrace. That seems to demonstrate that the preference is actually 'true'. Click on 'senders' in the method browser & choose one of the menu of selectors. I expected to see the senders added to the method browser.
Ah, okay. Long-story short -- use the Command+n hot-key.
A little background. For a Trace to be useful, you can only browse
senders of the method that is selected. If you select a different
method, then that would be a new Trace, and so starting a new window
is necessary.
But, I see that even selecting the top entry in that menu (the one
that it selected) still opens a new window. That should be enhanced
to call the same as the hot-key.
To trace inward, only swipe the code in the code pane and press
Command+m. But if your code-pane is dirty you'll get a new window, of
course.
When you get too many methods in the list, you can swipe a range of
them and Command+d to remove them from the list. Typically, after
browsing senders or implementors of something like #at: you'll have
more than you want. A short-cut for paring all but the one(s) you
want is, 1) select/swipe the one(s) you want to keep. 2) Press
Command+Shift+I (capital letter "eye") to invert the selection at that
level, followed by Command+Shift+d to remove the inverted selection.
> Looking at the code I see that the button's selector is #browseSendersOfMessages, which is implemented in StringHolder. Following that seems to lead to #browseAllCallsOn: in SystemNavigation and not in MessageTrace.
>
> Maybe I've just misunderstood how to use the facility. If using the obvious buttons and/or menu options isn't the right way, what is? It may be a wonderful tool, but if I can't work out how to get one, what use can I make of it?
Yes, that first choice in the menu should be checked for the
traceMessages pref..
More information about the Squeak-dev
mailing list
|