Subject: bug#16691: 24.3.50; emacs_backtrace.txt

From: Eli Zaretskii <[email-masked]>
Date: Sun, 09 Feb 2014 22:20:19 +0200

> Date: Sun, 09 Feb 2014 19:58:12 +0100
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked], [email-masked]
> 
> - short used[1 + LAST_AREA]: What does "Number of glyphs actually filled
>    in areas." mean?  Does this mean that for example the first element is
>    zero when the left margin doesn't exist?

Not necessarily: the margin could exist, but be empty.  And note that
in frame glyph matrices (used on a TTY), there's only one area: the
TEXT_AREA; the marginal areas don't have their glyphs[] arrays
allocated.

> - int x, y: Where and how are these set for a particular row (including
>    header- and mode-line) and when and how are these eventually consumed?
>    This is the greatest mystery for me so far.

They are assigned in display_line and display_string.  Examples from
display_line:

  row->y = it->current_y;
  [...]
  if (it->current_x - it->pixel_width < it->first_visible_x)
    row->x = x - it->first_visible_x;

Mode line and header line are generated from strings, so look in
display_mode_line and display_string.

Not sure what you mean by "consumed".  Consumed by whom and for what
purposes?

> - int visible_height: "Partially visible rows may be found at the top
>    and bottom of a window."  Is it true that we can draw partially
>    visible rows at the top of the window?

I think this is only possible when a single row is too large to fit a
window.