Frank Goenninger wrote:
It just occurred to me that a simple :unchanged-if function should do the trick, no ?
That is always my first reaction, too. Two problems: Cells works off (setf slot-value) if you will, and no code goes through that on (setf aref). The second problem is almost the same. Even this sequence:
(setf (aref (myvector self) 42) 'hi-mom) (setf (myvector self) (myvector self)) ;; to get to unchanged-if
...would not work because Cells saves the slot-value for comparison and in this case before and after are the same vector -- so the old element 42 of course now holds 'hi-mom.
kt
Kenneth Tilton wrote:
Frank Goenninger wrote:
It just occurred to me that a simple :unchanged-if function should do the trick, no ?
That is always my first reaction, too. Two problems: Cells works off (setf slot-value) if you will, and no code goes through that on (setf aref). The second problem is almost the same. Even this sequence:
(setf (aref (myvector self) 42) 'hi-mom) (setf (myvector self) (myvector self)) ;; to get to unchanged-if
...would not work because Cells saves the slot-value for comparison and in this case before and after are the same vector -- so the old element 42 of course now holds 'hi-mom.
er, because it is not "old", it is the same as in EQ vector.
kt