New contrib: slime-trace-dialog

João Távora joaotavora at gmail.com
Wed Nov 20 23:08:31 UTC 2013


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: slime-trace-dialog.diff
Type: text/x-diff
Size: 52613 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20131120/77238dd4/attachment.diff>


More information about the slime-devel mailing list