emacs - slime-inspector-eval: how to get bindings in the inspector? -
long story: motivation
i have cl code breaks on sort
or mapcar
error number (let's say, 25) not list. tells me wrong data structure pass them. so, put (break)
in code before place error occurs. looks this:
(sort (progn (break) (mapcar (lambda (pair) (list (car pair) (cdr pair))) (hash-table-plist (state-removed state))) #'< :key #'car)
(to give bit more context, idea here transform hash table (state-removed state)
list of pairs sorted key, error instead of hash-table-plist
should use hash-table-alist
)
once code hits (break)
sends me debugger. @ stage step through code, decided inspect state
. unfortunately, state
obtained with-slots
-macro object slot in object, , whole function generated sketch
macro sketch
library... long story short, (state-removed state)
need go through layers of slot accesses in inspector.
tl;dr: actual question
and here problem: want call hash-table-plist
either on object i'm inspecting or on slot of object. how can access either of them (just comparison, in smalltalk debugger have access self
pseudo-variable stuff out)? there slime-inspector-eval
, how pass things don't have explicit local bindings? documentation on slime-inspector-eval
doesn't much.
ok, bit more googling answered question. hope of use others.
thanks this blogpost: object under inspection bound *
. also, m-ret
in inspector (slime-inspector-copy-down
) stores object under point in *
can used in repl.
Comments
Post a Comment