GNU bug report logs - #48264
28.0.50; Changing the default for DEFVAR_PER_BUFFER variables takes O(#buffers) time

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> catern.com>

Date: Thu, 6 May 2021 20:25:01 UTC

Severity: normal

Found in version 28.0.50

Full log


View this message in rfc822 format

From: Spencer Baugh <sbaugh <at> catern.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 48264 <at> debbugs.gnu.org
Subject: bug#48264: [PATCH v3 12/15] Set buffer_defaults fields without a default to Qunbound
Date: Fri, 07 May 2021 10:15:14 -0400
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Spencer Baugh <sbaugh <at> catern.com>
>> Cc: 48264 <at> debbugs.gnu.org
>> Date: Fri, 07 May 2021 09:20:33 -0400
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >> From: Spencer Baugh <sbaugh <at> catern.com>
>> >> +      if (!(offset == PER_BUFFER_VAR_OFFSET (syntax_table)
>> >> +            || offset == PER_BUFFER_VAR_OFFSET (category_table)))
>> >
>> > Please add a comment here about these two exemptions.  (And I cannot
>> > say that I like such kludges; why doe we need it?)
>> 
>> The syntax_table and category_table fields in buffer_defaults are used
>> through Vstandard_syntax_table and Vstandard_category_table (which are
>> just aliases to the fields in buffer_defaults); the initialization for
>> syntax.c and category.c runs before buffer.c, so they're already set at
>> this point.  I could reorder the initialization if you'd prefer that?
>> Or move the initialization into buffer.c?
>
> If it works to move init_buffer_once before init_syntax_once, I think
> that'd be much better.

Hm, regrettably, it doesn't seem to be as simple as that; doing so
causes failures in dumping.  I now remember that I tried this before and
had much difficulty doing this by reordering the intialization.

I could try moving the initialization into buffer.c?




This bug report was last modified 2 years and 290 days ago.

Previous Next


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