summaryrefslogtreecommitdiff
path: root/chess-game.el
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2002-04-09 09:55:46 +0000
committerJohn Wiegley <johnw@newartisans.com>2002-04-09 09:55:46 +0000
commit4a5de0c46970e59b1cb890cdb6cdfdcae47b34a8 (patch)
treeca142c5950172456afc075c157fde526473f4efc /chess-game.el
parent456d3cdaf4559b55f424fac8f5742473ac79224b (diff)
*** no comment ***
Diffstat (limited to 'chess-game.el')
-rw-r--r--chess-game.el21
1 files changed, 17 insertions, 4 deletions
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)