diff -r c8cd574b5966 -r 69daf85fe5e0 ProtocolAdaptor.st --- a/ProtocolAdaptor.st Wed Mar 05 22:57:24 2014 +0100 +++ b/ProtocolAdaptor.st Wed Mar 05 23:13:03 2014 +0100 @@ -179,19 +179,19 @@ obj := anObject. lastIndex := accessPath size. accessPath keysAndValuesDo:[:idx :aSelectorOrIndex | - aSelectorOrIndex isInteger ifTrue:[ - idx == lastIndex ifTrue:[ - obj at:aSelectorOrIndex put:newValue - ] ifFalse:[ - obj := obj at:aSelectorOrIndex - ] - ] ifFalse:[ - idx == lastIndex ifTrue:[ - obj perform:(aSelectorOrIndex , ':') asSymbol with:newValue - ] ifFalse:[ - obj := obj perform:aSelectorOrIndex - ] - ] + aSelectorOrIndex isInteger ifTrue:[ + idx == lastIndex ifTrue:[ + obj at:aSelectorOrIndex put:newValue + ] ifFalse:[ + obj := obj at:aSelectorOrIndex + ] + ] ifFalse:[ + idx == lastIndex ifTrue:[ + obj perform:aSelectorOrIndex asMutator with:newValue + ] ifFalse:[ + obj := obj perform:aSelectorOrIndex + ] + ] ]. ^ newValue ! @@ -370,5 +370,6 @@ !ProtocolAdaptor class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libview2/ProtocolAdaptor.st,v 1.14 2008-04-16 16:55:19 stefan Exp $' + ^ '$Header: /cvs/stx/stx/libview2/ProtocolAdaptor.st,v 1.15 2014-03-05 22:13:03 cg Exp $' ! ! +