Index: generic/nsf.c =================================================================== diff -u -r643f38a3651566f228a9756b09760930c553f7e8 -r8da343e4eb0b6166a184a0ab8eb7189d97eaff6f --- generic/nsf.c (.../nsf.c) (revision 643f38a3651566f228a9756b09760930c553f7e8) +++ generic/nsf.c (.../nsf.c) (revision 8da343e4eb0b6166a184a0ab8eb7189d97eaff6f) @@ -3939,15 +3939,7 @@ static int CmdIsNsfObject(Tcl_Command cmd) { assert(cmd); -#if defined(NRE) -# if defined(USE_NRE_PROC) - return Tcl_Command_nreProc(cmd) == NsfObjDispatch; -# else return Tcl_Command_objProc(cmd) == NsfObjDispatch; -# endif -#else - return Tcl_Command_objProc(cmd) == NsfObjDispatch; -#endif } @@ -10042,8 +10034,21 @@ * *---------------------------------------------------------------------- */ +#if defined(NRE) +Tcl_ObjCmdProc NsfObjDispatchNRE; +extern int +NsfObjDispatch(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { + return Tcl_NRCallObjProc(interp, NsfObjDispatchNRE, clientData, objc, objv); +} extern int +NsfObjDispatchNRE(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { + +#else + +extern int NsfObjDispatch(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { + +#endif int result; #ifdef STACK_TRACE NsfStackDump(interp); @@ -13459,12 +13464,8 @@ } #if defined(NRE) object->id = Tcl_NRCreateCommand(interp, nameString, -# if defined(USE_NRE_PROC) - NULL, -# else NsfObjDispatch, -# endif - NsfObjDispatch, + NsfObjDispatchNRE, object, TclDeletesObject); #else object->id = Tcl_CreateObjCommand(interp, nameString, NsfObjDispatch, @@ -13889,12 +13890,8 @@ } #if defined(NRE) object->id = Tcl_NRCreateCommand(interp, nameString, -# if defined(USE_NRE_PROC) - NULL, -# else NsfObjDispatch, -# endif - NsfObjDispatch, + NsfObjDispatchNRE, cl, TclDeletesObject); #else object->id = Tcl_CreateObjCommand(interp, nameString, NsfObjDispatch,