From 0fd9d744bd765c3515ccd6cab4cf2cc9f74f3470 Mon Sep 17 00:00:00 2001 From: Drew Crampsie Date: Thu, 27 Oct 2005 15:30:43 -0700 Subject: [PATCH] fixed shared list structure bug for default presentation contexts. darcs-hash:20051027223043-5417e-c7b3b3447990562b828e667a1bb3a5d4afdd8cc6.gz --- src/mewa.lisp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mewa.lisp b/src/mewa.lisp index c519396..dc8b278 100644 --- a/src/mewa.lisp +++ b/src/mewa.lisp @@ -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) -- 2.20.1