diff -up mksh/exec.c.selectopts mksh/exec.c
--- mksh/exec.c.selectopts 2017-09-14 14:15:27.335249169 +0200
+++ mksh/exec.c 2017-09-14 14:16:30.120467641 +0200
@@ -1560,11 +1560,9 @@ do_selectargs(const char **ap, bool prin
shellf("%s", str_val(global("PS3")));
if (call_builtin(findcom("read", FC_BI), read_args, Tselect))
return (NULL);
- s = str_val(global("REPLY"));
- if (*s) {
- getn(s, &i);
- return ((i >= 1 && i <= argct) ? ap[i - 1] : null);
- }
+ if (*(s = str_val(global("REPLY"))))
+ return ((getn(s, &i) && i >= 1 && i <= argct) ?
+ ap[i - 1] : null);
print_menu = true;
}
}