diff options
author | ferrieux <ferrieux@users.sourceforge.net> | 2010-10-20 20:52:26 (GMT) |
---|---|---|
committer | ferrieux <ferrieux@users.sourceforge.net> | 2010-10-20 20:52:26 (GMT) |
commit | e2b1415b27c47fed243c2c335fb46306497f4020 (patch) | |
tree | 84c8b9df46479aa446214b23882ada73c2296ccb /generic/tclBasic.c | |
parent | af0efce59e0440d75633b2dac8ab9ecd39806a30 (diff) | |
download | tcl-e2b1415b27c47fed243c2c335fb46306497f4020.zip tcl-e2b1415b27c47fed243c2c335fb46306497f4020.tar.gz tcl-e2b1415b27c47fed243c2c335fb46306497f4020.tar.bz2 |
[Patch 2995655] Report inner contexts in [info errorstack]
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index f0d3e5d..fa63953 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -16,7 +16,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.467 2010/10/01 12:52:49 dkf Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.468 2010/10/20 20:52:26 ferrieux Exp $ */ #include "tclInt.h" @@ -549,6 +549,10 @@ Tcl_CreateInterp(void) Tcl_IncrRefCount(iPtr->upLiteral); TclNewLiteralStringObj(iPtr->callLiteral,"CALL"); Tcl_IncrRefCount(iPtr->callLiteral); + TclNewLiteralStringObj(iPtr->innerLiteral,"INNER"); + Tcl_IncrRefCount(iPtr->innerLiteral); + iPtr->innerContext = Tcl_NewListObj(0, NULL); + Tcl_IncrRefCount(iPtr->innerContext); iPtr->errorCode = NULL; TclNewLiteralStringObj(iPtr->ecVar, "::errorCode"); Tcl_IncrRefCount(iPtr->ecVar); @@ -1492,6 +1496,8 @@ DeleteInterpProc( iPtr->errorStack = NULL; Tcl_DecrRefCount(iPtr->upLiteral); Tcl_DecrRefCount(iPtr->callLiteral); + Tcl_DecrRefCount(iPtr->innerLiteral); + Tcl_DecrRefCount(iPtr->innerContext); if (iPtr->returnOpts) { Tcl_DecrRefCount(iPtr->returnOpts); } |