Subject: bug#38828: 26.3; Customized mode line breaks height of vertical scroll bar

From: martin rudalics <[email-masked]>
Date: Tue, 31 Dec 2019 10:57:55 +0100

This bug can be reproduced here with Emacs 26 and current master.  The
mode line customization was provided by Jonas Bernoulli in Bug#38181.

With emacs -Q load the attached test-mode-line.el and hit F1.  This
should show the *scratch* window with an expanded mode line and a
normal scroll bar and a two line echo area showing "test-mode-line".

Now hit any other key.  This sould shrink the echo area and redisplay
the *scratch* window as before but "extends" the vertical scroll bar
into the mode line.

The reason for this behavior is that the vertical scroll bar height in
the first case is calculated from a window_box_height call where
ml_row->mode_line_p is set and thus ml_row->height is used.

In the second case ml_row->mode_line_p is not set and the value is
taken via estimate_mode_line_height which, given the specification
from 'test-mode-line', doesn't estimate the height well.

martin