[mcclim-cvs] CVS mcclim/Drei

thenriksen thenriksen at common-lisp.net
Thu Jul 17 08:49:05 UTC 2008


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




More information about the Mcclim-cvs mailing list