Subject: Re: bug#64596: 30.0.50; On FIXME: in src/buffer.c:1481 (force-mode-line-update)

From: Ihor Radchenko <[email-masked]>
Date: Sun, 16 Jul 2023 09:41:28 +0000

Eli Zaretskii <[email-masked]> writes:

>> May someone list all the possible displayed elements Emacs considers?
>
> What do you mean by "display element" here?  The Emacs display engine
> already has a term "display element", but I think it means something
> very different: character glyphs, images, compositions, etc.  See the
> function get_next_display_element in xdisp.c.
>
> So we had better agreed on clear terminology here to avoid terrible
> confusion.

Fair point.
The top commentary in xdisp.c defines "display elements" as elements in
glyph matrix. These include characters (possibly composed) and images.

However, not everything drawn in Emacs frame is represented by display
elements :

1. Title bar is not using glyphs at all
2. Same for scroll bars
3. and menu bars
4. and tool bars
5. and window boundaries
6. and things like fill-column-indicator (AFAIU)

Further, some display elements are grouped:
1. per frame
2. per window
3. within fringes
4. within mode-line
5. within buffer text area
6. within a line of text
7. within header line
8. within tab-line

I think that the flags should provide a way to mark each of the groups
or individual glyphs for future redisplay.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>