<div dir="ltr">-1. I couldn't stand a similar feature in Pharo, where selecting "browse" on something would try really hard to produce "something" if it couldn't find a class, it'd try implementors.<div><br></div><div><div>"Implementors" is used when I want to trace message flow throug a system, this is _totally different_ than browsing the behaviors of a class. Unifying these two things in the IDE under one command is detrimental. Please don't do it or, if you must, please protect the current function with a preference.<br></div></div><div><br></div><div>Best,</div><div> Chris</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 4, 2019 at 9:16 AM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Marcel,<br>
<br>
<br>
> On Dec 4, 2019, at 6:15 AM, <a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a> wrote:<br>
> <br>
> A new version of Morphic was added to project The Inbox:<br>
> <a href="http://source.squeak.org/inbox/Morphic-mt.1601.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/inbox/Morphic-mt.1601.mcz</a><br>
> <br>
> ==================== Summary ====================<br>
> <br>
> Name: Morphic-mt.1601<br>
> Author: mt<br>
> Time: 4 December 2019, 3:14:52.073613 pm<br>
> UUID: 19583b0d-de7d-45e3-bf18-c4b7b2690b47<br>
> Ancestors: Morphic-mt.1600<br>
> <br>
> Proposal: For "implementors of it!" on class bindings or class-var bindings or other global bindings, browse the underlying class of it. For the user's convenience. At the moment, implementors-of-it on such bindings does simply nothing.<br>
<br>
+100 for the functionality. But I would definitely call “browseClass:” something different such as “browseClassOrPoolDefining:”. The binding could be that of a class or of a class/pool variable. browseClass: isn’t a good name and if it just browses classes that are the values of bindings it isn’t that useful. <br>
<br>
The vm contains a number of pools, the largest of which defines the opcodes in the JIT’s abstract machine. So my WiFi’s is full of bindings other than those that define classes.<br>
<br>
<br>
> =============== Diff against Morphic-mt.1600 ===============<br>
> <br>
> Item was changed:<br>
> ----- Method: TextEditor>>implementorsOfIt (in category 'menu messages') -----<br>
> implementorsOfIt<br>
> + "Open an implementors browser on the selected selector or a regular browser if the selection is a class binding."<br>
> + <br>
> - "Open an implementors browser on the selected selector"<br>
> - | aSelector |<br>
> self lineSelectAndEmptyCheck: [^ self].<br>
> + self selectedBinding ifNotNil:<br>
> + [:binding | ^ self systemNavigation browseClass: binding].<br>
> + self selectedSelector ifNotNil:<br>
> + [:selector | ^ self systemNavigation browseAllImplementorsOf: selector].<br>
> + morph flash!<br>
> - (aSelector := self selectedSelector) == nil ifTrue: [^ morph flash].<br>
> - model browseAllImplementorsOf: aSelector!<br>
> <br>
> <br>
<br>
</blockquote></div>