]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid infinite recursion with 'relative' line numbers display
authorEli Zaretskii <eliz@gnu.org>
Fri, 25 Sep 2020 08:55:51 +0000 (11:55 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 25 Sep 2020 08:55:51 +0000 (11:55 +0300)
* 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

index d191ef51700dac54bae6e5aebad378b2bd7ae380..2af6144975ac1a146ec5f0a7368652a0111eedac 100644 (file)
@@ -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