summaryrefslogtreecommitdiff
path: root/src/term.c
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-06-07 17:35:27 -0700
committerGlenn Morris <rgm@gnu.org>2014-06-07 17:35:27 -0700
commit36cf8493aff99b652b2ad8c9e4d55a18688e8484 (patch)
treef8ff499c2ee5e91b20d8576841f0e6bf91d1ba34 /src/term.c
parent2be772ff45057215c1c70252008c1f9703ef3bff (diff)
parentda8de2908c35ad1fd5c437486d2ea5f6ebb75ca3 (diff)
downloademacs-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.c16
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;