From: Marc Wachowitz
Subject: Re: mapcar on function arguments
Date: 
Message-ID: <5kabe8$scv$1@trumpet.uni-mannheim.de>
> the value of '(x y z) is identical to the value of (list 'x 'y 'z) in all
> but one respect (the time at which the list is constructed).

The effect of trying to alter the former list is undefined in Common Lisp.
An implementation may put the cons cells of '(x y z) in read-only memory,
share them with something else in the system, perform constant propagation,
and even invoke whatever black magic it wants if you attempt to modify it,
including erasing your hard disk (not very likely, but indeed possible as a
consequence in further program execution).

(let ((a (list x y z)))
  (setf (car a) 'xxx)
  a)
; => (xxx y z)

(let ((a '(x y z)))
  (setf (car a) 'xxx)     ; oops
  a)

-- Marc Wachowitz <ยทยท@ipx2.rz.uni-mannheim.de>