- "The default display calls out via FUNCALL-WITH-LAYERS to tche DISPLAY-USING-DESCRIPTION method."
-
- (let* ((occurence (find-occurence object))
- (description (or (find-display-attribute
- occurence
- (setf type (or type (description.type occurence))))
- occurence)))
- (if description
- (dletf (((description.type occurence) type)
- ((description.layers description) (append `(+
-
- ;;find-layer-for-type is a
- ;; backwards compat thing
- ,(find-layer-for-type
- type))
- (description.layers description)))
- ((attributes description) (or
- (attributes description)
- (list-slots object))))
- (funcall-with-description
- description properties
- #'display-using-description description object component))
- (error "no description for ~A" object))))
+ " The default display dispatch method
+
+ DISPLAY takes two required arguments,
+ COMPONENT : The component to display FROM (not neccesarily 'in')
+ OBJECT : The 'thing' we want to display... in this case it's the component
+
+ DISPLAY also takes keywords arguments which modify the DESCRIPTION,
+ that is to say the parameters that come together to create the output.
+
+The default display calls out via FUNCALL-WITH-LAYERS to tche DISPLAY-USING-DESCRIPTION method."
+
+ (let* ((description (find-occurence object)))
+
+ (if description
+ (dletf (((description.type description) type)
+ ((attributes description) (or
+ (attributes description)
+ (list-slots object))))
+ ;; apply the default line to the description
+ (funcall-with-description
+ description
+ (funcall line object)
+ ;; apply the passed in arguments and call display-using-description
+ #'(lambda ()
+ (funcall-with-description
+ description
+ properties
+ #'display-using-description description object component))))
+ (error "no description for ~A" object))))