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))