summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r--generic/tclBasic.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 69194f8..86d7960 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -4866,7 +4866,6 @@ NRCommand(
int result)
{
Interp *iPtr = (Interp *) interp;
- Tcl_Obj *listPtr;
iPtr->numLevels--;
@@ -4875,10 +4874,7 @@ NRCommand(
*/
if (data[1] && (data[1] != INT2PTR(1))) {
- listPtr = (Tcl_Obj *)data[1];
- data[1] = NULL;
-
- TclNRAddCallback(interp, TclNRTailcallEval, listPtr, NULL, NULL, NULL);
+ TclNRAddCallback(interp, TclNRTailcallEval, data[1], NULL, NULL, NULL);
}
/* OPT ??
@@ -9453,7 +9449,6 @@ TclNRYieldToObjCmd(
iPtr->execEnvPtr = corPtr->callerEEPtr;
TclSetTailcall(interp, listPtr);
- corPtr->yieldPtr = listPtr;
iPtr->execEnvPtr = corPtr->eePtr;
return TclNRYieldObjCmd(INT2PTR(CORO_ACTIVATE_YIELDM), interp, 1, objv);
@@ -9651,22 +9646,6 @@ TclNRCoroutineActivateCallback(
*/
if (corPtr->stackLevel != stackLevel) {
- NRE_callback *runPtr;
-
- iPtr->execEnvPtr = corPtr->callerEEPtr;
- if (corPtr->yieldPtr) {
- for (runPtr = TOP_CB(interp); runPtr; runPtr = runPtr->nextPtr) {
- if (runPtr->data[1] == corPtr->yieldPtr) {
- runPtr->data[1] = NULL;
- Tcl_DecrRefCount(corPtr->yieldPtr);
- corPtr->yieldPtr = NULL;
- break;
- }
- }
- }
- iPtr->execEnvPtr = corPtr->eePtr;
-
-
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"cannot yield: C stack busy", -1));
Tcl_SetErrorCode(interp, "TCL", "COROUTINE", "CANT_YIELD",
@@ -9682,7 +9661,6 @@ TclNRCoroutineActivateCallback(
Tcl_Panic("Yield received an option which is not implemented");
}
- corPtr->yieldPtr = NULL;
corPtr->stackLevel = NULL;
numLevels = iPtr->numLevels;