summaryrefslogtreecommitdiffstats
path: root/generic/tclOOMethod.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-05-26 16:33:37 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-05-26 16:33:37 (GMT)
commitfc6928c19cf817f90924816477e7646e3ab9ccb0 (patch)
tree6ddf2d9305ace4640bb64a5d4a33de08ca4fcb73 /generic/tclOOMethod.c
parent7934310e9e0c4d8136a7eb664890ea86eeb6b322 (diff)
downloadtcl-fc6928c19cf817f90924816477e7646e3ab9ccb0.zip
tcl-fc6928c19cf817f90924816477e7646e3ab9ccb0.tar.gz
tcl-fc6928c19cf817f90924816477e7646e3ab9ccb0.tar.bz2
Reduce to minimum set of TclResetRewriteEnsemble() calls.
Diffstat (limited to 'generic/tclOOMethod.c')
-rw-r--r--generic/tclOOMethod.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/generic/tclOOMethod.c b/generic/tclOOMethod.c
index 843f833..a311ddb 100644
--- a/generic/tclOOMethod.c
+++ b/generic/tclOOMethod.c
@@ -1458,6 +1458,11 @@ InvokeForwardMethod(
argObjs = InitEnsembleRewrite(interp, objc, objv, skip,
numPrefixes, prefixObjs, &len);
Tcl_NRAddCallback(interp, FinalizeForwardCall, argObjs, NULL, NULL, NULL);
+ /*
+ * NOTE: The combination of direct set of iPtr->lookupNsPtr and the use
+ * of the TCL_EVAL_NOERR flag results in an evaluation configuration
+ * very much like TCL_EVAL_INVOKE.
+ */
((Interp *)interp)->lookupNsPtr
= (Namespace *) contextPtr->oPtr->namespacePtr;
return TclNREvalObjv(interp, len, argObjs, TCL_EVAL_NOERR, NULL);