[Pharo-dev] Browser does not work at all anymore... I fixed it but...

Marcus Denker marcus.denker at inria.fr
Sun Nov 24 15:32:38 EST 2013


On 24 Nov 2013, at 21:31, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:

> well well well
> 

Code that is not used breaks. I do not know how to change that. I really do not.

> 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 <stephane.ducasse at inria.fr> 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
> 
> 





More information about the Pharo-dev mailing list