From 3d1c9876ab4afbde2f73819269c157389563fb0f Mon Sep 17 00:00:00 2001 From: Mario Lang Date: Sun, 30 Mar 2014 20:08:21 +0200 Subject: Try to fix 045a93cb98dfd320e756ea9d9799ea92f0900bc6 a different way. Restore the old behaviour (run game hooks before painting move), but move the post-move hook from chess-game-move to chess-display-move. This fixes the reentrancy bug while preserving error checks being done in the game hooks. Maybe rename post-move to post-display-move? --- chess-game.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'chess-game.el') diff --git a/chess-game.el b/chess-game.el index bd34e29..910a244 100644 --- a/chess-game.el +++ b/chess-game.el @@ -320,8 +320,7 @@ progress (nil), if it is drawn, resigned, mate, etc." (if (chess-ply-keyword ply :resign) (chess-game-run-hooks game 'resign) - (chess-game-run-hooks game 'move current-ply) - (chess-game-run-hooks game 'post-move)))) + (chess-game-run-hooks game 'move current-ply)))) (defsubst chess-game-end (game keyword) "End GAME, by resignation, draw, etc." -- cgit v1.2.3