On Sun, Apr 13, 2025 at 7:28 AM Ship Mints wrote: > On Sun, Apr 13, 2025 at 5:52 AM Eli Zaretskii wrote: > >> > From: Ship Mints >> > Date: Fri, 11 Apr 2025 11:32:18 -0400 >> > >> > -Q reproducer >> > >> > ;; The culprit appears to be `redisplay--update-cursor-face-highlight' >> > (setq debug-on-error t) >> > (cursor-face-highlight-mode) >> > (save-excursion (insert (propertize "cursor face text\n" >> > 'cursor-face 'region))) >> > (narrow-to-region (pos-bol) (pos-eol)) >> > (setq unread-command-events (mapcar #'identity >> > (kbd "C-n"))) >> >> Thanks, does the below fix it? >> >> diff --git a/lisp/simple.el b/lisp/simple.el >> index ee09a6f..9e9dd15 100644 >> --- a/lisp/simple.el >> +++ b/lisp/simple.el >> @@ -7265,7 +7265,7 @@ redisplay--update-cursor-face-highlight >> (pt (window-point window)) >> (cursor-face (get-text-property pt 'cursor-face))) >> (let* ((start (previous-single-property-change >> - (1+ pt) 'cursor-face nil (point-min))) >> + (min (1+ pt) (point-min)) 'cursor-face nil >> (point-min))) >> (end (next-single-property-change >> pt 'cursor-face nil (point-max))) >> (new (redisplay--highlight-overlay-function >> > > Not quite. That winds up coalescing the highlight across lines rather > than just the line with the cursor. > > This works better but I'm not sure if this is in the true spirit of the > intended use as the property change may not be floored to bol? > > diff --git a/lisp/simple.el b/lisp/simple.el > index 7037158df8d..9ebe9a0ba34 100644 > --- a/lisp/simple.el > +++ b/lisp/simple.el > @@ -7259,7 +7259,7 @@ redisplay--update-cursor-face-highlight > (pt (window-point window)) > (cursor-face (get-text-property pt 'cursor-face))) > (let* ((start (previous-single-property-change > - (1+ pt) 'cursor-face nil (point-min))) > + (min (1+ pt) (pos-bol)) 'cursor-face nil > (point-min))) > (end (next-single-property-change > pt 'cursor-face nil (point-max))) > (new (redisplay--highlight-overlay-function > I tested my experiment above in my own reproducer and it doesn't work there, though it worked in a larger case with a lot more text, I didn't look further. Your recommendation doesn't work in the reproducer and it signals as before.