X-Git-Url: https://git.hcoop.net/clinton/lisp-on-lines.git/blobdiff_plain/2548f0540da69973512f1827b2bfd2360470bb27..f56d6e7e926f9c3f968325e244794ff748435ac3:/src/standard-descriptions/list.lisp?ds=sidebyside diff --git a/src/standard-descriptions/list.lisp b/src/standard-descriptions/list.lisp index 133ee69..0beb994 100644 --- a/src/standard-descriptions/list.lisp +++ b/src/standard-descriptions/list.lisp @@ -6,8 +6,23 @@ (define-layered-method display-attribute-value ((attribute list-attribute)) - (arnesi:dolist* (item (attribute-value attribute)) - (apply #'display *display* item (slot-value attribute 'item-args)))) + (generic-format *display* "(") + (let ((list (attribute-value attribute))) + + (loop + :for cons :on list + :do (let ((item (first cons +))) + (dletf (((attribute-object attribute) item)) + (apply #'display *display* item (slot-value attribute 'item-args)) + (unless (endp (cdr cons)) + (generic-format *display* " ")))))) + (generic-format *display* ")")) + + + + + (define-description list () ((list :attribute-class list-attribute