diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | tests/interp.test | 19 |
2 files changed, 21 insertions, 3 deletions
@@ -1,7 +1,8 @@ 2008-03-02 Miguel Sofer <msofer@users.sf.net> - * 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 <dgp@users.sourceforge.net> 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 |