changeset 12410:1c02a5b45ae7

(echo_area_display): Don't set FRAME_CURSOR_... here. (redisplay): In the "point hasn't moved" shortcut, make sure that the cursor is in the right window already.
author Richard M. Stallman <rms@gnu.org>
date Wed, 28 Jun 1995 09:39:00 +0000
parents 6e374b28ecc3
children 884975f72dd5
files src/xdisp.c
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Wed Jun 28 09:38:18 1995 +0000
+++ b/src/xdisp.c	Wed Jun 28 09:39:00 1995 +0000
@@ -572,11 +572,13 @@
 		      echo_area_glyphs ? echo_area_glyphs_length : -1,
 		      0, 0, 0, 0, FRAME_WIDTH (f));
 
+#if 0 /* This just gets in the way.  update_frame does the job.  */
       /* If desired cursor location is on this line, put it at end of text */
       if (cursor_in_echo_area)
 	FRAME_CURSOR_Y (f) = vpos;
       if (FRAME_CURSOR_Y (f) == vpos)
 	FRAME_CURSOR_X (f) = FRAME_DESIRED_GLYPHS (f)->used[vpos];
+#endif
 
       /* Fill the rest of the minibuffer window with blank lines.  */
       {
@@ -927,7 +929,12 @@
 	  else
 	    goto cancel;
 	}
-      else if (PT == XFASTINT (w->last_point))
+      else if (PT == XFASTINT (w->last_point)
+	       /* Make sure the cursor was last displayed
+		  in this window.  Otherwise we have to reposition it.  */
+	       && XINT (w->top) <= FRAME_CURSOR_Y (selected_frame)
+	       && (XINT (w->top) + XINT (w->height)
+		   > FRAME_CURSOR_Y (selected_frame)))
 	{
 	  if (!must_finish)
 	    {