X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-introspect%2Fsb-introspect.lisp;h=a5ff21f010538ea6c720dfdd3126f1e097185dff;hb=15d89af9d084fd35b8698c84cd4a454816bfb9cf;hp=d0bcbac0d4949f0ae9fb11cf393e704301d1d885;hpb=fec3614baf361523a4fb154ed80d9b73e1452b2d;p=sbcl.git diff --git a/contrib/sb-introspect/sb-introspect.lisp b/contrib/sb-introspect/sb-introspect.lisp index d0bcbac..a5ff21f 100644 --- a/contrib/sb-introspect/sb-introspect.lisp +++ b/contrib/sb-introspect/sb-introspect.lisp @@ -284,8 +284,8 @@ If an unsupported TYPE is requested, the function will return NIL. (sb-kernel::layout-source-location layout))))))) (method-combination (car - (find-definition-sources-by-name (sb-pcl::method-combination-type object) - :method-combination))) + (find-definition-sources-by-name + (sb-pcl::method-combination-type-name object) :method-combination))) (package (translate-source-location (sb-impl::package-source-location object))) (class @@ -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