[slime-devel] inspect-slot-for-emacs (without html)

Knut Olav Bøhmer knobo at online.no
Wed Oct 10 13:41:59 UTC 2007


(Forgot, to remove html in mail...)

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)


-- 
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






More information about the slime-devel mailing list