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 #337 received at 66117 <at> debbugs.gnu.org (full text, mbox):

From: Ihor Radchenko <yantar92 <at> posteo.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: dmitry <at> gutov.dev, 66117 <at> debbugs.gnu.org, mattias.engdegard <at> gmail.com,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening
 large number of buffers
Date: Sun, 17 Dec 2023 11:19:57 +0000
Eli Zaretskii <eliz <at> gnu.org> writes:

>> AFAIU, not different. Previously, we had
>> 
>> > @@ -4785,7 +4779,6 @@ init_buffer_once (void)
>> >    bset_tab_line_format (&buffer_defaults, Qnil);
>> >    bset_abbrev_mode (&buffer_defaults, Qnil);
>> >    bset_overwrite_mode (&buffer_defaults, Qnil);
>> > -  bset_case_fold_search (&buffer_defaults, Qt);
>> 
>> So, the default value was Qt previously as well.
>
> buffer_defaults is not the default value, AFAIU.

Unless I misunderstand, the comment says that buffer_defaults does hold
the default values.

/* This structure holds the default values of the buffer-local variables
   that have special slots in each buffer.
   The default value occupies the same slot in this structure
   as an individual buffer's value occupies in that buffer.
   Setting the default value also goes through the alist of buffers
   and stores into each buffer that does not say it has a local value.  */

extern struct buffer buffer_defaults;

>> The DEFVAR_LISP + V... + DEFSYM + Fmake_variable_buffer_local is taken
>> from other buffer-local variables. For example,
>
> I'm talking specifically about any changes from previous behavior
> visible from Lisp.  I think we should test all of the following:
>
>   default-value
>   default-boundp
>   setq-default
>   default-toplevel-value
>   set-default-toplevel-value
>
> and make sure they all behave exactly the same, both in and out of a
> let-binding.

The patch did not introduce test failures for make check on my side. Are
there existing tests for buffer-locals? Or do we need to add them?

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>




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

Previous Next


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