diff options
author | Glenn Morris <rgm@gnu.org> | 2014-06-07 17:35:27 -0700 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2014-06-07 17:35:27 -0700 |
commit | 36cf8493aff99b652b2ad8c9e4d55a18688e8484 (patch) | |
tree | f8ff499c2ee5e91b20d8576841f0e6bf91d1ba34 /src/term.c | |
parent | 2be772ff45057215c1c70252008c1f9703ef3bff (diff) | |
parent | da8de2908c35ad1fd5c437486d2ea5f6ebb75ca3 (diff) | |
download | emacs-36cf8493aff99b652b2ad8c9e4d55a18688e8484.tar.gz |
Merge from emacs-24; up to 2014-06-01T23:37:59Z!eggert@cs.ucla.edu
Diffstat (limited to 'src/term.c')
-rw-r--r-- | src/term.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/term.c b/src/term.c index eaac66c3a41..37a938e338d 100644 --- a/src/term.c +++ b/src/term.c @@ -2934,8 +2934,7 @@ tty_menu_display (tty_menu *menu, int x, int y, int pn, int *faces, display_tty_menu_item (menu->text[j], max_width, face, x, y + i, menu->submenu[j] != NULL); } - update_frame_with_menu (sf); - cursor_to (sf, row, col); + update_frame_with_menu (sf, row, col); } /* --------------------------- X Menu emulation ---------------------- */ @@ -3106,7 +3105,7 @@ static void screen_update (struct frame *f, struct glyph_matrix *mtx) { restore_desired_matrix (f, mtx); - update_frame_with_menu (f); + update_frame_with_menu (f, -1, -1); } typedef enum { @@ -3255,7 +3254,7 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx, /* Force update of the current frame, so that the desired and the current matrices are identical. */ - update_frame_with_menu (sf); + update_frame_with_menu (sf, -1, -1); state[0].menu = menu; state[0].screen_behind = save_and_enable_current_matrix (sf); @@ -3400,8 +3399,6 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx, state[statecount - 1].y, state[statecount - 1].pane, faces, x, y, first_item, 1); - tty_hide_cursor (tty); - fflush (tty->output); /* The call to display help-echo below will move the cursor, so remember its current position as computed by tty_menu_display. */ @@ -3420,10 +3417,13 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx, item, so that screen readers and other accessibility aids know where the active region is. */ cursor_to (sf, row, col); - tty_hide_cursor (tty); - fflush (tty->output); prev_menu_help_message = menu_help_message; } + /* Both tty_menu_display and help_callback invoke update_end, + which calls tty_show_cursor. Re-hide it, so it doesn't show + through the menus. */ + tty_hide_cursor (tty); + fflush (tty->output); } sf->mouse_moved = 0; |