summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
authorferrieux <ferrieux@users.sourceforge.net>2010-10-20 20:52:26 (GMT)
committerferrieux <ferrieux@users.sourceforge.net>2010-10-20 20:52:26 (GMT)
commite2b1415b27c47fed243c2c335fb46306497f4020 (patch)
tree84c8b9df46479aa446214b23882ada73c2296ccb /generic/tclBasic.c
parentaf0efce59e0440d75633b2dac8ab9ecd39806a30 (diff)
downloadtcl-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.c8
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);
}