summaryrefslogtreecommitdiffstats
path: root/generic/tclIndexObj.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-05-12 20:23:23 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-05-12 20:23:23 (GMT)
commit67801a78ad4a2571cbdb9f8358f88edc001776dc (patch)
tree05da34e1518abd99ef6c027ba46a1230a783f67d /generic/tclIndexObj.c
parente0ed43c52629c283f02e749517e7fc83ace2942e (diff)
downloadtcl-67801a78ad4a2571cbdb9f8358f88edc001776dc.zip
tcl-67801a78ad4a2571cbdb9f8358f88edc001776dc.tar.gz
tcl-67801a78ad4a2571cbdb9f8358f88edc001776dc.tar.bz2
Don't see why the intrep should make and keep copies of things already
stored in the hash table.
Diffstat (limited to 'generic/tclIndexObj.c')
-rw-r--r--generic/tclIndexObj.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tclIndexObj.c b/generic/tclIndexObj.c
index ce8b9fb..d01e685 100644
--- a/generic/tclIndexObj.c
+++ b/generic/tclIndexObj.c
@@ -961,7 +961,7 @@ Tcl_WrongNumArgs(
register EnsembleCmdRep *ecrPtr =
origObjv[i]->internalRep.twoPtrValue.ptr1;
- elementStr = ecrPtr->fullSubcmdName;
+ elementStr = Tcl_GetHashKey(ecrPtr->tablePtr, ecrPtr->hPtr);
elemLen = strlen(elementStr);
} else {
elementStr = TclGetStringFromObj(origObjv[i], &elemLen);
@@ -1014,8 +1014,10 @@ Tcl_WrongNumArgs(
} else if (objv[i]->typePtr == &tclEnsembleCmdType) {
register EnsembleCmdRep *ecrPtr =
objv[i]->internalRep.twoPtrValue.ptr1;
+ const char *fullSubcmdName
+ = Tcl_GetHashKey(ecrPtr->tablePtr, ecrPtr->hPtr);
- Tcl_AppendStringsToObj(objPtr, ecrPtr->fullSubcmdName, NULL);
+ Tcl_AppendStringsToObj(objPtr, fullSubcmdName, NULL);
} else {
/*
* Quote the argument if it contains spaces (Bug 942757).