diff options
Diffstat (limited to 'chess-crafty.el')
| -rw-r--r-- | chess-crafty.el | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/chess-crafty.el b/chess-crafty.el index 245b350..0bdc782 100644 --- a/chess-crafty.el +++ b/chess-crafty.el @@ -14,24 +14,24 @@ (list (cons (concat "\\s-*\\(White\\|Black\\)\\s-*([0-9]+):\\s-+\\(" chess-algebraic-regexp "\\)\\s-*$") - (function - (lambda () - (let ((position (chess-engine-position nil)) - (move (match-string 2)) - ply) - (when (string= (if (chess-pos-side-to-move position) - "White" "Black") - (match-string 1)) - (setq ply (chess-algebraic-to-ply position move)) - (unless ply - (error "Could not convert engine move: %s" move)) - (let ((chess-crafty-now-moving t)) - (funcall chess-engine-response-handler 'move ply))))))) + 'chess-crafty-perform-move) (cons "Illegal move:\\s-*\\(.*\\)" (function (lambda () (signal 'chess-illegal (match-string 1))))))) +(defun chess-crafty-perform-move () + (let ((position (chess-engine-position nil)) + (move (match-string 2)) ply) + (when (string= (if (chess-pos-side-to-move position) + "White" "Black") + (match-string 1)) + (setq ply (chess-algebraic-to-ply position move)) + (unless ply + (error "Could not convert engine move: %s" move)) + (let ((chess-crafty-now-moving t)) + (funcall chess-engine-response-handler 'move ply))))) + (defun chess-crafty-handler (event &rest args) (cond ((eq event 'initialize) |
