diff options
| author | mig <mig> | 2011-03-01 17:19:17 (GMT) |
|---|---|---|
| committer | mig <mig> | 2011-03-01 17:19:17 (GMT) |
| commit | 87f70a6ef20e4a62f1e4ea45058cbaf304c58823 (patch) | |
| tree | 81edafcc9eee1efbc752497aaa07629fe2475c07 | |
| parent | 0a17ae1a29274d470fa5ac948119192d5a340bcd (diff) | |
| download | tcl-87f70a6ef20e4a62f1e4ea45058cbaf304c58823.zip tcl-87f70a6ef20e4a62f1e4ea45058cbaf304c58823.tar.gz tcl-87f70a6ef20e4a62f1e4ea45058cbaf304c58823.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 |
