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)