[slime-devel] Tracing with slime presentations

Hi. i wrote a snippet to do tracing of functions using slime presentations (thanks to segv for showing me the slime presentation features and writing present-object) . Obviously this code works only on sbcl. (defun present-object (value &optional (stream *error-output*)) (swank::presenting-object value stream (prin1 value stream)) value) (defmacro slime-presentation-trace (fun) `(trace ,fun :print (present-object (let ((args nil)) (handler-case (loop for i upfrom 0 do (push (sb-debug::arg i) args)) (sb-kernel::index-too-large-error (var) args)))) :print-after (present-object sb-debug:*trace-values*))) Maybe an sbcl hacker can really improve and beautify this hack
participants (1)
-
Luigi Panzeri