diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2009-12-05 21:30:05 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2009-12-05 21:30:05 (GMT) |
commit | 90bd6886192a7f8aba161a9c45eb000b9e59e69c (patch) | |
tree | 364580df13345c4b42788e63d9c681325eb910a9 /generic/tclBasic.c | |
parent | 2aa99d284d6f4194676a3e2f5aac6ad2197a7714 (diff) | |
download | tcl-90bd6886192a7f8aba161a9c45eb000b9e59e69c.zip tcl-90bd6886192a7f8aba161a9c45eb000b9e59e69c.tar.gz tcl-90bd6886192a7f8aba161a9c45eb000b9e59e69c.tar.bz2 |
* generic/tclBasic.c: Fixed things so that you can tailcall
* generic/tclNamesp.c: properly out of a coroutine.
* tests/tailcall.test:
* generic/tclInterp.c: Fixed tailcalls for same-interp aliases (no
test)
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index b0cc7f6..ce330b1 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.410 2009/11/18 21:59:50 nijtmans Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.411 2009/12/05 21:30:05 msofer Exp $ */ #include "tclInt.h" @@ -8783,6 +8783,7 @@ TclNRCoroutineObjCmd( corPtr->auxNumLevels = iPtr->numLevels; TclNRAddCallback(interp, NRCoroutineExitCallback, corPtr, NULL,NULL,NULL); + iPtr->evalFlags |= TCL_EVAL_REDIRECT; return TclNRRunCallbacks(interp, TclNREvalObjEx(interp, cmdObjPtr, 0, NULL, 0), rootPtr, 0); } |