please! :) that would save some major pain here and there ;) On 2013-03-28, at 12:57, Benjamin <[email protected]> wrote:
> if it works go ahead ;) > > Ben > > On Mar 28, 2013, at 12:48 PM, Norbert Hartl <[email protected]> wrote: > >> >> Am 28.03.2013 um 11:51 schrieb stephane ducasse <[email protected]>: >> >>> >>> On Mar 28, 2013, at 11:21 AM, Norbert Hartl <[email protected]> wrote: >>> >>>> What is the rationale for having the method pane as multi-select list? I >>>> don't think it is of greater use when editing code. I could imagine that >>>> some refactoring tasks could be easier having multi-select lists. >>>> >>>> Anyway, if I try to rename a method without using the refactoring engine I >>>> just change the selector, save and delete the method with the old >>>> selector. In pharo 2.0 when you rename a method and then click on the old >>>> selector both methods are selected and shortcut invocation for deleting >>>> deletes both. Which is quite annoying. In my opinion there is no reason >>>> for two methods being selected. If you agree I'll happily enter a bug. >>> >>> >>> The problem is not a nautilus bug but a compiled method one if I remember >>> correctly. >>> because two methods with the same body are equal. >>> >> It happens in MethodWidget>>#methodSelectionAt:put. When >> PluggableIconListMorph updates the list selection it calls the MethodWidget >> to set true on the new method selected. But MethodWidget uses a Dictionary >> for instVar methodSelection and finds the old method being equal and enables >> this. >> As I don't see a reason why a selection should be done by equality this >> behavior can be fixed by using an IdentityDictionary. >> >> Fix: >> >> MethodWidget>>#initialize >> >> super initialize. >> methodsSelection := IdentityDictionary new. >> >> Any arguments? >> >> Norbert >
