+2001-09-18 Gerd Moellmann <gerd@gnu.org>
+
+ * 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 <gerd@gnu.org>
* buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
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.