]> git.eshelyaron.com Git - emacs.git/commitdiff
(display_text_line): Clear region_showing to Qnil if the
authorRichard M. Stallman <rms@gnu.org>
Tue, 6 May 1997 03:42:02 +0000 (03:42 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 6 May 1997 03:42:02 +0000 (03:42 +0000)
window should not show a region.
(redisplay_internal): Do update region_showing when ! all_windows.

src/xdisp.c

index e777336e6c7ba6e5f47383d7b98221f4dfd6d716..37cf8f1820812e6dd1ef581814cb8078e9aa791d 100644 (file)
@@ -1270,6 +1270,15 @@ update:
          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 @@ display_text_line (w, start, vpos, hpos, taboffset, ovstr_done)
       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