From 190867f044d99cc38e5383c153da12d862db858c Mon Sep 17 00:00:00 2001 From: mig Date: Tue, 12 Apr 2011 17:34:29 +0000 Subject: * generic/tclBasic.c: fix for [Bug 2440625], kbk's patch --- ChangeLog | 4 ++++ generic/tclBasic.c | 30 ++++++------------------------ 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2b7012f..c768503 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-04-12 Miguel Sofer + + * generic/tclBasic.c: fix for [Bug 2440625], kbk's patch + 2011-04-11 Miguel Sofer * generic/tclBasic.c: diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 5019c86..4c826f3 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -4265,27 +4265,13 @@ TclNREvalObjv( * a callback to do the actual running. */ -#if 0 - { - Tcl_ObjCmdProc *objProc = cmdPtr->nreProc; - - if (!objProc) { - objProc = cmdPtr->objProc; - } - - TclNRAddCallback(interp, NRRunObjProc, objProc, cmdPtr->objClientData, - INT2PTR(objc), (ClientData) objv); - } - return TCL_OK; -#else if (cmdPtr->nreProc) { - TclNRAddCallback(interp, NRRunObjProc, cmdPtr->nreProc, - cmdPtr->objClientData, INT2PTR(objc), (ClientData) objv); + TclNRAddCallback(interp, NRRunObjProc, cmdPtr, + INT2PTR(objc), (ClientData) objv, NULL); return TCL_OK; } else { return cmdPtr->objProc(cmdPtr->objClientData, interp, objc, objv); } -#endif } void @@ -4373,15 +4359,11 @@ NRRunObjProc( { /* OPT: do not call? */ - Tcl_ObjCmdProc *objProc = (Tcl_ObjCmdProc *)data[0]; - ClientData objClientData = data[1]; - int objc = PTR2INT(data[2]); - Tcl_Obj **objv = data[3]; + Command* cmdPtr = data[0]; + int objc = PTR2INT(data[1]); + Tcl_Obj **objv = data[2]; - if (result == TCL_OK) { - return objProc(objClientData, interp, objc, objv); - } - return result; + return cmdPtr->nreProc(cmdPtr->objClientData, interp, objc, objv); } -- cgit v0.12