diff options
Diffstat (limited to 'generic/tclCmdAH.c')
-rw-r--r-- | generic/tclCmdAH.c | 54 |
1 files changed, 9 insertions, 45 deletions
diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c index eb2a303..fe02845 100644 --- a/generic/tclCmdAH.c +++ b/generic/tclCmdAH.c @@ -303,7 +303,6 @@ TclNRCatchObjCmd( { Tcl_Obj *varNamePtr = NULL; Tcl_Obj *optionVarNamePtr = NULL; - Interp *iPtr = (Interp *) interp; if ((objc < 2) || (objc > 4)) { Tcl_WrongNumArgs(interp, 1, objv, @@ -321,11 +320,7 @@ TclNRCatchObjCmd( TclNRAddCallback(interp, CatchObjCmdCallback, INT2PTR(objc), varNamePtr, optionVarNamePtr, NULL); - /* - * TIP #280. Make invoking context available to caught script. - */ - - return TclNREvalObjEx(interp, objv[1], 0, iPtr->cmdFramePtr, 1); + return TclNREvalObjEx(interp, objv[1], 0); } static int @@ -760,9 +755,6 @@ TclNREvalObjCmd( Tcl_Obj *const objv[]) /* Argument objects. */ { register Tcl_Obj *objPtr; - Interp *iPtr = (Interp *) interp; - CmdFrame *invoker = NULL; - int word = 0; if (objc < 2) { Tcl_WrongNumArgs(interp, 1, objv, "arg ?arg ...?"); @@ -770,28 +762,18 @@ TclNREvalObjCmd( } if (objc == 2) { - /* - * TIP #280. Make argument location available to eval'd script. - */ - - invoker = iPtr->cmdFramePtr; - word = 1; objPtr = objv[1]; - TclArgumentGet(interp, objPtr, &invoker, &word); } else { /* * More than one argument: concatenate them together with spaces * between, then evaluate the result. Tcl_EvalObjEx will delete the * object when it decrements its refcount after eval'ing it. - * - * TIP #280. Make invoking context available to eval'd script, done - * with the default values. */ objPtr = Tcl_ConcatObj(objc-1, objv+1); } TclNRAddCallback(interp, EvalCmdErrMsg, NULL, NULL, NULL, NULL); - return TclNREvalObjEx(interp, objPtr, 0, invoker, word); + return TclNREvalObjEx(interp, objPtr, 0); } /* @@ -2408,12 +2390,11 @@ TclNRForObjCmd( int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { - Interp *iPtr = (Interp *) interp; ForIterData *iterPtr; if (objc != 5) { - Tcl_WrongNumArgs(interp, 1, objv, "start test next command"); - return TCL_ERROR; + Tcl_WrongNumArgs(interp, 1, objv, "start test next command"); + return TCL_ERROR; } TclSmallAllocEx(interp, sizeof(ForIterData), iterPtr); @@ -2421,15 +2402,9 @@ TclNRForObjCmd( iterPtr->body = objv[4]; iterPtr->next = objv[3]; iterPtr->msg = "\n (\"for\" body line %d)"; - iterPtr->word = 4; TclNRAddCallback(interp, ForSetupCallback, iterPtr, NULL, NULL, NULL); - - /* - * TIP #280. Make invoking context available to initial script. - */ - - return TclNREvalObjEx(interp, objv[1], 0, iPtr->cmdFramePtr, 1); + return TclNREvalObjEx(interp, objv[1], 0); } static int @@ -2492,7 +2467,6 @@ ForCondCallback( Tcl_Interp *interp, int result) { - Interp *iPtr = (Interp *) interp; ForIterData *iterPtr = data[0]; Tcl_Obj *boolObj = data[1]; int value; @@ -2509,7 +2483,6 @@ ForCondCallback( Tcl_DecrRefCount(boolObj); if (value) { - /* TIP #280. */ if (iterPtr->next) { TclNRAddCallback(interp, ForNextCallback, iterPtr, NULL, NULL, NULL); @@ -2517,8 +2490,7 @@ ForCondCallback( TclNRAddCallback(interp, TclNRForIterCallback, iterPtr, NULL, NULL, NULL); } - return TclNREvalObjEx(interp, iterPtr->body, 0, iPtr->cmdFramePtr, - iterPtr->word); + return TclNREvalObjEx(interp, iterPtr->body, 0); } TclSmallFreeEx(interp, iterPtr); return result; @@ -2530,19 +2502,13 @@ ForNextCallback( Tcl_Interp *interp, int result) { - Interp *iPtr = (Interp *) interp; ForIterData *iterPtr = data[0]; Tcl_Obj *next = iterPtr->next; if ((result == TCL_OK) || (result == TCL_CONTINUE)) { TclNRAddCallback(interp, ForPostNextCallback, iterPtr, NULL, NULL, NULL); - - /* - * TIP #280. Make invoking context available to next script. - */ - - return TclNREvalObjEx(interp, next, 0, iPtr->cmdFramePtr, 3); + return TclNREvalObjEx(interp, next, 0); } TclNRAddCallback(interp, TclNRForIterCallback, iterPtr, NULL, NULL, NULL); @@ -2736,8 +2702,7 @@ EachloopCmd( } TclNRAddCallback(interp, ForeachLoopStep, statePtr, NULL, NULL, NULL); - return TclNREvalObjEx(interp, objv[objc-1], 0, - ((Interp *) interp)->cmdFramePtr, objc-1); + return TclNREvalObjEx(interp, objv[objc-1], 0); } /* @@ -2802,8 +2767,7 @@ ForeachLoopStep( } TclNRAddCallback(interp, ForeachLoopStep, statePtr, NULL, NULL, NULL); - return TclNREvalObjEx(interp, statePtr->bodyPtr, 0, - ((Interp *) interp)->cmdFramePtr, statePtr->bodyIdx); + return TclNREvalObjEx(interp, statePtr->bodyPtr, 0); } /* |