From bfc97351b0c1cb96832bd25cec6c1bc18722668e Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Tue, 18 Sep 2001 10:30:56 +0000 Subject: [PATCH] (try_window_id) [!GLYPH_DEBUG]: Give up if first_unchanged_at_end_row is in front of last_unchanged_at_beg_row. This code should be removed after the release of 21.1. --- src/ChangeLog | 7 +++++++ src/xdisp.c | 15 +++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 7258c8cce8..f6891ec274 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2001-09-18 Gerd Moellmann + + * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if + first_unchanged_at_end_row is in front of + last_unchanged_at_beg_row. This code should be removed after the + release of 21.1. + 2001-09-17 Gerd Moellmann * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and diff --git a/src/xdisp.c b/src/xdisp.c index a3ac927f78..df8720ee0e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -11491,8 +11491,23 @@ try_window_id (w) stop_pos = 0; if (first_unchanged_at_end_row) { +#if GLYPH_DEBUG xassert (last_unchanged_at_beg_row == NULL || first_unchanged_at_end_row >= last_unchanged_at_beg_row); +#else + /* This is for the release of 21.1 only, and should be removed + after the release. + + This case means that unchanged information is probably bogus, + which leads to being unable to compute a correct + first_unchanged_at_end_row. At least that was the case in + one debugging session. I've fixed a bug that can lead to + wrong unchanged info, but didn't find a way to reproduce this + case. 2001-09-18 gerd. */ + if (last_unchanged_at_beg_row + && first_unchanged_at_end_row < last_unchanged_at_beg_row) + GIVE_UP (20); +#endif /* If this is a continuation line, move forward to the next one that isn't. Changes in lines above affect this line. -- 2.39.2