changeset 39329:52983980d01d

(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.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 18 Sep 2001 10:30:35 +0000
parents 98b6406c8b5c
children e4caf503efef
files src/xdisp.c
diffstat 1 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Tue Sep 18 09:28:00 2001 +0000
+++ b/src/xdisp.c	Tue Sep 18 10:30:35 2001 +0000
@@ -11491,8 +11491,23 @@
   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.