Hi Alex, Fine. Then I suggest you change the example for 'push1q' in doc/refP.html, e.g. using (push1q 'S (1) (2) (3)) and (push1q 'S (2) (4)), so that one can better see there is a difference between 'push1q' and 'push1'.
/Jon On 27. Jan, 2015, at 17:17, Alexander Burger <[email protected]> wrote: > Hi Jon, > > On Tue, Jan 27, 2015 at 05:19:39PM +0200, Mike Pechkin wrote: >> Start point to understand difference is difference between (member) >> vs.(memq) and (=) vs. (==) >> http://software-lab.de/doc/ref.html#cmp > > Exactly. > > 'push1q' is in the same line as 'memq', 'delq' or 'asoq'. > > Therefore, 'push1q' will behave different from 'push1' when it gets > things which are equal (according to '='), but not pointer-equal > (according to '=='). > > (push1 'A (1) (2) (3) (1) (2) (3)) > (push1q 'B (1) (2) (3) (1) (2) (3)) > > A -> ((3) (2) (1)) > B -> ((3) (2) (1) (3) (2) (1)) > > ♪♫ Alex
