Subject: bug#9469: buffer-local variables seem to remember previous values

From: Johan Bockgård <[email-masked]>
Date: Tue, 13 Sep 2011 20:02:20 +0200

Stefan Monnier <[email-masked]> writes:

>> "The special form quote returns its single argument, as written,
>> without evaluating it. This provides a way to include constant symbols
>> and lists"
>
>> Isn't the first sentence misleading?  It does not *always* return a
>> single argument as written.  It does the first time, and memoizes
>> subsequently.  Where is the mention of that?
>
> There is no memoization: the quote does not *construct* the object, it
> just returns it.

I think the "as written" bit is mildly confusing, and nearly falls into
this trap:

    In other languages, an expression is text; it has no other form. In
    Lisp, an expression is primarily a Lisp object and only secondarily
    the text that is the object's read syntax. Often there is no need to
    emphasize this distinction, but you must keep it in the back of your
    mind, or you will occasionally be very confused.

        -- (info "(elisp) Printed Representation")