[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