From: Gregory Heytings Date: Mon, 1 Aug 2022 15:01:15 +0000 (+0000) Subject: ; * src/xdisp.c (reseat): Improve recomputations. X-Git-Tag: emacs-29.0.90~1447^2~431^2~7 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=38d970b748a23d3b8dad6feef8e392f1d6d3c9e5;p=emacs.git ; * src/xdisp.c (reseat): Improve recomputations. --- diff --git a/src/xdisp.c b/src/xdisp.c index 9574d06bd5c..c6fc05b8b4a 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -7531,13 +7531,17 @@ reseat (struct it *it, struct text_pos pos, bool force_p) if (current_buffer->long_line_optimizations_p) { - if (!it->narrowed_begv - || ((pos.charpos < it->narrowed_begv || pos.charpos > it->narrowed_zv) - && (!redisplaying_p || it->line_wrap == TRUNCATE))) + if (!it->narrowed_begv) { it->narrowed_begv = get_narrowed_begv (it->w, window_point (it->w)); it->narrowed_zv = get_narrowed_zv (it->w, window_point (it->w)); } + else if ((pos.charpos < it->narrowed_begv || pos.charpos > it->narrowed_zv) + && (!redisplaying_p || it->line_wrap == TRUNCATE)) + { + it->narrowed_begv = get_narrowed_begv (it->w, pos.charpos); + it->narrowed_zv = get_narrowed_zv (it->w, pos.charpos); + } } /* Determine where to check text properties. Avoid doing it