]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Tue, 28 Dec 2010 20:23:00 +0000 (20:23 +0000)
committerjsancho <devnull@localhost>
Tue, 28 Dec 2010 20:23:00 +0000 (20:23 +0000)
gacela_objects.lisp

index 602318d9f749bfb60ecbaad972e5fb0215bf94da..7ab8eb773a89ef9a3bd30e4851c3f7f3849c9d5f 100755 (executable)
     active-objects))
 
 
-(defun make-object (&key name class attr bhv look)
+(defun make-object-old (name &key attr bhv look)
   (let ((object
-        `(:name ,name :class ,class :attr ,(make-object-attributes attr) :bhv ,(make-object-behaviour bhv) :look ,look)))
+        `(:name ,name :attr ,(make-object-attributes attr) :bhv ,(make-object-behaviour bhv) :look ,look)))
     (add-object object)
     object))
 
+(defmacro make-object (name attr bhv &body look)
+  `(let ((object
+        '(:name ,name :attr ,(make-object-attributes attr) :bhv ,(make-object-behaviour bhv) :look (lambda () ,@look))))
+     (add-object object)
+     object))
+
 (defun make-object-attributes (attr)
   (cond ((or (null attr) (atom attr)) nil)
        (t (let ((rest (make-object-attributes (cdr attr)))