From 5f0c9929f8e88a008d55ba6c31980d7f0f4a5fd8 Mon Sep 17 00:00:00 2001 From: Miguel Sofer Date: Sun, 2 Mar 2008 19:12:40 +0000 Subject: test added (did not fail previously, just to make sure it never does) --- ChangeLog | 5 +++-- tests/interp.test | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 881fe15..f726ef3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,8 @@ 2008-03-02 Miguel Sofer - * generic/tclNamesp.c (GetNamespaceFromObj): spoil the intrep of - an nsNameType obj when the reference crosses interpreter + * generic/tclNamesp.c (GetNamespaceFromObj): + * tests/interp.test (interp-28.2): spoil the intrep of an + nsNameType obj when the reference crosses interpreter boundaries. 2008-02-29 Don Porter diff --git a/tests/interp.test b/tests/interp.test index 9ef7e79..76d642b 100644 --- a/tests/interp.test +++ b/tests/interp.test @@ -10,7 +10,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: interp.test,v 1.53 2007/12/13 15:26:06 dgp Exp $ +# RCS: @(#) $Id: interp.test,v 1.54 2008/03/02 19:12:41 msofer Exp $ if {[lsearch [namespace children] ::tcltest] == -1} { package require tcltest 2.1 @@ -2360,6 +2360,23 @@ test interp-28.1 {getting fooled by slave's namespace ?} { set r } {} +test interp-28.2 {master's nsName cache should not cross} { + set i [interp create] + set res [$i eval { + set x {namespace children ::} + set y [list namespace children ::] + namespace delete [{*}$y] + set j [interp create] + $j eval {namespace delete {*}[namespace children ::]} + namespace eval foo {} + set res [list [eval $x] [eval $y] [$j eval $x] [$j eval $y]] + interp delete $j + set res + }] + interp delete $i + set res +} {::foo ::foo {} {}} + # Part 29: recursion limit # 29.1.* Argument checking # 29.2.* Reading and setting the recursion limit -- cgit v0.12