diff options
author | mig <mig> | 2011-03-01 17:19:17 (GMT) |
---|---|---|
committer | mig <mig> | 2011-03-01 17:19:17 (GMT) |
commit | e2c42653c299fe808947829b1170ca5bfcc4a67c (patch) | |
tree | 81edafcc9eee1efbc752497aaa07629fe2475c07 | |
parent | 50c2ad2dd25382a1534ce3666f7ff99653aa512d (diff) | |
download | tcl-e2c42653c299fe808947829b1170ca5bfcc4a67c.zip tcl-e2c42653c299fe808947829b1170ca5bfcc4a67c.tar.gz tcl-e2c42653c299fe808947829b1170ca5bfcc4a67c.tar.bz2 |
* generic/tclBasic.c (TclNREvalObjv): dont do the trampoline dance for commands that do not have an nreProc, [Patch 3168229]
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | generic/tclBasic.c | 11 |
2 files changed, 15 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2011-03-01 Miguel Sofer <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> * 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 |