aboutsummaryrefslogtreecommitdiffstats
path: root/src/term.c
diff options
context:
space:
mode:
authorEli Zaretskii2013-10-11 17:42:05 +0300
committerEli Zaretskii2013-10-11 17:42:05 +0300
commit052bac0bf1f4a61fbd3dec494de60955f60071e2 (patch)
tree5abe4756d62a2662fe5d95671696d7d20b8b82ff /src/term.c
parente1f9f9e3d8abc2ce9ce9cb7fc89222ca6e3f3baa (diff)
downloademacs-052bac0bf1f4a61fbd3dec494de60955f60071e2.tar.gz
emacs-052bac0bf1f4a61fbd3dec494de60955f60071e2.zip
Menu item selection on TTYs is now cyclical.
src/term.c (read_menu_input): Make selection of menu items cyclical. Suggested by Dmitry Antipov <dmantipov@yandex.ru>. (tty_menu_activate): Fix off-by-one error when computing max_y.
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/term.c b/src/term.c
index 27471775d03..71263d41dd2 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3177,11 +3177,15 @@ read_menu_input (struct frame *sf, int *x, int *y, int min_y, int max_y,
3177 { 3177 {
3178 if (*y < max_y) 3178 if (*y < max_y)
3179 *y += 1; 3179 *y += 1;
3180 else
3181 *y = min_y;
3180 } 3182 }
3181 else if (EQ (cmd, Qtty_menu_prev_item)) 3183 else if (EQ (cmd, Qtty_menu_prev_item))
3182 { 3184 {
3183 if (*y > min_y) 3185 if (*y > min_y)
3184 *y -= 1; 3186 *y -= 1;
3187 else
3188 *y = max_y;
3185 } 3189 }
3186 else if (EQ (cmd, Qtty_menu_select)) 3190 else if (EQ (cmd, Qtty_menu_select))
3187 st = 1; 3191 st = 1;
@@ -3290,7 +3294,7 @@ tty_menu_activate (tty_menu *menu, int *pane, int *selidx,
3290 { 3294 {
3291 int input_status; 3295 int input_status;
3292 int min_y = state[0].y; 3296 int min_y = state[0].y;
3293 int max_y = min (min_y + state[0].menu->count, FRAME_LINES (sf)) - 1; 3297 int max_y = min (min_y + state[0].menu->count, FRAME_LINES (sf) - 1) - 1;
3294 3298
3295 input_status = read_menu_input (sf, &x, &y, min_y, max_y, &first_time); 3299 input_status = read_menu_input (sf, &x, &y, min_y, max_y, &first_time);
3296 if (input_status) 3300 if (input_status)