changeset 16208:e3a834653117

(Fset_window_start): Clear last_overlay_modified field. (set_window_height, set_window_width, Fset_window_buffer) (change_window_height, window_scroll, Fset_window_configuration): Clear last_overlay_modified field. (Fpos_visible_in_window_p): Test last_overlay_modified field.
author Richard M. Stallman <rms@gnu.org>
date Mon, 16 Sep 1996 06:29:40 +0000
parents f414d3a2fd58
children 40552cb9a45d
files src/window.c
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/window.c	Mon Sep 16 05:13:46 1996 +0000
+++ b/src/window.c	Mon Sep 16 06:29:40 1996 +0000
@@ -227,7 +227,8 @@
   height = XFASTINT (w->height) - ! MINI_WINDOW_P (w);
 
   buf = XBUFFER (w->buffer);
-  if (XFASTINT (w->last_modified) >= BUF_MODIFF (buf))
+  if (XFASTINT (w->last_modified) >= BUF_MODIFF (buf)
+      && XFASTINT (w->last_overlay_modified) >= BUF_OVERLAY_MODIFF (buf))
     {
       /* If frame is up to date,
 	 use the info recorded about how much text fit on it. */
@@ -601,6 +602,7 @@
     w->force_start = Qt;
   w->update_mode_line = Qt;
   XSETFASTINT (w->last_modified, 0);
+  XSETFASTINT (w->last_overlay_modified, 0);
   if (!EQ (window, selected_window))
     windows_or_buffers_changed++;
   return pos;
@@ -1700,6 +1702,7 @@
     }
 
   XSETFASTINT (w->last_modified, 0);
+  XSETFASTINT (w->last_overlay_modified, 0);
   windows_or_buffers_changed++;
   FRAME_WINDOW_SIZES_CHANGED (XFRAME (WINDOW_FRAME (w))) = 1;
 
@@ -1763,6 +1766,7 @@
     }
 
   XSETFASTINT (w->last_modified, 0);
+  XSETFASTINT (w->last_overlay_modified, 0);
   windows_or_buffers_changed++;
   FRAME_WINDOW_SIZES_CHANGED (XFRAME (WINDOW_FRAME (w))) = 1;
 
@@ -1861,6 +1865,7 @@
   w->start_at_line_beg = Qnil;
   w->force_start = Qnil;
   XSETFASTINT (w->last_modified, 0);
+  XSETFASTINT (w->last_overlay_modified, 0);
   windows_or_buffers_changed++;
 
   /* We must select BUFFER for running the window-scroll-functions.
@@ -2553,6 +2558,7 @@
     }
 
   XSETFASTINT (p->last_modified, 0);
+  XSETFASTINT (p->last_overlay_modified, 0);
 }
 #undef MINSIZE
 #undef CURBEG
@@ -2659,6 +2665,7 @@
       w->start_at_line_beg = bolp;
       w->update_mode_line = Qt;
       XSETFASTINT (w->last_modified, 0);
+      XSETFASTINT (w->last_overlay_modified, 0);
       if (pos > opoint)
 	SET_PT (pos);
       if (n < 0)
@@ -3114,6 +3121,7 @@
 	  w->hscroll = p->hscroll;
 	  w->display_table = p->display_table;
 	  XSETFASTINT (w->last_modified, 0);
+	  XSETFASTINT (w->last_overlay_modified, 0);
 
 	  /* Reinstall the saved buffer and pointers into it.  */
 	  if (NILP (p->buffer))