summaryrefslogtreecommitdiffstats
path: root/generic/tclIndexObj.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-07-01 18:54:36 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-07-01 18:54:36 (GMT)
commit9076f328f235876d960fb4d78ecec610ac3e81fd (patch)
treed789fa52eb0aed5c1d0a1a2162c3894263f24071 /generic/tclIndexObj.c
parentdc9d79ca409ce43c255fbf0d12b742bdd795a1f7 (diff)
downloadtcl-9076f328f235876d960fb4d78ecec610ac3e81fd.zip
tcl-9076f328f235876d960fb4d78ecec610ac3e81fd.tar.gz
tcl-9076f328f235876d960fb4d78ecec610ac3e81fd.tar.bz2
[4402cfa58c] Rework the spell check machinery into something that will not be
foiled by value sharing.
Diffstat (limited to 'generic/tclIndexObj.c')
-rw-r--r--generic/tclIndexObj.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/generic/tclIndexObj.c b/generic/tclIndexObj.c
index d01e685..0e0ddc9 100644
--- a/generic/tclIndexObj.c
+++ b/generic/tclIndexObj.c
@@ -925,6 +925,14 @@ Tcl_WrongNumArgs(
Tcl_Obj *const *origObjv = iPtr->ensembleRewrite.sourceObjs;
/*
+ * Check for spelling fixes, and substitute the fixed values.
+ */
+
+ if (origObjv[0] == NULL) {
+ origObjv = (Tcl_Obj *const *)origObjv[2];
+ }
+
+ /*
* We only know how to do rewriting if all the replaced objects are
* actually arguments (in objv) to this function. Otherwise it just
* gets too complicated and we'd be better off just giving a slightly
@@ -957,12 +965,6 @@ Tcl_WrongNumArgs(
elementStr = EXPAND_OF(indexRep);
elemLen = strlen(elementStr);
- } else if (origObjv[i]->typePtr == &tclEnsembleCmdType) {
- register EnsembleCmdRep *ecrPtr =
- origObjv[i]->internalRep.twoPtrValue.ptr1;
-
- elementStr = Tcl_GetHashKey(ecrPtr->tablePtr, ecrPtr->hPtr);
- elemLen = strlen(elementStr);
} else {
elementStr = TclGetStringFromObj(origObjv[i], &elemLen);
}
@@ -1011,13 +1013,6 @@ Tcl_WrongNumArgs(
register IndexRep *indexRep = objv[i]->internalRep.twoPtrValue.ptr1;
Tcl_AppendStringsToObj(objPtr, EXPAND_OF(indexRep), NULL);
- } 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, fullSubcmdName, NULL);
} else {
/*
* Quote the argument if it contains spaces (Bug 942757).