From b6f0fe04c00c3555438b2019e7154ffd3270701a Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 28 Jun 1995 09:39:00 +0000 Subject: [PATCH] (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. --- src/xdisp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/xdisp.c b/src/xdisp.c index 35a8ab4db4f..8438a4e819b 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -572,11 +572,13 @@ echo_area_display () 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 @@ redisplay () 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) { -- 2.39.2