diff options
| author | mig <mig> | 2013-01-10 21:18:52 (GMT) |
|---|---|---|
| committer | mig <mig> | 2013-01-10 21:18:52 (GMT) |
| commit | d562dc0f601c1e4871dea0129f2e43bfca1fdb0a (patch) | |
| tree | ba9d20a99fce98d2f9273df62edbb14bab9f55d8 /generic/tclInterp.c | |
| parent | 9f0eb68928b94f54baa4624b6b6fc6c280263605 (diff) | |
| download | tcl-d562dc0f601c1e4871dea0129f2e43bfca1fdb0a.zip tcl-d562dc0f601c1e4871dea0129f2e43bfca1fdb0a.tar.gz tcl-d562dc0f601c1e4871dea0129f2e43bfca1fdb0a.tar.bz2 | |
tailcall now running in a simpler model, with no eval-flags and no nre-stack rewriting; yieldto also requires one fewer bounce. Mostly from mig-nre-mods
Diffstat (limited to 'generic/tclInterp.c')
| -rw-r--r-- | generic/tclInterp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclInterp.c b/generic/tclInterp.c index 0b0f652..2e90caf 100644 --- a/generic/tclInterp.c +++ b/generic/tclInterp.c @@ -1798,9 +1798,9 @@ AliasNRCmd( */ if (isRootEnsemble) { - TclNRDeferCallback(interp, TclClearRootEnsemble, NULL, NULL, NULL, NULL); + TclNRAddCallback(interp, TclClearRootEnsemble, NULL, NULL, NULL, NULL); } - iPtr->evalFlags |= TCL_EVAL_REDIRECT; + TclDeferCallbacks(interp, /* skip tailcalls */ 1); return Tcl_NREvalObj(interp, listPtr, flags); } |
