Tcl Source Code

Artifact [73a622a34b]
Login

Artifact 73a622a34bdd62afbb8b154650031eee50d815cf:

Attachment "trace.c" to ticket [1743948fff] added by eugene_cdn 2007-06-27 09:04:22. Also attachment "trace.c" to ticket [1743941fff] added by eugene_cdn 2007-06-27 08:21:51.

#include <stdio.h>
#include <tcl.h>

void Trace1 (ClientData clientData,
             Tcl_Interp *interp,
             int level,
             char *command,
             Tcl_CmdProc *cmdProc,
             ClientData cmdClientData,
             int argc,
             const char *argv[])
{
    fprintf (stderr, "t1: %d: %s\n", level, command);
}

void Trace2 (ClientData clientData,
             Tcl_Interp *interp,
             int level,
             char *command,
             Tcl_CmdProc *cmdProc,
             ClientData cmdClientData,
             int argc,
             const char *argv[])
{
    fprintf (stderr, "t2: %d: %s\n", level, command);
}

int Trace_Init (Tcl_Interp *interp)
{
    printf ("Hello trace!\n");
    Tcl_Eval (interp, "puts 1");
    Tcl_CreateTrace (interp, 1, Trace2, NULL);
    Tcl_Eval (interp, "puts 2");
    Tcl_CreateTrace (interp, 5, Trace1, NULL);
    Tcl_Eval (interp, "puts 3");
    Tcl_Eval (interp, "source [info library]/auto.tcl");
    printf ("Bye trace!\n");
    return TCL_OK;
}