Subject: bug#51590: Tab-line breaks windows of follow-mode

From: Juri Linkov <[email-masked]>
Date: Wed, 03 Nov 2021 20:24:18 +0200

In emacs -Q visit a long buffer, split the window horizontally,
and enable 'M-x follow-mode'.  A partially-visible bottom line
of the left window will help to observe that the same line
is completely visible at the top of the right window.
This is a nice feature that allows follow-mode to work correctly.

Now enable 'M-x global-tab-line-mode' and observe that
the same line is still visible at the top of the right window,
whereas the bottom line of the left window shows another
partially-visible line.  This is a bug.

The most low-level function of follow-mode is follow-calc-win-end.
When global-tab-line-mode is enabled, follow-calc-win-end
returns the same values as when global-tab-line-mode is disabled.

I don't understand what more low-level function doesn't take
into account the height of the tab-line.  Maybe the problem is
in pos-visible-in-window-p?  Or maybe different values returned
by window-inside-pixel-edges and window-end?