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

From: Keith David Bershatsky <[email-masked]>
Date: Fri, 12 Jul 2019 19:10:44 -0700

Step 1:  Launch Emacs 26.

Step 2:  Evaluate the following code.

(progn
  (find-library "simple")
  (pixel-scroll-mode 1)
  (re-search-forward "\t\t\t\t\t" nil t)
  (set-window-start (selected-window) (match-beginning 0))
  (setq header-line-format "hello-world")
  (setq buffer-display-table (make-display-table))
  (aset buffer-display-table
        ?\t
        (vector (make-glyph-code ?\u00BB 'font-lock-warning-face)
                (make-glyph-code ?\t 'highlight)))
  (setq tab-width 8))

Step 3:  Move the mousewheel downward one time; i.e., one ratchet.

Step 4:  Observe the visible stretch glyphs overwriting the header-line.

BEHAVIOR EXPECTED:  The header-line should not be overwritten by the visible stretch glyphs that are being scrolled upwards from the row beneath the header-line.

I am on OSX 10.6.8 and performed this minimal working example with:

GNU Emacs 26.1 (build 1, x86_64-apple-darwin10.8.0, NS appkit-1038.36 Version 10.6.8 (Build 10K549)) of 2018-05-30