fixed shared list structure bug for default presentation contexts.
authorDrew Crampsie <drewc@tech.coop>
Thu, 27 Oct 2005 22:30:43 +0000 (15:30 -0700)
committerDrew Crampsie <drewc@tech.coop>
Thu, 27 Oct 2005 22:30:43 +0000 (15:30 -0700)
darcs-hash:20051027223043-5417e-c7b3b3447990562b828e667a1bb3a5d4afdd8cc6.gz

src/mewa.lisp

index c519396..dc8b278 100644 (file)
@@ -98,7 +98,7 @@ attributes is an alist keyed on the attribute name."
 (defun find-presentation-attributes (model)
   (remove nil (mapcar #'(lambda (att)
              (when (keywordp (car att))
-               att))
+               (copy-list att) ))
          (cdr (find-class-attributes model)))))
 
 
@@ -318,7 +318,9 @@ attributes is an alist keyed on the attribute name."
 
 
 (defmethod make-presentation ((object t) &key (type :viewer) (initargs nil))
+  
   (let* ((p (make-instance 'mewa-object-presentation))
+        
         (a (progn (setf (slot-value p 'instance) object)
                   (initialize-slots p) 
                   (assoc type (find-all-attributes p))))
@@ -330,6 +332,8 @@ attributes is an alist keyed on the attribute name."
                                          (symbol-name type)
                                          type))
                   (plist-union initargs (cddr a)))))
+    
+    
     (setf (slot-value i 'instance) object)
     (initialize-slots i)
     (setf (slot-value i 'initializedp) t)