X-Git-Url: https://git.hcoop.net/clinton/lisp-on-lines.git/blobdiff_plain/6de8d30004efc9337b8c40d2ff2d0a76651d23eb..e8d4fa4537a1655714ad8bbbf9b7ba2d85ead959:/src/description.lisp?ds=sidebyside diff --git a/src/description.lisp b/src/description.lisp index d19b92e..ae5850c 100644 --- a/src/description.lisp +++ b/src/description.lisp @@ -13,11 +13,12 @@ (defun description-attributes (description) - (mapcar (curry - #'slot-value-using-class - (class-of 'description) - description) - (class-slots (class-of description)))) + (let ((class (class-of description))) + (loop :for slot :in (class-slots class) + :if (and + (not (eq 'described-object + (slot-definition-name slot)))) + :collect (slot-definition-attribute-object slot)))) @@ -26,7 +27,7 @@ (let* ((active-attributes (find-attribute description 'active-attributes)) (attributes (when active-attributes - (attribute-value *object* active-attributes)))) + (attribute-value active-attributes)))) (if attributes (mapcar (lambda (spec) (find-attribute