Update of /project/mcclim/cvsroot/mcclim In directory clnet:/tmp/cvs-serv3063
Modified Files: presentation-defs.lisp Log Message: Fixed presentation-type-specifier-p to do as certain older CLIM programs expect.
--- /project/mcclim/cvsroot/mcclim/presentation-defs.lisp 2006/12/12 18:54:57 1.62 +++ /project/mcclim/cvsroot/mcclim/presentation-defs.lisp 2006/12/12 22:17:42 1.63 @@ -202,12 +202,16 @@ (define-default-presentation-method presentation-type-specifier-p (type) t)
-(defun presentation-type-specifier-p (type) - "Return true if `type' is a valid presentation type specifier, +(defun presentation-type-specifier-p (object) + "Return true if `object' is a valid presentation type specifier, otherwise return false." - (funcall-presentation-generic-function - presentation-type-specifier-p - type)) + ;; Apparently, this funtion has to handle arbitrary objects. + (let ((name (presentation-type-name object))) + (when (and (or (symbolp name) + (and (typep name 'class) + (not (typep name 'built-in-class)))) + (get-ptype-metaclass name)) + (%presentation-type-specifier-p t object))))
(defun default-describe-presentation-type (description stream plural-count) (if (symbolp description)