bug#81585: 31.0.91 and 32.0.50; Crash on macos hiding header-line with pixel-scroll-precision-mode

"Corwin Kerr" <[email protected]>
Newsgroups gmane.emacs.bugs
Message-ID <[email protected]>
> Honestly, I don't know if redisplay should be sending negative values
> to *_scroll_run, but just in case I've tried changing copyRect:to: so
> it can handle negative values.
The patch stops the crash for me as well. Thanks!

The crash might be a symptom of another bug because some other
scrolling weirdness occurs.

In both Emacs 30.2 and the patched build with the same minimal.el:
> file minimal.el
> ;; -*- lexical-binding: t; -*-
> (pixel-scroll-precision-mode)
> (defun toggle-header ()
>   (interactive)
>   (setq header-line-format
> 	(unless header-line-format "Pixel scroll, then press C-t to crash")))
> (toggle-header)
> (bind-key "C-t" #'toggle-header)

1. emacs -Q --load minimal.el
2. C-x 2 and click in lower buffer.
3. Scroll in lower buffer.
   Let x = fractional part of number of lines scrolled.
4. C-t to toggle off header-line.
5. The lower x fraction of header-line covers the lower x fraction of the 
   mode-line of the upper buffer.
(And in Emacs 32.0.50 if mode-line-invisible-mode is on, the bottom
line of the buffer text is covered.)

> > Could you try reproducing this on Emacs 30 as well?
> Reproduced in Emacs 30.
Note that the same procedure in Emacs 30.2 does not crash when
tab-bar-mode is active.

1. emacs -Q --load minimal.el
2. M-x tab-bar-mode
3. Scroll (pixel scrolling).
   Let x = fractional part of number of lines scrolled.
4. C-t to toggle off header line.
5. The lower x fraction of the header-line takes over the
   lower x fraction of the tab-bar until the tab-bar is redrawn.


Corwin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.