From: Eli Zaretskii Date: Fri, 25 Sep 2020 08:55:51 +0000 (+0300) Subject: Avoid infinite recursion with 'relative' line numbers display X-Git-Tag: emacs-27.1.90~138 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cc8fef2bdd;p=emacs.git 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) --- diff --git a/src/xdisp.c b/src/xdisp.c index d191ef51700..2af6144975a 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