X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=contrib%2Fsb-introspect%2Fsb-introspect.lisp;h=777ab6d70d38cc649ad831729b6268beff4d7b98;hb=762cc09a6fc92af20c0581cfc97d1630fa642ddb;hp=220fc432d7371d87804dc16b041657bf2ecd9dd1;hpb=970dd272dc84f7420252eadb4829cc193f795716;p=sbcl.git diff --git a/contrib/sb-introspect/sb-introspect.lisp b/contrib/sb-introspect/sb-introspect.lisp index 220fc43..777ab6d 100644 --- a/contrib/sb-introspect/sb-introspect.lisp +++ b/contrib/sb-introspect/sb-introspect.lisp @@ -394,14 +394,18 @@ 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 extended function designator FUNCTION. -Works for special-operators, macros, simple functions and generic -functions. Signals error if not found" +Works for special-operators, macros, simple functions, +interpreted functions, and generic functions. Signals error if +not found" (cond ((valid-function-name-p function) (function-arglist (or (and (symbolp function) (macro-function function)) (fdefinition function)))) ((typep function 'generic-function) (sb-pcl::generic-function-pretty-arglist function)) + #+sb-eval + ((typep function 'sb-eval:interpreted-function) + (sb-eval:interpreted-function-lambda-list function)) (t (sb-impl::%simple-fun-arglist (sb-impl::%closure-fun function)))))