[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master aff5961274: Avoid assertion violations in 'back_to_previous_visib
From: |
Eli Zaretskii |
Subject: |
master aff5961274: Avoid assertion violations in 'back_to_previous_visible_line_start' |
Date: |
Fri, 5 Aug 2022 08:54:01 -0400 (EDT) |
branch: master
commit aff596127476c0fbcb11ccbbce63f32d03785653
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>
Avoid assertion violations in 'back_to_previous_visible_line_start'
* src/xdisp.c (init_iterator): Always initialize narrowed_begv to
zero, since SET_WITH_NARROWED_BEGV depends on it being non-zero as
an indication that long-line optimizations are in use.
(back_to_previous_visible_line_start): When long-line
optimizations are in effect, we may end up not on a newline.
---
src/xdisp.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/xdisp.c b/src/xdisp.c
index 099efed2db..3ca0022a6d 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -3473,8 +3473,9 @@ init_iterator (struct it *it, struct window *w,
&it->bidi_it);
}
- if (current_buffer->long_line_optimizations_p)
- it->narrowed_begv = 0;
+ /* This is set only when long_line_optimizations_p is non-zero
+ for the current buffer. */
+ it->narrowed_begv = 0;
/* Compute faces etc. */
reseat (it, it->current.pos, true);
@@ -7412,7 +7413,7 @@ back_to_previous_visible_line_start (struct it *it)
it->continuation_lines_width = 0;
eassert (IT_CHARPOS (*it) >= BEGV);
- eassert (it->narrowed_begv > BEGV
+ eassert (it->narrowed_begv > 0 /* long-line optimizations: all bets off */
|| IT_CHARPOS (*it) == BEGV
|| FETCH_BYTE (IT_BYTEPOS (*it) - 1) == '\n');
CHECK_IT (it);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master aff5961274: Avoid assertion violations in 'back_to_previous_visible_line_start',
Eli Zaretskii <=