well well well
messageList
"Answer an Array of the message selectors of the currently selected
message category, provided that the messageCategoryListIndex is in proper
range. Otherwise, answer an empty Array If messageCategoryListIndex is found
to be larger than the number of categories (it happens!), it is reset to zero."
| sel |
(sel := self messageCategoryListSelection) ifNil: [
^ self classOrMetaClassOrganizer
ifNil: [Array new]
ifNotNil: [self classOrMetaClassOrganizer
allMethodSelectors]
].
^ (self classOrMetaClassOrganizer listAtCategoryNumber:
messageCategoryListIndex)
ifNil: [messageCategoryListIndex := 0. Array
new]
it looks like messageList or allMethodSelectors got changed and do not return
anymore an indexable collection.
So I will fix that too.
Stef
On Nov 24, 2013, at 9:24 PM, Stéphane Ducasse <[email protected]> wrote:
> Smalltalk tools register: Browser as: #browser
> Smalltalk tools openClassBrowser
>
>
>
> PluggableListMorph was not robust enough
> Apparently when getListSelector returns a set (like messageList now in 3.0
> then getList breaks
>
> getList
> "Answer the list to be displayed. Caches the returned list in the
> 'list' ivar"
> getListSelector == nil ifTrue: [^ #()].
> list := model perform: getListSelector.
> list == nil ifTrue: [^ #()].
> list := list collectWithIndex: [ :item :index | self wrapItem: item
> index: index ].
> ^ list
>
> => fix the problem. I will produce a slice. And I think that the messageList
> returning a set is a mistake too.
>
> getList
> "Answer the list to be displayed. Caches the returned list in the
> 'list' ivar"
> getListSelector == nil ifTrue: [^ #()].
> list := (model perform: getListSelector) asArray.
> list == nil ifTrue: [^ #()].
> list := list collectWithIndex: [ :item :index | self wrapItem: item
> index: index ].
> ^ list
>
> Stf