diff -ur nano-1.3.4/src/winio.c nano-1.3.4-fixed/src/winio.c --- nano-1.3.4/src/winio.c 2004-08-17 23:31:26.000000000 -0400 +++ nano-1.3.4-fixed/src/winio.c 2004-08-25 20:59:02.000000000 -0400 @@ -1280,9 +1280,15 @@ /* Get the shortcut lists' length. */ if (currshortcut == main_list) currslen = MAIN_VISIBLE; - else + else { currslen = length_of_list(currshortcut); + /* We don't show any more shortcuts than the main list + * does. */ + if (currslen > MAIN_VISIBLE) + currslen = MAIN_VISIBLE; + } + /* Calculate the width of each shortcut in the list (it's the * same for all of them). */ if (currslen < 2) @@ -1314,7 +1320,7 @@ * both. */ if (s->ctrlval != NANO_NO_KEY) ungetch(s->ctrlval); - else if (s->ctrlval != NANO_NO_KEY) { + else if (s->metaval != NANO_NO_KEY) { ungetch(s->metaval); ungetch(NANO_CONTROL_3); }