Hello,
I submit for review a new contrib I've been working on, an interactive dialog for examining the tree of collected traces. It's inspired by Allegro's trace dialog.
Here's a screenshot: http://i.imgur.com/ycIzzOf.png
It's probably still a little rough around the edges, but is proving really useful for my work, and integrates well with the rest of slime. The best way to understand how it works is to try it out:
* apply the patch attached to any recent slime * point a git slime to the "slime-trace-dialog" branch at http://github.com/capitaomorte/slime
slime-trace-dialog is automatically loaded by the slime-fancy contrib:
* specs are traced/untraced with C-c M-t, works like C-c C-t * open the dialog with C-c T, or M-x slime-trace-dialog * click on the interactive parts of the dialog, to control trace collection and inspect objects.
It needs emacs 24 for its lexical-binding feature. I've tested with sbcl, allegro, and clisp.
The swank-side of the contrib, swank-trace-dialog.lisp, uses a new group of interfaces in swank-backend.lisp, WRAP, UNWRAP and WRAPPED-P. There is a default implementation for each one, but the allegro implementation is best, and allows tracing of complex specs using the slime-fancy-trace contrib. sbcl's implementation is second best.
I added these interfaces so they can assist in writing future extensions, like maybe a simple interactive profiler.
Thanks, João