summaryrefslogtreecommitdiffstats
path: root/generic/tclEnsemble.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2018-06-01 16:04:22 (GMT)
committerdgp <dgp@users.sourceforge.net>2018-06-01 16:04:22 (GMT)
commit1545e3155786a2643bbabc7e7e5ef8b1a1d47d4a (patch)
treefac0aaec99f3cb2a5d7d163aab3078b8e8429465 /generic/tclEnsemble.c
parent5e3ca11761b27133a62ee5cd5e340956c640ca8d (diff)
parent71f7b946a6a525d6c5163a34bd1c2d2ad72f25c8 (diff)
downloadtcl-1545e3155786a2643bbabc7e7e5ef8b1a1d47d4a.zip
tcl-1545e3155786a2643bbabc7e7e5ef8b1a1d47d4a.tar.gz
tcl-1545e3155786a2643bbabc7e7e5ef8b1a1d47d4a.tar.bz2
Rebase the sebres clock bounty work to the 8.7 branch.
Diffstat (limited to 'generic/tclEnsemble.c')
-rw-r--r--generic/tclEnsemble.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/generic/tclEnsemble.c b/generic/tclEnsemble.c
index 94c0b76..a1cac28 100644
--- a/generic/tclEnsemble.c
+++ b/generic/tclEnsemble.c
@@ -352,6 +352,14 @@ TclNamespaceEnsembleCmd(
Tcl_SetEnsembleMappingDict(interp, token, mapObj);
Tcl_SetEnsembleUnknownHandler(interp, token, unknownObj);
Tcl_SetEnsembleParameterList(interp, token, paramObj);
+ /*
+ * Ensemble should be compiled if it has map (performance purposes)
+ * Currently only for internal using namespace (like ::tcl::clock).
+ * (An enhancement for completelly compile-feature is in work.)
+ */
+ if (mapObj != NULL && strncmp("::tcl::", nsPtr->fullName, 7) == 0) {
+ Tcl_SetEnsembleFlags(interp, token, ENSEMBLE_COMPILE);
+ }
/*
* Tricky! Must ensure that the result is not shared (command delete