Subject: Re: bug#38181: Actual height of mode-line not taken into account

From: Eli Zaretskii <[email-masked]>
Date: Thu, 07 May 2020 15:41:59 +0300

> Cc: [email-masked], [email-masked]
> From: martin rudalics <[email-masked]>
> Date: Thu, 7 May 2020 10:34:40 +0200
> 
>  >> I simply don't yet understand why updating the frame decorations that have nothing to do with text layout needs init_iterator to run.  What am I missing?  Redisplay doesn't in general redraw the whole frame, it only redraws windows.
>  >
>  > Answering my own question: because the clear_under_internal_border
>  > method, which redraws the internal border, is called from
>  > redisplay_internal.
> 
> That's only a secondary issue, I think.  clear_under_internal_border is
> called from so many places.  The real reason is, as I tried to explain
> before, to update the basic faces, however that is accomplished.

What puzzled me was how init_iterator was involved: without its being
called at least once, the call to clear_under_internal_border will not
use the updated faces.