From 4466e4353ce057b51f4e78ea9191b4524c7457a9 Mon Sep 17 00:00:00 2001 From: Alastair Bridgewater Date: Thu, 31 Mar 2011 21:02:22 -0400 Subject: [PATCH] describe: Better description for complex setf-expanders. * Rather than simply reporting the documentation string (if any), also report the lambda-list of the expansion function and the associated source location. --- NEWS | 2 ++ src/code/describe.lisp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 69987ff..5393949 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ changes relative to sbcl-1.0.52: (signed-byte 63)) to 3 (fixnum = (signed-byte 61)) at build-time. * minor(?) incompatible(?) change: The default fixnum width on 64-bit targets is now 63 bits (up from 61). + * enhancement: DESCRIBE now reports a lambda-list and source location + for complext setf-expanders. * bug fix: PUSH, PUSHNEW, POP, REMF, INCF, DECF, DEFINE-MODIFY-MACRO, GETF, LOGBITP, LDB, and MASK-FIELD now arrange for non-primary values of multiple-valued places to be set to NIL, instead of signalling an diff --git a/src/code/describe.lisp b/src/code/describe.lisp index 8c7802f..504cc66 100644 --- a/src/code/describe.lisp +++ b/src/code/describe.lisp @@ -635,7 +635,9 @@ (format stream "~&~A has a complex setf-expansion:" name) (pprint-indent :block 2 stream) - (describe-documentation name2 'setf stream t)) + (describe-lambda-list (%fun-lambda-list expander) stream) + (describe-documentation name2 'setf stream t) + (describe-function-source expander stream)) (terpri stream))))) (when (symbolp name) (describe-function `(setf ,name) nil stream)))) -- 1.7.10.4