[slime-devel] inspecting an object from the debugger

Attila Lendvai attila.lendvai at gmail.com
Wed Dec 13 12:17:38 UTC 2006


dear list,

seems like when the inspector is opened up in the slime debugger, then
it's running the swank side queries/actions in a different thread then
the debugger is sitting in. to test this with cvs head see the
following:

(this is slime cvs head, sbcl cvs head)

DT> (defclass foo ()
      ((foo-slot)))

DT> (defvar *global*)

DT> (defmethod swank::inspect-slot-for-emacs (class (object foo) slot)
      (let ((result (call-next-method)))
        (append result `((:action "[test action]" ,(lambda ()
                                                           (setf
(slot-value object 'foo-slot) *global*)))))))

DT> (let ((*global* 42))
      (break "~A" (make-instance 'foo)))
; Evaluation aborted

pressing the action results in a *global* is unbound error.

is there some fundamental problem behind this or it's just a simple
bug? would be nice if someone with more insight into connection/thread
handling could take a look at this.

-- 
- attila

"- The truth is that I've been too considerate, and so became
unintentionally cruel...
 - I understand.
 - No, you don't understand! We don't speak the same language!"
(Ingmar Bergman - Smultronstället)


More information about the slime-devel mailing list