Yes evil mutations! Let's ban these

2013/4/28 Stéphane Ducasse <stephane.duca...@inria.fr>

> Thanks for the explanation but I do not get it
>
> Because
>
> shortcut1 := $a ctrl.
> shortcut2 := $a ctrl shift
>
> created different shortcuts.
>
>
> I thought you wanted the inverse:
> You wrote:
>
> Why modifiers change receiver state instead of create new instance?
>
>
>
> And it is fully unexpected that I can not refactor it to:
>
> shotcut2 := shortcut1 shift
>
>
> ahhh I got it.
>
>
> Because after that my shortcut1 become broken.
>
> It was happen in TxTextMorph where selection and movement shortcuts
> created at same time
>
> TxTextMorph>>moveEditorOn: aShortcut by: aSelector
>
>     self on: aShortcut do: [
>         self moveEditorBy: aSelector withSelection: false ].
>     self on: selectionModeModifier + aShortcut  do: [
>         self moveEditorBy: aSelector withSelection: true].
>
> To fix it I add deep copy of given shortcut before modifier operation.
>
>  >
>> > There is another example:
>> >
>> > shortcut := $a ctrl.
>> > self assert: shortcut == (KMModifier shift + shortcut)
>> >
>> > Yes. Such operation modified argument of message #+. What the crapp!
>> Why it not returns new instance?
>> >
>> > I hope you agree to change this behaviour
>> >
>> >
>>
>>
>>
>
>

Reply via email to