1.0.6.12: Improve user-subclassed SB-MOP:SPECIALIZER support
[sbcl.git] / contrib / sb-introspect / sb-introspect.lisp
index 8ef3113..6f1ef01 100644 (file)
@@ -320,8 +320,11 @@ If an unsupported TYPE is requested, the function will return NIL.
        (when source
          (setf (definition-source-description source)
                (append (method-qualifiers object)
-                       (sb-pcl::unparse-specializers
-                        (sb-mop:method-specializers object)))))
+                       (if (sb-mop:method-generic-function object)
+                           (sb-pcl::unparse-specializers
+                            (sb-mop:method-generic-function object)
+                            (sb-mop:method-specializers object))
+                           (sb-mop:method-specializers object)))))
        source))
     #+sb-eval
     (sb-eval:interpreted-function
@@ -411,8 +414,7 @@ not found"
         #+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)))))
+        (t (sb-kernel:%simple-fun-arglist (sb-kernel:%fun-fun function)))))
 
 (defun struct-accessor-structure-class (function)
   (let ((self (sb-vm::%simple-fun-self function)))