X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdescribe.lisp;h=4fd565aa38ca85154bcb0d4178fa61e1b5e54607;hb=5e291412ff095a2016388eee8ac265e12d565119;hp=71ced2d9b33fa148d77eda5284548cc54ed397c6;hpb=479ef26343b45753fc019b6535d3aa0ee54cb324;p=sbcl.git diff --git a/src/pcl/describe.lisp b/src/pcl/describe.lisp index 71ced2d..4fd565a 100644 --- a/src/pcl/describe.lisp +++ b/src/pcl/describe.lisp @@ -91,21 +91,25 @@ (defmethod describe-object ((fun standard-generic-function) stream) (format stream "~&~A is a generic function." fun) - (format stream "~&Its arguments are:~& ~S" + (when (documentation fun t) + (format stream "~&Its documentation is: ~A" (documentation fun t))) + (format stream "~&Its lambda-list is:~& ~S" (generic-function-pretty-arglist fun)) + (format stream "~&Its method-combination is:~& ~S" + (generic-function-method-combination fun)) (let ((methods (generic-function-methods fun))) (if (null methods) (format stream "~&It has no methods.~%") (let ((gf-name (generic-function-name fun))) - (format stream "Its methods are:") + (format stream "~&Its methods are:") (dolist (method methods) - (format stream "~2% (~A ~{~S ~}~:S) =>" + (format stream "~& (~A ~{~S ~}~:S)~%" gf-name (method-qualifiers method) (unparse-specializers method)) - (describe (or (method-fast-function method) - (method-function method)) - stream)))))) + (when (documentation method t) + (format stream "~& Method documentation: ~A" + (documentation method t)))))))) (defmethod describe-object ((class class) stream) (flet ((pretty-class (c) (or (class-name c) c)))