Subject: Re: bug#5971: 23.1.95; `delete' modifies default value instead of buffer-local value

From: Andreas Schwab <[email-masked]>
Date: Mon, 19 Apr 2010 20:42:51 +0200

"Drew Adams" <[email-masked]> writes:

>> > Nothing in the doc states that they share list structure.
>> 
>> There is no buffer-local value before you set it.
>
> Yes, I know that. And I noted that explicitly.

So you know that the default value is *the value you are modifying*.

>> The doc is pretty clear that a buffer-local value only starts to exist
>> the first time it is set:
>> 
>> Make VARIABLE become buffer-local whenever it is set.
>> At any time, the value for the current buffer is in effect,
>> unless the variable has never been set in this buffer,
>> in which case the default value is in effect.
>>                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Yes, and I explictly said that too. Please read what I wrote.

Please read what I wrote.

> What is _not_ documented AFAICT is that using `delete' to set the buffer-local
> value in buffer X also modifies the default value. There is no reason to expect
> that, from reading the doc.

You are *not* modifying the buffer-local value, because *it does not
exist* yet.

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."