summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 2b5f713..b04cdf6 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -2375,7 +2375,8 @@ TEBCresume(
}
case INST_TAILCALL: {
- Tcl_Obj *listPtr, *nsObjPtr;
+ Tcl_Obj *listPtr;
+ Namespace *nsPtr;
NRE_callback *tailcallPtr;
opnd = TclGetUInt1AtPtr(pc+1);
@@ -2409,10 +2410,10 @@ TEBCresume(
*/
listPtr = Tcl_NewListObj(opnd, &OBJ_AT_DEPTH(opnd-1));
- nsObjPtr = Tcl_NewStringObj(iPtr->varFramePtr->nsPtr->fullName, -1);
+ nsPtr = iPtr->varFramePtr->nsPtr;
Tcl_IncrRefCount(listPtr);
- Tcl_IncrRefCount(nsObjPtr);
- TclNRAddCallback(interp, TclNRTailcallEval, listPtr, nsObjPtr,
+ nsPtr->refCount++;
+ TclNRAddCallback(interp, TclNRTailcallEval, listPtr, nsPtr,
NULL, NULL);
/*