GNU bug report logs - #66117
30.0.50; `find-buffer-visiting' is slow when opening large number of buffers

Previous Next

Package: emacs;

Reported by: Ihor Radchenko <yantar92 <at> posteo.net>

Date: Wed, 20 Sep 2023 08:53:02 UTC

Severity: minor

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #462 received at 66117 <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Ihor Radchenko <yantar92 <at> posteo.net>
Cc: dmitry <at> gutov.dev, Eli Zaretskii <eliz <at> gnu.org>, mattias.engdegard <at> gmail.com,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, 66117 <at> debbugs.gnu.org
Subject: Re: bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening
 large number of buffers
Date: Tue, 02 Jan 2024 12:48:52 +0100
Ihor Radchenko <yantar92 <at> posteo.net> writes:

> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>
>>> (defvar-local yant/test 'default-value)
>>> (with-temp-buffer
>>>   (setq yant/test 'local-value)
>>>   (default-value 'yant/test)) ; => 'default-value
>>
>> Maybe the documentation could be changed to be clearer, but I'm afraid I
>> don't know how, because I think it describes 100% what is happening: the
>> setq creates a buffer-local binding in the temp buffer, and
>> default-value returns the value that is used in the case that a buffer
>> does _not_ have its own value, which is the value set in the
>> defvar-local...
>
> We clearly have some misunderstanding.

I tend to agree :-).

> Doesn't your statement contradict the earlier one:
>
>    >>>> 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
>
> In my example, SYMBOL does get its own value in the buffer, but
> `default-value' still returns 'default-value.

I assume you mean the example from above? This one:

>>> (defvar-local yant/test 'default-value)
>>> (with-temp-buffer
>>>   (setq yant/test 'local-value)
>>>   (default-value 'yant/test)) ; => 'default-value

If so, the "gets its own ... _but_ default-value still returns..." hints
at the misunderstanding, maybe. It should be something like "because it
gets its own..., default-value returns...".

Maybe one could reformulate the doc string of default-value like 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.

=>

  Return SYMBOL’s default value.
  This is the value that would be seen in the buffer if it didn't have
  its own value.

Although I find the original clearer...




This bug report was last modified 1 year and 135 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.