(defparameter *map-path* nil
"this is the path where the json file lived")
-;; FIXME: Still doesn't work
(defun kick-start-chain ()
(progn
- (defparameter *execute-before* nil)
- (defparameter *execute-in-viewpoint* nil)
- (defparameter *execute-in-window* nil)
- (defparameter *execute-after* nil)
+ (defvar *execute-before* nil)
+ (defvar *execute-in-viewpoint* nil)
+ (defvar *execute-in-window* nil)
+ (defvar *execute-after* nil)
(defmacro defchain (chain-name where &body body)
- (cond
- ((eq where :before) (push chain-name *execute-before*))
- ((eq where :viewpoint) (push chain-name *execute-in-viewpoint*))
- ((eq where :window) (push chain-name *execute-in-window*))
- ((eq where :after) (push chain-name *execute-after*))
- )
- `(defun ,chain-name ()
- ,@body))))
+ `(progn
+ (defun ,chain-name ()
+ ,@body)
+ (cond
+ ((eq ,where :before) (push ',chain-name *execute-before*))
+ ((eq ,where :viewpoint) (push ',chain-name *execute-in-viewpoint*))
+ ((eq ,where :window) (push ',chain-name *execute-in-window*))
+ ((eq ,where :after) (push ',chain-name *execute-after*))
+ )
+ )
+ )))
(kick-start-chain)