diff options
| author | dgp@users.sourceforge.net <dgp> | 2013-04-11 14:39:56 (GMT) |
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2013-04-11 14:39:56 (GMT) |
| commit | 0cc324167c46f7af3f9fdf5b98499c213f972d90 (patch) | |
| tree | fde79e95ade9c60439157c28fd46c4a1ec8d41ac /generic/tclInterp.c | |
| parent | ca7b0424f8790725633aaa2dbad068a9b17d6294 (diff) | |
| download | tcl-0cc324167c46f7af3f9fdf5b98499c213f972d90.zip tcl-0cc324167c46f7af3f9fdf5b98499c213f972d90.tar.gz tcl-0cc324167c46f7af3f9fdf5b98499c213f972d90.tar.bz2 | |
New internal routine TclNRInvoke() - NR-enabled path through the machinery
behind invokehidden commands.
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; |
