summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2009-12-10 23:52:30 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2009-12-10 23:52:30 (GMT)
commite225192e11ee22d35470bef993063ace4970231b (patch)
tree61bbed44f7eba044e2ef57f91291e166fd7be2b7 /generic/tclExecute.c
parent6702229811b97786ff7f9e400992cdcdd4d7b56e (diff)
downloadtcl-e225192e11ee22d35470bef993063ace4970231b.zip
tcl-e225192e11ee22d35470bef993063ace4970231b.tar.gz
tcl-e225192e11ee22d35470bef993063ace4970231b.tar.bz2
* generic/tclBasic.c: Full nre-enabling of coroutines
* generic/tclExecute.c: [Bug 2806407]
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index e2ef7e4..f4a204e 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -14,7 +14,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclExecute.c,v 1.461 2009/12/10 22:01:48 msofer Exp $
+ * RCS: @(#) $Id: tclExecute.c,v 1.462 2009/12/10 23:52:30 msofer Exp $
*/
#include "tclInt.h"
@@ -2039,8 +2039,9 @@ TclExecuteByteCode(
*/
corPtr->base.cmdFramePtr = bcFramePtr;
- BP->prevBottomPtr = NULL;
iPtr->varFramePtr = iPtr->rootFramePtr;
+ corPtr->callerBP = BP->prevBottomPtr;
+ BP->prevBottomPtr = NULL;
}
if (!corPtr->stackLevel) {
@@ -2832,13 +2833,12 @@ TclExecuteByteCode(
* new one.
*/
- if (param) {
- codePtr = param;
+ codePtr = param;
+ if (codePtr) {
goto nonRecursiveCallStart;
} else {
CoroutineData *corPtr = iPtr->execEnvPtr->corPtr;
- codePtr = NULL;
corPtr->callerBP = BP;
goto resumeCoroutine;
}