[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#37806: 27.0.50; Need to "extend" face-remap.el
From: |
Eli Zaretskii |
Subject: |
bug#37806: 27.0.50; Need to "extend" face-remap.el |
Date: |
Mon, 21 Oct 2019 10:20:00 +0300 |
> Date: Sun, 20 Oct 2019 18:05:31 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: stephen.berman@gmx.net, 37806@debbugs.gnu.org
>
> > Date: Sun, 20 Oct 2019 16:39:30 +0200
> > From: Ergus <spacibba@aol.com>
> > Cc: Eli Zaretskii <eliz@gnu.org>, 37806@debbugs.gnu.org
> >
> > The proper fix must be to declare the vector in the C side using the
> > real symbols like:
> >
> > Lisp_Object internal-lisp-face-attributes[LFACE_VECTOR_SIZE] = {
> > Qnil QCfamily, QCfoundry, QCwidth QCheight,
> > QCweight, QCslant, QCunderline, QCinverse_video,
> > QCforeground, QCbackground, QCstipple, QCoverline,
> > QCstrike_through, QCbox, QCfont, QCinherit, QCfontset,
> > QCdistant_foreground, QCextend
> > };
> >
> > But using makevector or a similar api from C.
>
> Yes, and face-remap.el even says so.
>
> You can "steal" the way this is done from coding.c, starting around
> line 11635 (but there should be no need to staticpro a variable that
> is visible from Lisp, unlike Vcoding_category_table).
>
> > So I will submit the simplest fix now and if Eli gives me a green light
> > I will implement the better version.
Jimmy, in case it was unclear, my comments above is the "green light"
you asked for implementing a better version in xfaces.c. We should
have done that cleanup long ago, IMO.
Thanks.