diff options
author | dgp <dgp@noemail.net> | 2013-04-11 14:39:56 (GMT) |
---|---|---|
committer | dgp <dgp@noemail.net> | 2013-04-11 14:39:56 (GMT) |
commit | 8c6a30c6ae6550a444ceea394eb16aba38ed8435 (patch) | |
tree | fde79e95ade9c60439157c28fd46c4a1ec8d41ac /generic/tclInterp.c | |
parent | 70e810868172885ee9d97299ff0cd9bd9c899a8f (diff) | |
download | tcl-8c6a30c6ae6550a444ceea394eb16aba38ed8435.zip tcl-8c6a30c6ae6550a444ceea394eb16aba38ed8435.tar.gz tcl-8c6a30c6ae6550a444ceea394eb16aba38ed8435.tar.bz2 |
New internal routine TclNRInvoke() - NR-enabled path through the machinery
behind invokehidden commands.
FossilOrigin-Name: db2d5a1b579cba6a37e246778b99d2f404993453
Diffstat (limited to 'generic/tclInterp.c')
-rw-r--r-- | generic/tclInterp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/generic/tclInterp.c b/generic/tclInterp.c index 1a4297b..ac51d9d 100644 --- a/generic/tclInterp.c +++ b/generic/tclInterp.c @@ -3052,7 +3052,12 @@ SlaveInvokeHidden( Tcl_AllowExceptions(slaveInterp); if (namespaceName == NULL) { - result = TclObjInvoke(slaveInterp, objc, objv, TCL_INVOKE_HIDDEN); + if (interp == slaveInterp) { + Tcl_Release(slaveInterp); + return TclNRInvoke(NULL, slaveInterp, objc, objv); + } else { + result = TclObjInvoke(slaveInterp, objc, objv, TCL_INVOKE_HIDDEN); + } } else { Namespace *nsPtr, *dummy1, *dummy2; const char *tail; |