changeset 9218:db4473eb2265

(redisplay_window): If we set PT, and that alters a region being displayed, call try_window again.
author Richard M. Stallman <rms@gnu.org>
date Sun, 02 Oct 1994 02:41:24 +0000
parents 1ed75812c134
children c57babb0ebd5
files src/xdisp.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Sun Oct 02 02:23:21 1994 +0000
+++ b/src/xdisp.c	Sun Oct 02 02:41:24 1994 +0000
@@ -1148,7 +1148,6 @@
       try_window (window, startp);
       if (cursor_vpos < 0)
 	{
-	  /* ??? What should happen here if highlighting a region?  */
 	  /* If point does not appear, move point so it does appear */
 	  pos = *compute_motion (startp, 0,
 				((EQ (window, minibuf_window) && startp == 1)
@@ -1168,6 +1167,12 @@
 	      FRAME_CURSOR_X (f) = max (0, pos.hpos) + XFASTINT (w->left);
 	      FRAME_CURSOR_Y (f) = pos.vpos + XFASTINT (w->top);
 	    }
+	  /* If we are highlighting the region,
+	     then we just changed the region, so redisplay to show it.  */
+	  cancel_my_columns (XWINDOW (window));
+	  if (!NILP (Vtransient_mark_mode)
+	      && !NILP (current_buffer->mark_active))
+	    try_window (window, startp);
 	}
       goto done;
     }