diff options
| author | sebres <sebres@users.sourceforge.net> | 2024-07-14 19:32:28 (GMT) |
|---|---|---|
| committer | sebres <sebres@users.sourceforge.net> | 2024-07-14 19:32:28 (GMT) |
| commit | a9812bfa3d0643ff59ee9b65e24e2218f6504af7 (patch) | |
| tree | 4c45a00899e6db67e74d2fd28c9ecfc5931d7fa3 /generic/tclVar.c | |
| parent | e607a8cb189a461224fecec4fb22308ffec7fd55 (diff) | |
| parent | 1d1e5f06abceb60ce19cf51db9e100021b934aee (diff) | |
| download | tcl-a9812bfa3d0643ff59ee9b65e24e2218f6504af7.zip tcl-a9812bfa3d0643ff59ee9b65e24e2218f6504af7.tar.gz tcl-a9812bfa3d0643ff59ee9b65e24e2218f6504af7.tar.bz2 | |
fixes [0e4b7fce57]: [info vars] strictly follows TIP #278 and doesn't resolve global vars in non-global NS anymore (without extra global pattern)
Diffstat (limited to 'generic/tclVar.c')
| -rw-r--r-- | generic/tclVar.c | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/generic/tclVar.c b/generic/tclVar.c index 1643a58..e939797 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -5998,7 +5998,6 @@ TclInfoVarsCmd( Tcl_HashSearch search; Var *varPtr; Namespace *nsPtr; - Namespace *globalNsPtr = (Namespace *) Tcl_GetGlobalNamespace(interp); Namespace *currNsPtr = (Namespace *) Tcl_GetCurrentNamespace(interp); Tcl_Obj *listPtr, *elemObjPtr, *varNamePtr; int specificNsInPattern = 0;/* Init. to avoid compiler warning. */ @@ -6079,16 +6078,6 @@ TclInfoVarsCmd( } Tcl_ListObjAppendElement(interp, listPtr, elemObjPtr); } - } else if ((nsPtr != globalNsPtr) && !specificNsInPattern) { - varPtr = VarHashFindVar(&globalNsPtr->varTable, - simplePatternPtr); - if (varPtr) { - if (!TclIsVarUndefined(varPtr) - || TclIsVarNamespaceVar(varPtr)) { - Tcl_ListObjAppendElement(interp, listPtr, - VarHashGetKey(varPtr)); - } - } } } else { /* @@ -6115,35 +6104,6 @@ TclInfoVarsCmd( } varPtr = VarHashNextVar(&search); } - - /* - * If the effective namespace isn't the global :: namespace, and a - * specific namespace wasn't requested in the pattern (i.e., the - * pattern only specifies variable names), then add in all global - * :: variables that match the simple pattern. Of course, add in - * only those variables that aren't hidden by a variable in the - * effective namespace. - */ - - if ((nsPtr != globalNsPtr) && !specificNsInPattern) { - varPtr = VarHashFirstVar(&globalNsPtr->varTable, &search); - while (varPtr) { - if (!TclIsVarUndefined(varPtr) - || TclIsVarNamespaceVar(varPtr)) { - varNamePtr = VarHashGetKey(varPtr); - varName = TclGetString(varNamePtr); - if ((simplePattern == NULL) - || Tcl_StringMatch(varName, simplePattern)) { - if (VarHashFindVar(&nsPtr->varTable, - varNamePtr) == NULL) { - Tcl_ListObjAppendElement(interp, listPtr, - varNamePtr); - } - } - } - varPtr = VarHashNextVar(&search); - } - } } } else if (iPtr->varFramePtr->procPtr != NULL) { AppendLocals(interp, listPtr, simplePatternPtr, 1, 0); |
