changeset 17679:447ca1b334e5

(display_text_line): Clear region_showing to Qnil if the window should not show a region. (redisplay_internal): Do update region_showing when ! all_windows.
author Richard M. Stallman <rms@gnu.org>
date Tue, 06 May 1997 03:42:02 +0000
parents c13cd575945a
children fdb29fa454bf
files src/xdisp.c
diffstat 1 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Tue May 06 03:29:39 1997 +0000
+++ b/src/xdisp.c	Tue May 06 03:42:02 1997 +0000
@@ -1270,6 +1270,15 @@
 	  w->last_had_star
 	    = (BUF_MODIFF (XBUFFER (w->buffer)) > BUF_SAVE_MODIFF (XBUFFER (w->buffer))
 	       ? Qt : Qnil);
+
+	  /* Record if we are showing a region, so can make sure to
+	     update it fully at next redisplay.  */
+	  w->region_showing = (!NILP (Vtransient_mark_mode)
+			       && w == XWINDOW (current_buffer->last_selected_window)
+			       && !NILP (XBUFFER (w->buffer)->mark_active)
+			       ? Fmarker_position (XBUFFER (w->buffer)->mark)
+			       : Qnil);
+
 	  w->window_end_valid = w->buffer;
 	  last_arrow_position = Voverlay_arrow_position;
 	  last_arrow_string = Voverlay_arrow_string;
@@ -2850,7 +2859,10 @@
       w->region_showing = Qt;
     }
   else
-    region_beg = region_end = -1;
+    {
+      region_beg = region_end = -1;
+      w->region_showing = Qnil;
+    }
 
   if (MINI_WINDOW_P (w)
       && start == BEG