Subject: bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers

From: Gerd Möllmann <[email-masked]>
Date: Tue, 02 Jan 2024 05:43:30 +0100

Ihor Radchenko <[email-masked]> writes:

> Gerd Möllmann <[email-masked]> writes:
>
>>>>> (defvar-local let-tests-buffer-local-var 'value)
>>>>> (with-temp-buffer
>>>>>   (setq-local let-tests-buffer-local-var 'baz)
>>>>>   (let ((let-tests-buffer-local-var 'bar))
>>>>>     ;; This is failing.
>>>>>     (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
>>>>
>>>> C-h f default-value explains this:
>>>>
>>>>   Return SYMBOL’s default value.
>>>>   This is the value that is seen in buffers that do not have their own values
>>>>   for this variable.
>>>
>>> Are you saying that `let' never changes `default-value' output?
>>
>> Not really. I tried to explain why default-value, in this case, returns
>> what it returns.
>
> I am sorry, but I do not see how the docstring explains what is
> happening there. Because it is not clear what `let' does with the
> default value.

Sorry for not being clear. What I wanted to hint at is the part of the
doc string that reads "that do not have their own values...", which
means that what default-value returns depends whether or not SYMBOL got
its own value in the buffer, and that depends on the presence of lets,
and so on.

It's (too) complicated, but it is what it is :-/.