Subject: bug#78813: feature/igc: [PATCH] Make the array face_attr_sym readonly

From: Eli Zaretskii <[email-masked]>
Date: Fri, 20 Jun 2025 13:38:57 +0300

> Date: Fri, 20 Jun 2025 10:17:46 +0000
> From: Pip Cet <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> "Eli Zaretskii" <[email-masked]> writes:
> 
> >> Date: Tue, 17 Jun 2025 15:28:57 +0000
> >> From: Pip Cet <[email-masked]>
> >> Cc: [email-masked], Eli Zaretskii <[email-masked]>
> >>
> >> "Helmut Eller" <[email-masked]> writes:
> >>
> >> > Tags: patch
> >> >
> >> > This is a proposal to make the variable face_attr_sym const.  Mostly so
> >> > that it's more obvious that it doesn't need to be traced by the GC.
> >>
> >> Makes sense to me, but should be on master.  Is this okay for master?
> >
> > What are the advantages of making this change on master?
> 
> As on feature/igc, the change only makes it harder to break things by
> changing the rest of the code; there's no functional change on either
> branch, and while Helmut's patch is likely to reduce code size a little,
> that's not the reason we should install it.
> 
> I don't know whether we actually finally agreed that unprotected static
> Lisp_Objects should be phased out, but IIRC that's what Gerd suggested
> very strongly.  This change is part of that effort.

Thanks, but I asked about this change on its own, not as part of some
effort (which AFAIU is on the igc branch, not on master).  IOW,
suppose we release Emacs 31 without the MPS support (something I hope
will not need to happen, but just for the sake of this sub-thread):
what would that change give us, considering the fact that this code
was there since Emacs 21?