<div dir="ltr">Hi Chris,<br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 2, 2017 at 2:12 PM, Chris Muller <span dir="ltr"><<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey Eliot,<br>
<br>
"Senders" refers to message-sends only, where as variable references are<br>
browsed using the "browse references" command, (Command+Shift+N), which<br>
does work for browsing references to inst-vars.<br></blockquote><div><br></div><div>Some users prefer the "browse it" (Apple-b,Alt-b) command, which is achieved by disabling "alternate browse it", in which case the below is operative.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Best.<br>
<br>
On Thu, Jun 1, 2017 at 3:22 PM,  <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br>
> Eliot Miranda uploaded a new version of Morphic to project The Trunk:<br>
> <a href="http://source.squeak.org/trunk/Morphic-eem.1340.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/<wbr>trunk/Morphic-eem.1340.mcz</a><br>
><br>
> ==================== Summary ====================<br>
><br>
> Name: Morphic-eem.1340<br>
> Author: eem<br>
> Time: 1 June 2017, 1:21:49.04056 pm<br>
> UUID: 6117ed97-d114-454b-a38c-<wbr>b35edc306c14<br>
> Ancestors: Morphic-eem.1339<br>
><br>
> Fix browseIt so that accesses to a selected inst var are browsed, not just senders of the accessor.  Needs alternateBrowseIt preference disabled.<br>
><br>
> =============== Diff against Morphic-eem.1339 ===============<br>
><br>
> Item was changed:<br>
>   ----- Method: TextEditor>>browseIt (in category 'menu messages') -----<br>
>   browseIt<br>
>         "Launch a browser for the current selection, if appropriate"<br>
><br>
> +       | aSymbol anEntry brow maybeBrowseInstVar |<br>
> -       | aSymbol anEntry brow |<br>
><br>
>         Preferences alternativeBrowseIt ifTrue: [^ self browseClassFromIt].<br>
><br>
>         self lineSelectAndEmptyCheck: [^ self].<br>
> -       (aSymbol := self selectedSymbol) isNil ifTrue: [^ morph flash].<br>
><br>
> +       maybeBrowseInstVar :=<br>
> +               [| selectionString |<br>
> +               selectionString := self selection asString.<br>
> +                ([model selectedClass] on: Error do: [:ex|]) ifNotNil:<br>
> +                       [:class|<br>
> +                       (class allInstVarNames includes: selectionString) ifTrue:<br>
> +                               [self systemNavigation<br>
> +                                       browseAllAccessesTo: selectionString<br>
> +                                       from: (class classThatDefinesInstanceVariab<wbr>le: selectionString).<br>
> +                                ^nil]]].<br>
> +<br>
> +       (aSymbol := self selectedSymbol) ifNil:<br>
> +               [maybeBrowseInstVar value.<br>
> +                ^morph flash].<br>
> +<br>
>         aSymbol first isUppercase<br>
>                 ifTrue:<br>
>                         [anEntry := (model environment<br>
>                                 valueOf: aSymbol<br>
>                                 ifAbsent:<br>
>                                         [ self systemNavigation browseAllImplementorsOf: aSymbol.<br>
>                                         ^ nil]).<br>
>                         anEntry ifNil: [^ morph flash].<br>
> +                       (anEntry isBehavior and: [anEntry name == aSymbol]) ifFalse: "When is this ever false?"<br>
> +                               [anEntry := anEntry class].<br>
> -                       (anEntry isKindOf: Class)<br>
> -                               ifFalse:        [anEntry := anEntry class].<br>
>                         brow := SystemBrowser default new.<br>
>                         brow setClass: anEntry selector: nil.<br>
>                         brow class<br>
>                                 openBrowserView: (brow openEditString: nil)<br>
>                                 label: 'System Browser']<br>
>                 ifFalse:<br>
> +                       [self systemNavigation browseAllImplementorsOf: aSymbol.<br>
> +                        maybeBrowseInstVar value]!<br>
> -                       [self systemNavigation browseAllImplementorsOf: aSymbol]!<br>
><br>
><br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>