From 4a5de0c46970e59b1cb890cdb6cdfdcae47b34a8 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Tue, 9 Apr 2002 09:55:46 +0000 Subject: *** no comment *** --- chess-game.el | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'chess-game.el') diff --git a/chess-game.el b/chess-game.el index cd39624..6e22ff8 100644 --- a/chess-game.el +++ b/chess-game.el @@ -82,12 +82,25 @@ (chess-game-run-hooks game 'delete-tag tag)) -(defsubst chess-game-data (game) +(defsubst chess-game-data-alist (game) (nth 2 game)) -(defsubst chess-game-set-data (game data) - (setcar (nthcdr 1 game) data) - (chess-game-run-hooks game 'set-data)) +(defun chess-game-set-data (game key value) + (let ((alist (chess-game-data-alist game))) + (if (null alist) + (setcar (nthcdr 1 game) (list (cons key value))) + (push (cons key value) alist)) + (chess-game-run-hooks game 'set-data key))) + +(defun chess-game-get-data (game key) + (let ((alist (chess-game-data-alist game))) + (if alist + (cdr (assq key alist))))) + +(defun chess-game-del-data (game key) + (let ((alist (chess-game-data-alist game))) + (if alist + (assq-delete-all key alist)))) (defsubst chess-game-plies (game) -- cgit v1.2.3