<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>