From 2bab0f2db6fff3a99d3bc498d6139ee42aab96ea Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 28 Jul 2022 11:39:28 +0300 Subject: [PATCH] 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. --- src/xdisp.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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); } -- 2.39.2