[squeak-dev] The Inbox: Morphic-mt.1601.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Sun Dec 8 15:02:53 UTC 2019


Hi Chris.

> I just tried it.  I wanted to know if there are any implementors of #var

Good catch! So I guess we leave this for a more thorough discussion for after the 5.3 release. That case with "implementors of #var" is really misleading. I totally agree. :-)

Best,
Marcel
Am 06.12.2019 22:50:35 schrieb Chris Muller <asqueaker at gmail.com>:
I just tried it.  I wanted to know if there are any implementors of #var, so I typed it in a workspace, pressed Cmd+m, and up popped an Explorer on SmalltalkEditor.

When I select (i)mplementors of a message that has no implementations, I _want_ the system to do do nothing more than that quick, unobtrusive flash.  I'm really sorry, but I find it opening a window on something other than what I intended to browse to be very confusing, distracting, and inconvenient.

Maybe I'd like it better if it were associated with the "browse" command, since one expects that to produce a class.  Definitely not "implementors", though.


Best,
  Chris

On Fri, Dec 6, 2019 at 3:53 AM Marcel Taeumel <marcel.taeumel at hpi.de [mailto:marcel.taeumel at hpi.de]> wrote:

Hey Eliot,

take a look at Morphic-mt.1602. Is that more like what you suggested?

Best,
Marcel
Am 04.12.2019 16:16:15 schrieb Eliot Miranda <eliot.miranda at gmail.com [mailto:eliot.miranda at gmail.com]>:
Hi Marcel,


> On Dec 4, 2019, at 6:15 AM, commits at source.squeak.org [mailto:commits at source.squeak.org] wrote:
>
> A new version of Morphic was added to project The Inbox:
> http://source.squeak.org/inbox/Morphic-mt.1601.mcz [http://source.squeak.org/inbox/Morphic-mt.1601.mcz]
>
> ==================== Summary ====================
>
> Name: Morphic-mt.1601
> Author: mt
> Time: 4 December 2019, 3:14:52.073613 pm
> UUID: 19583b0d-de7d-45e3-bf18-c4b7b2690b47
> Ancestors: Morphic-mt.1600
>
> 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.

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

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.


> =============== Diff against Morphic-mt.1600 ===============
>
> Item was changed:
> ----- Method: TextEditor>>implementorsOfIt (in category 'menu messages') -----
> implementorsOfIt
> + "Open an implementors browser on the selected selector or a regular browser if the selection is a class binding."
> +
> - "Open an implementors browser on the selected selector"
> - | aSelector |
> self lineSelectAndEmptyCheck: [^ self].
> + self selectedBinding ifNotNil:
> + [:binding | ^ self systemNavigation browseClass: binding].
> + self selectedSelector ifNotNil:
> + [:selector | ^ self systemNavigation browseAllImplementorsOf: selector].
> + morph flash!
> - (aSelector := self selectedSelector) == nil ifTrue: [^ morph flash].
> - model browseAllImplementorsOf: aSelector!
>
>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191208/84dcc215/attachment.html>


More information about the Squeak-dev mailing list