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