[Ecls-list] Adventures in stepping through the ECL codebase

Greg Santucci thecodewitch at gmail.com
Tue Jul 14 06:50:22 UTC 2009


Hello again,

After stepping through a tonne of ecl code, I came across the function
static cl_object L6trace_print() in trace.c. After stepping through it, I
thought it might be interesting to try overriding the *trace-output* symbol.
After adding this line to init.lisp, traces now go through my callbacks!!

(setq *trace-output* (two-way-stream-output-stream *terminal-io*))

I *really* wish this was documented somewhere. Maybe it is and I haven't
found it, but I have looked here:
http://ecls.sourceforge.net/new-manual/index.html and here:
http://ecls.wiki.sourceforge.net/ Is there any documentation with more of a
focus on the *embedding* part of embedded lisp? Is there a place where the
encyclopedia of possibly very useful functions in ecl/external.h are
documented? Thanks to eclgui, I know about overriding
gray:fundamental-character-output-stream. Are there countless other juicy
things I can subclass that are undocumented?

So anyways... which symbol do I need to override to capture the other
incidental, non-error terminal io output? Such as the ;;; Loading
"blah.lisp" message when you call (load)?? In the meantime, I'll poke around
ECL's nether-regions and see if I can find out before I get a reply.

Regards,
Greg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20090714/6c658080/attachment.html>


More information about the ecl-devel mailing list