From f8bb47ccfef28f3499f6fce182d0bd65b3ff8d22 Mon Sep 17 00:00:00 2001 From: Drew Crampsie Date: Fri, 9 Apr 2010 17:45:15 -0700 Subject: [PATCH] add patch for proper attribute classes --- src/mao/description-class.lisp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mao/description-class.lisp b/src/mao/description-class.lisp index 1dbc902..4858ab8 100644 --- a/src/mao/description-class.lisp +++ b/src/mao/description-class.lisp @@ -80,6 +80,7 @@ (defmethod description-class-attribute-class (description) 'standard-attribute) + (defmethod initialize-slot-definition-attribute (class (slotd effective-attribute-slot-definition-class) name direct-slot-definitions) @@ -90,7 +91,11 @@ (append (gethash (slot-definition-layer ds) tbl '()) (slot-definition-attribute-properties ds)))) - (let* ((attribute-class (or (getf (gethash t tbl) :attribute-class) + (let* ((attribute-class (or (block nil + (maphash (lambda (k v) + (let ((class (getf v :attribute-class))) + (when class (return class)))) + tbl)) (description-class-attribute-class class))) (attribute (apply #'make-instance attribute-class :name name 'description-class class (gethash t tbl)))) (maphash (lambda (layer properties) -- 2.20.1