GNU bug report logs - #77747
'cursor-face-highlight-mode' signals 'args-out-of-range' in narrowed buffer

Previous Next

Package: emacs;

Reported by: Ship Mints <shipmints <at> gmail.com>

Date: Fri, 11 Apr 2025 15:33:02 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ship Mints <shipmints <at> gmail.com>
Subject: bug#77747: closed (Re: bug#77747: 'cursor-face-highlight-mode'
 signals 'args-out-of-range' in narrowed buffer)
Date: Sat, 26 Apr 2025 14:22:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#77747: 'cursor-face-highlight-mode' signals 'args-out-of-range' in narrowed buffer

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 77747 <at> debbugs.gnu.org.

-- 
77747: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=77747
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Ship Mints <shipmints <at> gmail.com>
Cc: 77747-done <at> debbugs.gnu.org
Subject: Re: bug#77747: 'cursor-face-highlight-mode' signals
 'args-out-of-range' in narrowed buffer
Date: Sat, 26 Apr 2025 17:21:26 +0300
> From: Ship Mints <shipmints <at> gmail.com>
> Date: Fri, 25 Apr 2025 15:24:02 -0400
> Cc: 77747 <at> debbugs.gnu.org
> 
> On Fri, Apr 25, 2025 at 2:37 PM Eli Zaretskii <eliz <at> gnu.org> wrote:
> 
>  > From: Ship Mints <shipmints <at> gmail.com>
>  > Date: Fri, 25 Apr 2025 12:21:40 -0400
>  > Cc: 77747 <at> debbugs.gnu.org
>  > 
>  > On Fri, Apr 25, 2025 at 10:58 AM Ship Mints <shipmints <at> gmail.com> wrote:
>  > 
>  >  On Fri, Apr 25, 2025 at 9:51 AM Ship Mints <shipmints <at> gmail.com> wrote:
>  > 
>  >  On Sun, Apr 13, 2025 at 5:52 AM Eli Zaretskii <eliz <at> gnu.org> wrote:
>  > 
>  >  > From: Ship Mints <shipmints <at> 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.

Done.

[Message part 3 (message/rfc822, inline)]
From: Ship Mints <shipmints <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 'cursor-face-highlight-mode' signals 'args-out-of-range' in narrowed
 buffer
Date: Fri, 11 Apr 2025 11:32:18 -0400
[Message part 4 (text/plain, inline)]
-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")))

-Stephane
[Message part 5 (text/html, inline)]

This bug report was last modified 118 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.