diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2004-05-23 22:58:23 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2004-05-23 22:58:23 (GMT) |
commit | e4d214b612fa58a6dd0a0663d07085036a8c50d5 (patch) | |
tree | 18a4daa96a01af3b903ebc96538d096b75734fe6 /generic | |
parent | f606211e0c51995aea56b201d27556a45c10109c (diff) | |
download | tcl-e4d214b612fa58a6dd0a0663d07085036a8c50d5.zip tcl-e4d214b612fa58a6dd0a0663d07085036a8c50d5.tar.gz tcl-e4d214b612fa58a6dd0a0663d07085036a8c50d5.tar.bz2 |
Fix in comments
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclNamesp.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c index c369ccf..89dfbab 100644 --- a/generic/tclNamesp.c +++ b/generic/tclNamesp.c @@ -21,7 +21,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclNamesp.c,v 1.38 2004/05/23 22:53:20 msofer Exp $ + * RCS: @(#) $Id: tclNamesp.c,v 1.39 2004/05/23 22:58:23 msofer Exp $ */ #include "tclInt.h" @@ -2326,16 +2326,13 @@ Tcl_FindNamespaceVar(interp, name, contextNsPtr, flags) varPtr = (Var *) Tcl_GetHashValue(entryPtr); /* Fix for [Bug 959052]. - * When a varName is looked from a namespace different from the - * global one, there is no corresponding variable in the namespace and - * there is a "zombie" variable in the global namespace (ie, the - * varName is in the hash table, but the variable is unset), this code - * returns a reference to the zombie. Except when the zombie was - * created by a [variable] call, it should instead create a - * variable in the namespace. - * In particular, zombies created by [trace], [upvar], [global] or - * a reference in a tclNsVarNameType obj should never be found. + * We might have found a "zombie" variable: it is in the hash + * table, but the variable is unset and it was not fixed with + * a call to [variable]. In particular, zombies created by + * [trace], [upvar], [global] or a reference in a + * tclNsVarNameType obj should never be found. */ + if (TclIsVarUndefined(varPtr) && !(varPtr->flags & VAR_NAMESPACE_VAR) && !(flags & (TCL_GLOBAL_ONLY|TCL_NAMESPACE_ONLY))) { |