emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 cc8fef2: Avoid infinite recursion with 'relative' line numbers


From: Eli Zaretskii
Subject: emacs-27 cc8fef2: Avoid infinite recursion with 'relative' line numbers display
Date: Fri, 25 Sep 2020 04:56:47 -0400 (EDT)

branch: emacs-27
commit cc8fef2bddfcf4e1c3bab35a18621dd7666d022e
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Avoid infinite recursion with 'relative' line numbers display
    
    * src/xdisp.c (display_count_lines_visually): Bind
    'display-line-numbers' to 'relative' around 'start_display' as
    well, since that can invoke 'move_it_to' internally, thus
    causing infinite recursion.  (Bug#43589)
---
 src/xdisp.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index d191ef5..2af6144 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -22682,10 +22682,11 @@ display_count_lines_visually (struct it *it)
          SET_TEXT_POS (from, PT, PT_BYTE);
          to = IT_CHARPOS (*it);
        }
-      start_display (&tem_it, it->w, from);
       /* Need to disable visual mode temporarily, since otherwise the
-        call to move_it_to will cause infinite recursion.  */
+        call to move_it_to below and inside start_display will cause
+        infinite recursion.  */
       specbind (Qdisplay_line_numbers, Qrelative);
+      start_display (&tem_it, it->w, from);
       /* Some redisplay optimizations could invoke us very far from
         PT, which will make the caller painfully slow.  There should
         be no need to go too far beyond the window's bottom, as any



reply via email to

[Prev in Thread] Current Thread [Next in Thread]