From c3b1ffa015fd2d89ad8b567c80485ecc23e89d6a Mon Sep 17 00:00:00 2001 From: Mathieu L Bouchard <matju@artengine.ca> Date: Mon, 4 Aug 2014 22:12:21 -0400 Subject: [PATCH] print tcl error messages in terminal, with their statement, in bright colours --- pd/src/t_tkcmd.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pd/src/t_tkcmd.c b/pd/src/t_tkcmd.c index 777b182ed..8114a51ed 100644 --- a/pd/src/t_tkcmd.c +++ b/pd/src/t_tkcmd.c @@ -553,17 +553,19 @@ static int pdCmd(ClientData cd, Tcl_Interp *interp, int argc, char **argv) /*********** "c" level access to tk functions. ******************/ +#define DEBUG_TCL + void tcl_mess(char *s) { int result; - // PRODUCTION VERSION +#ifdef DEBUG_TCL + char catch_s[strlen(s)]; + sprintf(catch_s, "%s", s); +#else char catch_s[strlen(s)+10]; sprintf(catch_s, "catch { %s }", s); - - // DEBUGGING VERSION - //char catch_s[strlen(s)]; - //sprintf(catch_s, "%s", s); +#endif Tcl_Obj *messageObjPtr = Tcl_NewStringObj(catch_s,-1); Tcl_IncrRefCount(messageObjPtr); @@ -571,7 +573,9 @@ void tcl_mess(char *s) Tcl_DecrRefCount(messageObjPtr); if (result != TCL_OK) { - if (tk_pdinterp) printf("%s\n", Tcl_GetStringResult(tk_pdinterp)); + if (tk_pdinterp) printf("in sys_gui \e[0;1;36m%s\e[31m%s\e[0m\n", + s, Tcl_GetStringResult(tk_pdinterp)); + else printf("no error\n"); } } -- GitLab