Subject: bug#51590: closed (Re: bug#51590: follow-mode is broken with header-line and tab-line)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 08 Nov 2021 07:14:02 +0000

Your bug report

#51590: follow-mode is broken with header-line and tab-line

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
51590: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=51590
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#51590: follow-mode is broken with header-line and tab-line
From: Alan Mackenzie <[email-masked]>
To: Juri Linkov <[email-masked]>
Cc: Eli Zaretskii <[email-masked]>, [email-masked]
Date: Mon, 8 Nov 2021 07:13:30 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello, Juri.

On Sun, Nov 07, 2021 at 21:56:50 +0200, Juri Linkov wrote:
> >> Thanks, I tested it out, and everything works without a hitch:
> >> with tab-line-format, or with header-line-format, or with both.

> > That's great.  If it's OK with you, I will write a commit message,
> > commit the change to the emacs-28 branch, then merge it to master.

> > Thanks for spotting the problem with the header line; it's been there
> > for a long time.

> Fixing it on the emacs-28 branch would be great.  I hadn't realized
> until now that some glitches in follow-mode were related to the
> tab-line/header-line.  Thanks in advance for pushing the fix
> to the emacs-28 branch.

Done.  I'm closing the bug with this post.

-- 
Alan Mackenzie (Nuremberg, Germany).

Subject: Tab-line breaks windows of follow-mode
From: Juri Linkov <[email-masked]>
To: [email-masked]
Date: Wed, 03 Nov 2021 20:24:18 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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?