X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-introspect%2Fsb-introspect.lisp;h=a5ff21f010538ea6c720dfdd3126f1e097185dff;hb=6cb4f9ea3f4e35a5a8e75922833e14575ae92180;hp=d614307a0858fed8b934235440261f32f9b33a7c;hpb=5b223181b0fdec8eaad5e787aa0d0340960fee3b;p=sbcl.git diff --git a/contrib/sb-introspect/sb-introspect.lisp b/contrib/sb-introspect/sb-introspect.lisp index d614307..a5ff21f 100644 --- a/contrib/sb-introspect/sb-introspect.lisp +++ b/contrib/sb-introspect/sb-introspect.lisp @@ -380,12 +380,13 @@ If an unsupported TYPE is requested, the function will return NIL. ;;; FIXME: maybe this should be renamed as FUNCTION-LAMBDA-LIST? (defun function-arglist (function) - "Describe the lambda list for the function designator FUNCTION. + "Describe the lambda list for the extended function designator FUNCTION. Works for special-operators, macros, simple functions and generic functions. Signals error if not found" (cond ((valid-function-name-p function) - (function-arglist - (or (macro-function function) (fdefinition function)))) + (function-arglist (or (and (symbolp function) + (macro-function function)) + (fdefinition function)))) ((typep function 'generic-function) (sb-pcl::generic-function-pretty-arglist function)) (t (sb-impl::%simple-fun-arglist