Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv5581/Drei
Modified Files:
lisp-syntax.lisp
Log Message:
Patch from Tobias C. Rittweiler to add PRINT-OBJECT methods for lambda lists.
--- /project/mcclim/cvsroot/mcclim/Drei/lisp-syntax.lisp 2008/05/24 11:55:41 1.78
+++ /project/mcclim/cvsroot/mcclim/Drei/lisp-syntax.lisp 2008/07/17 08:48:48 1.79
@@ -3251,6 +3251,13 @@
:reader original-lambda-list))
(:documentation "The superclass of all lambda list classes."))
+(defmethod print-object ((ll lambda-list) stream)
+ (print-unreadable-object (ll stream :type t :identity t)
+ (when (compute-applicable-methods #'lambda-list-as-list `(,ll))
+ (let ((*print-length* (or *print-length* 10)))
+ ;; PRINC because the names of KEYWORD-PARAMETERs are keywords.
+ (princ (lambda-list-as-list ll) stream)))))
+
(defgeneric required-parameters (lambda-list)
(:documentation "Return a list containing objects representing
the required parameters of `lambda-list'.")
@@ -3526,6 +3533,10 @@
(:documentation "The base class for all parameter classes
representing a named parameter."))
+(defmethod print-object ((p named-parameter) stream)
+ (print-unreadable-object (p stream :type t :identity t)
+ (prin1 (name p) stream)))
+
(defmethod minimum-lambda-list-class ((parameter named-parameter))
'semiordinary-lambda-list)
@@ -3557,6 +3568,10 @@
:reader keyword-name))
(:documentation "The class for representing keyword parameters."))
+(defmethod print-object ((p keyword-parameter) stream)
+ (print-unreadable-object (p stream :type t :identity t)
+ (prin1 (keyword-name p) stream)))
+
(defclass destructuring-required-parameter (destructuring-parameter required-parameter)
()
(:documentation "The class for representing required