> From: Ship Mints <shipmints@gmail.com>
> Date: Fri, 25 Apr 2025 12:21:40 -0400
> Cc: 77747@debbugs.gnu.org
>
> On Fri, Apr 25, 2025 at 10:58 AM Ship Mints <shipmints@gmail.com> wrote:
>
> On Fri, Apr 25, 2025 at 9:51 AM Ship Mints <shipmints@gmail.com> wrote:
>
> On Sun, Apr 13, 2025 at 5:52 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> > From: Ship Mints <shipmints@gmail.com>
> > 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
>
> Eli, possible to apply the above soon?
>
> Actually, I'm back to thinking this is better or the effect is that the whole buffer can wind up being
> unexpectedly highlighted:
>
> (min (1+ pt) (pos-bol)) 'cursor-face nil (point-min)))
>
> To be clearer:
>
> The original condition (1+ pt) 'cursor-face nil (point-min))) works fine in a wide buffer.
>
> The condition (min (1+ pt) (point-min)) 'cursor-face nil (point-min))) in a wide buffer winds up highlighting all
> the way to point-min in a buffer where every line has 'cursor-face which is undesirable.
It should obviously be point-max, not point-min.
Yeah. Of course. Feel free to apply AFAIC.