Eliot Miranda uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-eem.1340.mcz
==================== Summary ====================
Name: Morphic-eem.1340 Author: eem Time: 1 June 2017, 1:21:49.04056 pm UUID: 6117ed97-d114-454b-a38c-b35edc306c14 Ancestors: Morphic-eem.1339
Fix browseIt so that accesses to a selected inst var are browsed, not just senders of the accessor. Needs alternateBrowseIt preference disabled.
=============== Diff against Morphic-eem.1339 ===============
Item was changed: ----- Method: TextEditor>>browseIt (in category 'menu messages') ----- browseIt "Launch a browser for the current selection, if appropriate"
+ | aSymbol anEntry brow maybeBrowseInstVar | - | aSymbol anEntry brow |
Preferences alternativeBrowseIt ifTrue: [^ self browseClassFromIt].
self lineSelectAndEmptyCheck: [^ self]. - (aSymbol := self selectedSymbol) isNil ifTrue: [^ morph flash].
+ maybeBrowseInstVar := + [| selectionString | + selectionString := self selection asString. + ([model selectedClass] on: Error do: [:ex|]) ifNotNil: + [:class| + (class allInstVarNames includes: selectionString) ifTrue: + [self systemNavigation + browseAllAccessesTo: selectionString + from: (class classThatDefinesInstanceVariable: selectionString). + ^nil]]]. + + (aSymbol := self selectedSymbol) ifNil: + [maybeBrowseInstVar value. + ^morph flash]. + aSymbol first isUppercase ifTrue: [anEntry := (model environment valueOf: aSymbol ifAbsent: [ self systemNavigation browseAllImplementorsOf: aSymbol. ^ nil]). anEntry ifNil: [^ morph flash]. + (anEntry isBehavior and: [anEntry name == aSymbol]) ifFalse: "When is this ever false?" + [anEntry := anEntry class]. - (anEntry isKindOf: Class) - ifFalse: [anEntry := anEntry class]. brow := SystemBrowser default new. brow setClass: anEntry selector: nil. brow class openBrowserView: (brow openEditString: nil) label: 'System Browser'] ifFalse: + [self systemNavigation browseAllImplementorsOf: aSymbol. + maybeBrowseInstVar value]! - [self systemNavigation browseAllImplementorsOf: aSymbol]!
packages@lists.squeakfoundation.org