summaryrefslogtreecommitdiffstats
path: root/generic/tclNamesp.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2010-08-18 15:44:09 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2010-08-18 15:44:09 (GMT)
commit096e06e4b8606abecd8fe11c9919df4f35cf4d52 (patch)
treef997dd6e04e669fc5c94627f3ab580c39c22fc71 /generic/tclNamesp.c
parent8288b47f5e7647e90d8499bf5e45099b1651aa62 (diff)
downloadtcl-096e06e4b8606abecd8fe11c9919df4f35cf4d52.zip
tcl-096e06e4b8606abecd8fe11c9919df4f35cf4d52.tar.gz
tcl-096e06e4b8606abecd8fe11c9919df4f35cf4d52.tar.bz2
* generic/tclBasic.c: Redesign of [tailcall] to
* generic/tclCmdAH.c: (a) fix #3047235 * generic/tclCompile.h: (b) enable fix for #3046594 * generic/tclExecute.c: (c) enable recursive tailcalls * generic/tclInt.h: * generic/tclNamesp.c: * tests/tailcall.test:
Diffstat (limited to 'generic/tclNamesp.c')
-rw-r--r--generic/tclNamesp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c
index 12fb46e..401eea4 100644
--- a/generic/tclNamesp.c
+++ b/generic/tclNamesp.c
@@ -22,7 +22,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclNamesp.c,v 1.209 2010/06/08 12:54:38 dgp Exp $
+ * RCS: @(#) $Id: tclNamesp.c,v 1.210 2010/08/18 15:44:13 msofer Exp $
*/
#include "tclInt.h"
@@ -391,6 +391,10 @@ Tcl_PopCallFrame(
Tcl_DeleteNamespace((Tcl_Namespace *) nsPtr);
}
framePtr->nsPtr = NULL;
+
+ if (framePtr->tailcallPtr) {
+ TclSpliceTailcall(interp, framePtr->tailcallPtr);
+ }
}
/*