Fix missing `without-special-symbol-access' in `funcall-with-attribute-context'
[clinton/lisp-on-lines.git] / src / standard-descriptions / list.lisp
index 133ee69..33e9ca2 100644 (file)
@@ -1,13 +1,28 @@
 (in-package :lisp-on-lines)
 
 
-(define-layered-class list-attribute (standard-attribute)
+(define-layered-class list-attribute (define-description-attribute)
  ((item-args :initform nil :initarg :item :layered t :special t)))
 
 (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