diff options
Diffstat (limited to 'src/dispnew.c')
-rw-r--r-- | src/dispnew.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/dispnew.c b/src/dispnew.c index 48d5fd04f3d..953527b4377 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -1327,9 +1327,14 @@ update_frame (f, force, inhibit_hairy_id) /* Now just clean up termcap drivers and set cursor, etc. */ if (!pause) { - if (cursor_in_echo_area - && FRAME_HAS_MINIBUF_P (f) - && EQ (FRAME_MINIBUF_WINDOW (f), minibuf_window)) + if ((cursor_in_echo_area + && FRAME_HAS_MINIBUF_P (f) + && EQ (FRAME_MINIBUF_WINDOW (f), minibuf_window)) + /* If we are showing a message instead of the minibuffer, + show the cursor for the message instead of for the + (now hidden) minibuffer contents. */ + || (EQ (minibuf_window, selected_window) + && echo_area_glyphs != 0)) { int top = XINT (XWINDOW (FRAME_MINIBUF_WINDOW (f))->top); int row, col; |