board.c: merged board_undo.c