human while failing to polymorph into something else, you'd be told
"you feel like a new man" for female or "a new woman" for male
the weight of a non-cursed bag of holding was sometimes off by 1 unit
+for number_pad:2 (MSDOS compatibility), M-5 (Alt+5, or Shift+keypad5 using
+ MSDOS/Windows keystroke hackery) didn't function as G movement prefix
Platform- and/or Interface-Specific Fixes
context.move = FALSE;
return; /* probably we just had an interrupt */
}
- if (Cmd.pcHack_compat) {
- /* This handles very old inconsistent DOS/Windows behaviour
- * in a new way: earlier, the keyboard handler mapped these,
- * which caused counts to be strange when entered from the
- * number pad. Now do not map them until here.
- */
- switch (*cmd) {
- case '5': *cmd = 'g'; break;
- case M('5'): *cmd = 'G'; break;
- case M('0'): *cmd = 'I'; break;
- }
- }
/* handle most movement commands */
do_walk = do_rush = prefix_seen = FALSE;
} else {
save_cm = (char *)0;
}
+ /* in 3.4.3 this was in rhack(), where it was too late to handle M-5 */
+ if (Cmd.pcHack_compat) {
+ /* This handles very old inconsistent DOS/Windows behaviour
+ in a different way: earlier, the keyboard handler mapped
+ these, which caused counts to be strange when entered
+ from the number pad. Now do not map them until here. */
+ switch (foo) {
+ case '5': foo = 'g'; break;
+ case M('5'): foo = 'G'; break;
+ case M('0'): foo = 'I'; break;
+ default: break; /* as is */
+ }
+ }
+
in_line[0] = foo;
in_line[1] = '\0';
if (foo == 'g' || foo == 'G' || foo == 'm' || foo == 'M' ||