[cells-cvs] CVS cells

ktilton ktilton at common-lisp.net
Sat Apr 1 21:47:00 UTC 2006


Update of /project/cells/cvsroot/cells
In directory clnet:/tmp/cvs-serv1678

Modified Files:
	family.lisp 
Log Message:
Mostly dropping special handling for CLisp in re slot-definition-name

--- /project/cells/cvsroot/cells/family.lisp	2006/03/16 05:28:28	1.4
+++ /project/cells/cvsroot/cells/family.lisp	2006/04/01 21:47:00	1.5
@@ -23,7 +23,7 @@
 (in-package :cells)
 
 (eval-when (:compile-toplevel :execute :load-toplevel)
-  (export '(model md-value family kids kid1 perishable)))
+  (export '(model md-value family kids kid1 ^k1 kid2 ^k2 last-kid ^k-last perishable)))
 
 (defmodel model ()
   ((.md-name :cell nil :initform nil :initarg :md-name :accessor md-name)
@@ -86,7 +86,12 @@
        (if (typep ,self ',type) ,self (upper ,self ,type)))))
 
 (defun kid1 (self) (car (kids self)))
+(defun kid2 (self) (cadr (kids self)))
+(defmacro ^k1 () `(kid1 self))
+(defmacro ^k2 () `(kid2 self))
+
 (defun last-kid (self) (last1 (kids self)))
+(defmacro ^k-last () `(last-kid self))
 
 ;; /// redundancy in following
 
@@ -142,9 +147,9 @@
   (c-assert (listp old-kids))
   (c-assert (not (member nil old-kids)))
   (c-assert (not (member nil new-kids)))
-  (c-assert (every 'fm-parent new-kids) ()
-    "New for Cells3: parent must be supplied to make-instance of kid ~a"
-    (find-if-not 'fm-parent new-kids))
+  (bwhen (sample (find-if-not 'fm-parent new-kids))
+      (c-break "New as of Cells3: parent must be supplied to make-instance of ~a kid ~a"
+        (type-of sample) sample))
   (trc nil ".kids output > entry" new-kids (mapcar 'fm-parent new-kids))
 
   (dolist (k (set-difference old-kids new-kids))




More information about the Cells-cvs mailing list