.info.;lisp news described displace as
SUBR: (DISPLACE X Y) ==> (PROGN (RPLACA X (CAR Y)) (RPLACD X (CDR Y)) X)
while the way it seems to behave (and in my humble opinion aught to) is
SUBR: (DISPLACE X Y) ==> (PROGN (RPLACA X (CAR Y)) (RPLACD X (CDR Y)) y) ;;return y