Subject: bug#36633: Scrolling by pixels: visible stretch glyphs overwrite header-line.

From: Tak Kunihiro <[email-masked]>
Date: Mon, 15 Jul 2019 21:26:32 +0900

I confirmed the existence of ghost (of the first line with green blocks)
shown on the headline significantly with 26.2 on macOS 10.6.8 and less
significantly with 26.2 on macOS 10.14.5.

The essence of related code is `set-window-vscroll'.

 (let ((n (frame-char-height)))
  (when (> n 0)
    (let ((vs0 (window-vscroll nil t)))
      (dolist (vs (number-sequence (1+ vs0) (+ vs0 n)))
        (set-window-vscroll nil vs t) (sit-for pixel-wait)))))

I do not know how to fix it.

Keith David Bershatsky <[email-masked]> writes:

> Here are links to two (2) youtube videos showing the issue on Emacs
> 26.1 (built by https://emacsformacosx.com/ a few months ago) and
> also
> the master branch that I built using a commit from 07/10/2019
> (40cd6278ba965f3a9fcdddc568eb9ee7c69cf899).  I don't have a 26.2
> build
> at the moment.  The issue is less noticeable on the master branch,
> but
> can still be seen nevertheless.  I have not studied the code as to
> what makes this feature work, but offhand would think that the
> header-line should not be overwritten by the row moving upwards
> (rather than updated after it has been overwritten).
>
> Emacs 26.1:  https://youtu.be/Y8cZfURSwZc
>
> Emacs Master Branch:  https://youtu.be/BO3r9_6OvYo