summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-09-18 10:30:35 +0000
committerGerd Moellmann <gerd@gnu.org>2001-09-18 10:30:35 +0000
commit2490476db23cd666d3ec61bd7dd5d51c64bb245c (patch)
tree00f99621eef6d2b52b3778313b6e2337a3ac1c4c
parent738830eb1d664b1da45a99c6cf8a405f59d8e72d (diff)
downloademacs-2490476db23cd666d3ec61bd7dd5d51c64bb245c.tar.gz
(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.
-rw-r--r--src/xdisp.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index a3ac927f785..df8720ee0e8 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.