emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SVG widget in GNU Emacs


From: Eli Zaretskii
Subject: Re: SVG widget in GNU Emacs
Date: Wed, 20 Oct 2021 17:13:07 +0300

> From: Po Lu <luangruo@yahoo.com>
> Cc: atamariya@gmail.com,  emacs-devel@gnu.org
> Date: Wed, 20 Oct 2021 21:17:29 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Here's an example:
> >
> >   static int
> >   scrolling_window (struct window *w, int tab_line_p)
> >   {
> >    ...
> >   #ifdef HAVE_XWIDGETS
> >     /* Currently this seems needed to detect xwidget movement reliably.
> >        This is most probably because an xwidget glyph is represented in
> >        struct glyph's 'union u' by a pointer to a struct, which takes 8
> >        bytes in 64-bit builds, and thus the comparison of u.val values
> >        done by GLYPH_EQUAL_P doesn't work reliably, since it assumes the
> >        size of the union is 4 bytes.  FIXME.  */
> >       return 0;
> >   #endif
> 
> > This disables one of the more important display optimizations in an
> > Emacs compiled with xwidgets support.
> 
> Thanks.  Since I can't work on this right now, I'd like to ask if
> changing the field `val' from `unsigned' to `void *' would work to
> resolve this particular issue.

I have no idea, but I wonder why it is needed for xwidgets, but not
for other components of that union.

> > Apart of the above, just look at xwidget.c and xwidget.el, and you
> > will see the FIXMEs, the incomplete doc strings, and other stuff left
> > unfinished.  The idea was that those will get finished once the
> > feature is in the sources, but unfortunately it didn't happen.
> 
> Indeed, I see your point.  Thanks.
> 
> I will probably work on this once I get the time.

Thanks, cleanup in that area will be appreciated.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]