diff --git a/basis/models/illusion/illusion.factor b/basis/models/illusion/illusion.factor index dde514a3d0..78998e9ab0 100644 --- a/basis/models/illusion/illusion.factor +++ b/basis/models/illusion/illusion.factor @@ -7,10 +7,6 @@ TUPLE: illusion < arrow ; illusion new V{ } clone >>connections V{ } clone >>dependencies 0 >>ref swap >>quot over >>model [ add-dependency ] keep ; -: backtalk ( value object -- ) [ quot>> [undo] call( a -- b ) ] [ model>> ] bi (>>value) ; +: backtalk ( value object -- ) [ quot>> [undo] call( a -- b ) ] [ model>> ] bi set-model ; -IN: accessors -M: illusion (>>value) ( value object -- ) swap throw [ call-next-method ] 2keep - dup [ quot>> ] [ model>> ] bi and - [ backtalk ] - [ 2drop ] if ; \ No newline at end of file +M: illusion update-model ( model -- ) [ [ value>> ] keep backtalk ] with-locked-model ; \ No newline at end of file