summaryrefslogtreecommitdiffstats
path: root/generic/tclNamesp.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2004-05-25 19:45:14 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2004-05-25 19:45:14 (GMT)
commiteb15d5b60d298079a384b538aa00c53ece4309b6 (patch)
tree317d61a35fb6a8871ec0628c42c70173e7fa8302 /generic/tclNamesp.c
parent189bfa75c643b2ca02afef7fe20837322f2fc382 (diff)
downloadtcl-eb15d5b60d298079a384b538aa00c53ece4309b6.zip
tcl-eb15d5b60d298079a384b538aa00c53ece4309b6.tar.gz
tcl-eb15d5b60d298079a384b538aa00c53ece4309b6.tar.bz2
* generic/tclNamesp.c (Tcl_FindNamespaceVar):
* tests/namespace.test (namespace-17.10-12): reverted commit of 2004-05-23 and removed the tests, as it interferes with the varname resolver and there are apps that break (AlphaTk). A fix will have to wait for Tcl9. * generic/tclVar.c: Caching of namespace variables disabled: no simple way was found to avoid interfering with the resolver's idea of variable existence. A cached varName may keep a variable's name in the namespace's hash table, which is the resolver's criterion for existence. * tests/namespace.c (namespace-17.10): testing for interference between varname caching and name resolver.
Diffstat (limited to 'generic/tclNamesp.c')
-rw-r--r--generic/tclNamesp.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c
index 89dfbab..88ad3bb 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.39 2004/05/23 22:58:23 msofer Exp $
+ * RCS: @(#) $Id: tclNamesp.c,v 1.40 2004/05/25 19:45:14 msofer Exp $
*/
#include "tclInt.h"
@@ -2324,20 +2324,6 @@ Tcl_FindNamespaceVar(interp, name, contextNsPtr, flags)
simpleName);
if (entryPtr != NULL) {
varPtr = (Var *) Tcl_GetHashValue(entryPtr);
-
- /* Fix for [Bug 959052].
- * 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))) {
- varPtr = NULL;
- }
}
}
}