From: Eli Zaretskii Date: Thu, 28 Jul 2022 08:39:28 +0000 (+0300) Subject: Minor update of truncate-line optimization X-Git-Tag: emacs-29.0.90~1447^2~675^2~4 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2bab0f2db6fff3a99d3bc498d6139ee42aab96ea;p=emacs.git Minor update of truncate-line optimization * src/xdisp.c (forward_to_next_line_start): Look into display and overlay strings only when lines are truncated on display. --- diff --git a/src/xdisp.c b/src/xdisp.c index 66b37a855bc..6237d5a0222 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -7266,7 +7266,8 @@ forward_to_next_line_start (struct it *it, bool *skipped_p, if (!no_strings_with_newlines) { - if (!current_buffer->long_line_optimizations_p) + if (!(current_buffer->long_line_optimizations_p + && it->line_wrap == TRUNCATE)) { /* Quick-and-dirty check: if there isn't any `display' property in sight, and no overlays, we're done. */ @@ -7280,10 +7281,10 @@ forward_to_next_line_start (struct it *it, bool *skipped_p, } else { - /* For buffers with very long lines we try harder, - because it's worth our while to spend some time - looking into the overlays and 'display' properties - to try to avoid iterating through all of them. */ + /* For buffers with very long and truncated lines we try + harder, because it's worth our while to spend some + time looking into the overlays and 'display' properties + if we can then avoid iterating through all of them. */ no_strings_with_newlines = !strings_with_newlines (start, limit, it->w); }