- if (button == 'n' || button == 'N' || button == '\x0E') {
- midend_stop_anim(me);
- midend_new_game(me);
- midend_redraw(me);
- goto done; /* never animate */
- } else if (button == 'u' || button == 'u' ||
- button == '\x1A' || button == '\x1F') {
- midend_stop_anim(me);
- special = special(me->states[me->statepos-1].movetype);
- gotspecial = TRUE;
- if (!midend_undo(me))
+ if (!movestr) {
+ if (button == 'n' || button == 'N' || button == '\x0E') {
+ midend_stop_anim(me);
+ midend_new_game(me);
+ midend_redraw(me);
+ goto done; /* never animate */
+ } else if (button == 'u' || button == 'u' ||
+ button == '\x1A' || button == '\x1F') {
+ midend_stop_anim(me);
+ special = special(me->states[me->statepos-1].movetype);
+ gotspecial = TRUE;
+ if (!midend_undo(me))
+ goto done;
+ } else if (button == 'r' || button == 'R' ||
+ button == '\x12' || button == '\x19') {
+ midend_stop_anim(me);
+ if (!midend_redo(me))
+ goto done;
+ } else if (button == 'q' || button == 'Q' || button == '\x11') {
+ ret = 0;
+ goto done;
+ } else