Subject: Re: bug#48264: [PATCH v3 12/15] Set buffer_defaults fields without a default to Qunbound

From: Spencer Baugh <[email-masked]>
Date: Fri, 07 May 2021 10:15:14 -0400

Eli Zaretskii <[email-masked]> writes:
>> From: Spencer Baugh <[email-masked]>
>> Cc: [email-masked]
>> Date: Fri, 07 May 2021 09:20:33 -0400
>> 
>> Eli Zaretskii <[email-masked]> writes:
>> >> From: Spencer Baugh <[email-masked]>
>> >> +      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?