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

Alan Third <[email protected]>
Newsgroups gmane.emacs.bugs
Message-ID <[email protected]>
On Wed, Aug 12, 2026 at 12:58:46AM -0400, Corwin Kerr wrote:
> > 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.

It does, it's just more difficult to reproduce. If I make the text
huge (ctrl and mouse scroll), then scroll so a line is only partially
visible and hit C-t it will (sometimes) crash in exactly the same way.

I haven't been able to find when this started, I'm beginning to
suspect it's always been a problem. As such I think I'll just push the
fix.

Is this something we want in emacs-31? Too close to release?
-- 
Alan Third
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.