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

index 00ade7fd0d7503419091d7967517692f859ead5c..602318d9f749bfb60ecbaad972e5fb0215bf94da 100755 (executable)
     active-objects))
 
 
-(defmacro make-object (&key name class attr bhv look)
-  `(let ((object
-         '(:name ,name :class ,class :attr ,(make-object-attributes attr) :bhv ,(make-object-behaviour bhv) :look ,look)))
-     (add-object object)
-     object))
+(defun make-object (&key name class attr bhv look)
+  (let ((object
+        `(:name ,name :class ,class :attr ,(make-object-attributes attr) :bhv ,(make-object-behaviour bhv) :look ,look)))
+    (add-object object)
+    object))
 
 (defun make-object-attributes (attr)
   (cond ((or (null attr) (atom attr)) nil)
@@ -95,5 +95,6 @@
     `(,pname ,value)))
 
 (defun make-object-behaviour (bhv)
-  (cond ((consp bhv) bhv)
-       (t (list bhv))))
+  (cond ((null bhv) nil)
+       ((atom bhv) (list bhv))
+       (t bhv)))