From f7ecdd29358618d0346d454f4e751763f0c57c67 Mon Sep 17 00:00:00 2001 From: mig Date: Tue, 1 Mar 2011 17:19:17 +0000 Subject: * generic/tclBasic.c (TclNREvalObjv): dont do the trampoline dance for commands that do not have an nreProc, [Patch 3168229] --- ChangeLog | 5 +++++ generic/tclBasic.c | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 176e594..be20b96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-03-01 Miguel Sofer + + * generic/tclBasic.c (TclNRRunCallbacks): don't do the trampoline + dance for commands that do not have an nreProc, [Patch 3168229] + 2011-03-01 Donal K. Fellows * generic/tclOO.c (Tcl_NewObjectInstance, TclNRNewObjectInstance) diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 0238d8f..21a1560 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -4280,6 +4280,7 @@ TclNREvalObjv( * a callback to do the actual running. */ +#if 0 objProc = cmdPtr->nreProc; if (!objProc) { objProc = cmdPtr->objProc; @@ -4288,7 +4289,15 @@ TclNREvalObjv( TclNRAddCallback(interp, NRRunObjProc, objProc, objClientData, INT2PTR(objc), (ClientData) objv); - return TCL_OK; +#else + if (cmdPtr->nreProc) { + TclNRAddCallback(interp, NRRunObjProc, cmdPtr->nreProc, + cmdPtr->objClientData, INT2PTR(objc), (ClientData) objv); + return TCL_OK; + } else { + return cmdPtr->objProc(cmdPtr->objClientData, interp, objc, objv); + } +#endif } void -- cgit v0.12