summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2008-03-02 19:12:40 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2008-03-02 19:12:40 (GMT)
commit5f0c9929f8e88a008d55ba6c31980d7f0f4a5fd8 (patch)
tree0d2bd054228733d789a43a7ef2848723dcaad19e
parent8f94a1b5df88af853e56efc184d49d5914b5866e (diff)
downloadtcl-5f0c9929f8e88a008d55ba6c31980d7f0f4a5fd8.zip
tcl-5f0c9929f8e88a008d55ba6c31980d7f0f4a5fd8.tar.gz
tcl-5f0c9929f8e88a008d55ba6c31980d7f0f4a5fd8.tar.bz2
test added (did not fail previously, just to make sure it never does)
-rw-r--r--ChangeLog5
-rw-r--r--tests/interp.test19
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 <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