How about doing something like this in inspect-slot-for-emacs

file:  cvs/slime/contrib/swank-fancy-inspector.lisp function: inspect-slot-for-emacs

                       (eval (read-from-string value-string))))))))
+      (:action ,(custom-inspect-name class object slot)
+           ,(lambda () (custom-inspect-call class object slot)))
      ,@(when boundp
          `(" " (:action "[make unbound]"

With the following methods something like this:

(defmethod custom-inspect-name (class object slot)
    "[No custom inspections]")

(defmethod custom-inspect-call (class object slot)
   nil)

And then one could make own methods specializing on your own classes and slots.

(defmethod custom-inspect-name ((class person) object (slot company))
   (format nil  "[boss of ~a]" (name-of person))

(defmethod custom-inspect-call ((class person) object (slot company))
   (slime-inspect (boss-of person))
 
Or whatever object models you have. Maybe make custom-inspect-call to follow relations in cl-sql....

(and add necessary checks, restarts and handler-cases)




--
FreeCode Signature Free Software Consultant
Cell: +47 - 47 34 40 08
Phone: +47 - 21 53 69 00, Fax: +47 - 21 53 69 09
Addr: Slemdalsveien 70, PB 1 Vinderen, 0319 Oslo