diff options
author | dgp <dgp@users.sourceforge.net> | 2008-08-04 04:49:23 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2008-08-04 04:49:23 (GMT) |
commit | 7afb51929c36eb56d586471d1411586a7f3c2a6e (patch) | |
tree | 290eef4e0202502bb182dd21aac070691b6f212e /generic | |
parent | 7d4f17d0447b1a63cf5c5a22a4d5e601c2221626 (diff) | |
download | tcl-7afb51929c36eb56d586471d1411586a7f3c2a6e.zip tcl-7afb51929c36eb56d586471d1411586a7f3c2a6e.tar.gz tcl-7afb51929c36eb56d586471d1411586a7f3c2a6e.tar.bz2 |
* generic/tclExecute.c: Stopped faulty double-logging of errors to
* tests/execute.test: stack trace when a compile epoch bump triggers
fallback to direct evaluation of commands in a compiled script.
[Bug 2037338]
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclExecute.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 3f8f4a7..360525e 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclExecute.c,v 1.394 2008/08/03 17:33:10 msofer Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.395 2008/08/04 04:49:24 dgp Exp $ */ #include "tclInt.h" @@ -2294,6 +2294,16 @@ TclExecuteByteCode( CACHE_STACK_INFO(); if (result != TCL_OK) { cleanup = 0; + if (result == TCL_ERROR) { + /* + * Tcl_EvalEx already did the task of logging + * the error to the stack trace for us, so set + * a flag to prevent the TEBC exception handling + * machinery from trying to do it again. + * Tcl Bug 2037338. See test execute-8.4. + */ + iPtr->flags |= ERR_ALREADY_LOGGED; + } goto processExceptionReturn; } opnd = TclGetUInt4AtPtr(pc+1); |