X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=contrib%2Fsb-introspect%2Fsb-introspect.lisp;h=d0bcbac0d4949f0ae9fb11cf393e704301d1d885;hb=fec3614baf361523a4fb154ed80d9b73e1452b2d;hp=aa323a6c122a37a63a0e7007ce58ab439033b827;hpb=f9b113feb08bb833fd3b46555b56f708826e4c93;p=sbcl.git diff --git a/contrib/sb-introspect/sb-introspect.lisp b/contrib/sb-introspect/sb-introspect.lisp index aa323a6..d0bcbac 100644 --- a/contrib/sb-introspect/sb-introspect.lisp +++ b/contrib/sb-introspect/sb-introspect.lisp @@ -140,7 +140,10 @@ If an unsupported TYPE is requested, the function will return NIL. (flet ((listify (x) (if (listp x) x - (list x)))) + (list x))) + (get-class (name) + (and (symbolp name) + (find-class name nil)))) (listify (case type ((:variable) @@ -192,7 +195,7 @@ If an unsupported TYPE is requested, the function will return NIL. (symbol-function expander) expander))))) ((:structure) - (let ((class (find-class name nil))) + (let ((class (get-class name))) (if class (when (typep class 'sb-pcl::structure-class) (find-definition-source class)) @@ -200,7 +203,7 @@ If an unsupported TYPE is requested, the function will return NIL. (translate-source-location (sb-int:info :source-location :typed-structure name)))))) ((:condition :class) - (let ((class (find-class name nil))) + (let ((class (get-class name))) (when (and class (not (typep class 'sb-pcl::structure-class))) (when (eq (not (typep class 'sb-pcl::condition-class))