summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chess-game.el1
-rw-r--r--chess-ics.el5
2 files changed, 6 insertions, 0 deletions
diff --git a/chess-game.el b/chess-game.el
index f8e1101..4a82b04 100644
--- a/chess-game.el
+++ b/chess-game.el
@@ -228,6 +228,7 @@ This conveys the status of the game at the given index."
"Undo the last COUNT plies of GAME."
(assert game)
(assert (integerp count))
+ (assert (> count 0))
(if (> count (chess-game-index game))
(chess-error 'undo-limit-reached))
(let ((chess-game-inhibit-events t))
diff --git a/chess-ics.el b/chess-ics.el
index 3889842..8d35afa 100644
--- a/chess-ics.el
+++ b/chess-ics.el
@@ -74,6 +74,11 @@ The format of each entry is:
(funcall chess-engine-response-handler 'accept)))))
(cons "<12> \\(.+\\)"
'chess-ics-handle-move)
+ (cons "\\S-+ would like to take back \\([0-9]+\\) half move(s)."
+ (function
+ (lambda ()
+ (funcall chess-engine-response-handler 'undo
+ (string-to-int (match-string 1))))))
(cons "\\S-+ accepts the takeback request\\."
(function
(lambda ()