- description properties
- #'display-using-description description object component))
- (error "no description for ~A" object))))
+ description
+ (funcall line object)
+ ;; apply the passed in arguments and call display-using-description
+ #'(lambda ()
+ (funcall-with-description
+ description
+ properties
+ function description object component))))
+ (error "no description for ~A" object)))))
+
+(define-layered-function display (component object &rest args)
+ (:documentation
+ "Displays OBJECT in COMPONENT."))
+
+(define-layered-method display ((component t) (object t)
+ &rest properties)
+ " 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."
+ (funcall (apply 'make-display-function component object properties)
+ 'display-using-description))