diff options
| author | Miguel Sofer <miguel.sofer@gmail.com> | 2004-05-25 19:45:14 (GMT) | 
|---|---|---|
| committer | Miguel Sofer <miguel.sofer@gmail.com> | 2004-05-25 19:45:14 (GMT) | 
| commit | ad036d34adbbd811bb35242fedbd68f40ed140fd (patch) | |
| tree | 317d61a35fb6a8871ec0628c42c70173e7fa8302 /generic/tclNamesp.c | |
| parent | 95758c203fe190182f1a1c7e7b5529c764be92c7 (diff) | |
| download | tcl-ad036d34adbbd811bb35242fedbd68f40ed140fd.zip tcl-ad036d34adbbd811bb35242fedbd68f40ed140fd.tar.gz tcl-ad036d34adbbd811bb35242fedbd68f40ed140fd.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.c | 16 | 
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; -		}		              }          }      } | 
