X-Git-Url: https://git.hcoop.net/clinton/lisp-on-lines.git/blobdiff_plain/2b66db1e02bc11de1b1efcf1ea8335b36e69f4fc..4644082451f92f7a060e47be6b9967acf8412c7f:/src/standard-descriptions/list.lisp diff --git a/src/standard-descriptions/list.lisp b/src/standard-descriptions/list.lisp index 133ee69..1d5737d 100644 --- a/src/standard-descriptions/list.lisp +++ b/src/standard-descriptions/list.lisp @@ -6,8 +6,24 @@ (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 +))) + (break "Display T ~A" item) + (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