From 2ef00c4beddb77e546cdc212cc502c5a9a4bba6c Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sun, 7 Apr 2002 08:44:00 +0000 Subject: Simplified the event model, and removed session objects. Now everything just revolves around a game. Gnuchess is now playable to the end, except don't make moves that leave your king in check! The engine still doesn't check for this yet. --- chess-session.el | 59 -------------------------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 chess-session.el (limited to 'chess-session.el') diff --git a/chess-session.el b/chess-session.el deleted file mode 100644 index 8ddf3c6..0000000 --- a/chess-session.el +++ /dev/null @@ -1,59 +0,0 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Manage a chess playing/viewing session -;; -;; $Revision$ - -;;; Commentary: - -(defun chess-session-create () - (cons nil nil)) - -(defun chess-session-add-listener (session listener &optional front object) - (if (or front (not (cdr session))) - (setcdr session (cons (cons listener object) - (cdr session))) - (nconc session (list (cons listener object))))) - -(defun chess-session-remove-listener (session listener) - (setcdr session (delq (assq listener (cdr session)) - (cdr session)))) - -(defun chess-session-data (session sym) - (cdr (assq sym (car session)))) - -(defun chess-session-set-data (session sym value) - (let ((entry (assq sym (car session)))) - (if entry - (setcdr entry value) - (setcar session (cons (cons sym value) - (car session)))))) - -(defun chess-session-del-data (session sym) - (setcar session (delq (assq sym (car session)) - (car session)))) - -(defun chess-session-event (session event &rest args) - (let ((listeners (cdr session)) result) - (while (and (or (eq event 'initialize) - (null result)) listeners) - (setq result (apply (caar listeners) session (cdar listeners) - event args)) - (if (eq event 'initialize) - (setcdr (car listeners) result)) - (setq listeners (cdr listeners))) - result)) - -;; (define-chess-module MODULE (&rest args)) -;; (define-chess-module (MODULE BASES...) (&rest args) -;; :ctor-args (ARGS...) -;; :create-buffer -;; (EVENT -;; FORMS...) -;; ...) -;; -;; (chess-call-derived args &optional base-module) - -(provide 'chess-session) - -;;; chess-session.el ends here -- cgit v1.2.3