Are &rest arguments guaranteed to be copied? Consider the following: (defmacro m (&rest args) `',(nreverse args) ; Destructive reverse ) (setq x '(m a b c d)) (eval x) What is the final value of x? I think that I would argue that it is undefined since args may or may not be a copy of the original form. Is there anything in Cttl that clarifies this? -- Dan