Eliot Miranda uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-eem.1720.mcz
==================== Summary ====================
Name: Morphic-eem.1720 Author: eem Time: 3 February 2021, 6:41:54.512365 pm UUID: d5ad36ce-7228-4bbe-8c99-a5bcef5e9bef Ancestors: Morphic-eem.1719
Avoid Symbol interning dulication in SearchBar>>smartSearch:in:
=============== Diff against Morphic-eem.1719 ===============
Item was changed: ----- Method: SearchBar>>smartSearch:in: (in category 'searching') ----- smartSearch: text in: morph "Take the user input and perform an appropriate search" | input newContents | self removeResultsWidget. input := text asString ifEmpty:[^self]. self class useSmartSearch ifFalse: [^ ToolSet default browseMessageNames: input].
(Symbol findInterned: input) ifNotNil: [:symbol| input := symbol]. "If it is a global or a full class name, browse that class." (Smalltalk bindingOf: input) ifNotNil: [:assoc| | class | class := (assoc value isBehavior ifTrue:[assoc value] ifFalse:[assoc value class]) theNonMetaClass. Project current world submorphs do: [:windowMorph| (windowMorph isSystemWindow and: [(windowMorph model isKindOf: Browser) and: [windowMorph model isDisplayingClass: class]]) ifTrue: [windowMorph beKeyWindow. ^windowMorph model displayClass: class]]. ^ToolSet browse: class selector: nil]. "If it is a symbol and there are implementors of it, browse those implementors." + input isSymbol ifTrue: + [(SystemNavigation new allImplementorsOf: input) ifNotEmpty: + [:list| - Symbol hasInterned: input ifTrue: [:selector | - (SystemNavigation new allImplementorsOf: selector) ifNotEmpty:[:list| ^SystemNavigation new browseMessageList: list name: 'Implementors of ' , input]].
"If it starts uppercase, browse classes if any. Otherwise, just search for messages." input first isUppercase ifTrue: + [(UIManager default classFromPattern: input withCaption: '') ifNotNil: + [:aClass| ^ToolSet browse: aClass selector: nil]. - [(UIManager default classFromPattern: input withCaption: '') - ifNotNil:[:aClass| ^ToolSet browse: aClass selector: nil]. newContents := input, ' -- not found.'. self searchTerm: newContents. self selection: (input size+1 to: newContents size). self currentHand newKeyboardFocus: morph textMorph. ^ self].
"Default to browse message names..." ToolSet default browseMessageNames: input!
packages@lists.squeakfoundation.org