Update of /project/cells/cvsroot/cells In directory clnet:/tmp/cvs-serv14755
Modified Files: fm-utilities.lisp Log Message: fm-find-one now will behave well with a list as the toplevel search object
--- /project/cells/cvsroot/cells/fm-utilities.lisp 2006/03/16 05:28:28 1.4 +++ /project/cells/cvsroot/cells/fm-utilities.lisp 2006/03/26 14:05:49 1.5 @@ -127,15 +127,17 @@ (without-c-dependency (when family (labels ((tv-family (fm) - (when (and (typep fm 'model-object) - (not (eql fm skip-tree))) - (let ((outcome (and (not (eql skip-node fm)) ;; skipnode new 990310 kt - (funcall applied-fn fm)))) - (unless (and outcome opaque) - (dolist (kid (kids fm)) - (tv-family kid)) - ;(tv-family (mdValue fm)) - ))))) + (etypecase fm + (cons (loop for md in fm do (tv-family md))) + (model-object + (unless (eql fm skip-tree) + (let ((outcome (and (not (eql skip-node fm)) ;; skipnode new 990310 kt + (funcall applied-fn fm)))) + (unless (and outcome opaque) + (dolist (kid (kids fm)) + (tv-family kid)) + ;(tv-family (mdValue fm)) + ))))))) (tv-family family) (when global-search (fm-traverse (fm-parent family) applied-fn