diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2016-07-06 09:23:09 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2016-07-06 09:23:09 (GMT) |
| commit | b294401d2f8ccdb83c4f030d41ecab1e4eac11d4 (patch) | |
| tree | b1ac03bf9f3d05e5b9cc99794ede4e2521ef08e6 /generic/tclProc.c | |
| parent | d1f3e49057fa7688586babd4b53652f22e479ff6 (diff) | |
| parent | 841ec05ecc0bb62728af6c92deba9d2a5721d5c6 (diff) | |
| download | tcl-b294401d2f8ccdb83c4f030d41ecab1e4eac11d4.zip tcl-b294401d2f8ccdb83c4f030d41ecab1e4eac11d4.tar.gz tcl-b294401d2f8ccdb83c4f030d41ecab1e4eac11d4.tar.bz2 | |
merge novem
Diffstat (limited to 'generic/tclProc.c')
| -rw-r--r-- | generic/tclProc.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/generic/tclProc.c b/generic/tclProc.c index b663caf..9c4fd1d 100644 --- a/generic/tclProc.c +++ b/generic/tclProc.c @@ -1087,13 +1087,7 @@ ProcWrongNumArgs( if (framePtr->isProcCallFrame & FRAME_IS_LAMBDA) { desiredObjs[0] = Tcl_NewStringObj("lambdaExpr", -1); } else { - ((Interp *) interp)->ensembleRewrite.numInsertedObjs -= skip - 1; - -#ifdef AVOID_HACKS_FOR_ITCL desiredObjs[0] = framePtr->objv[skip-1]; -#else - desiredObjs[0] = Tcl_NewListObj(skip, framePtr->objv); -#endif /* AVOID_HACKS_FOR_ITCL */ } Tcl_IncrRefCount(desiredObjs[0]); @@ -1527,6 +1521,10 @@ InitArgsAndLocals( */ incorrectArgs: + if ((skip != 1) && + TclInitRewriteEnsemble(interp, skip-1, 0, framePtr->objv)) { + TclNRAddCallback(interp, TclClearRootEnsemble, NULL, NULL, NULL, NULL); + } memset(varPtr, 0, ((framePtr->compiledLocals + localCt)-varPtr) * sizeof(Var)); return ProcWrongNumArgs(interp, skip); @@ -2716,10 +2714,6 @@ TclNRApplyObjCmd( extraPtr->efi.fields[0].clientData = lambdaPtr; extraPtr->cmd.clientData = &extraPtr->efi; - if (TclInitRewriteEnsemble(interp, 1, 0, objv)) { - TclNRAddCallback(interp, TclClearRootEnsemble, NULL, NULL, NULL, NULL); - } - result = TclPushProcCallFrame(procPtr, interp, objc, objv, 1); if (result == TCL_OK) { TclNRAddCallback(interp, ApplyNR2, extraPtr, NULL, NULL, NULL); |
