summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2005-01-14 15:18:10 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2005-01-14 15:18:10 (GMT)
commitf60a01925834c65e0c800deb5b9e33b2a9c56ebd (patch)
treef3956b3aca307124f3347099b7371ba868107187
parent582c4b826c90acc0c55d36b72802ee875ba9a7f4 (diff)
downloadtcl-f60a01925834c65e0c800deb5b9e33b2a9c56ebd.zip
tcl-f60a01925834c65e0c800deb5b9e33b2a9c56ebd.tar.gz
tcl-f60a01925834c65e0c800deb5b9e33b2a9c56ebd.tar.bz2
Document deep magic in compiled [expr]
-rw-r--r--ChangeLog3
-rw-r--r--tests/compile.test18
2 files changed, 20 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 48bd6ac..d9281f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2005-01-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * tests/compile.test (compile-17.1): Document known issue with
+ binding time of compiled command interpretations in [expr].
+
* generic/tclIOUtil.c (TclFSFileAttrIndex): New helper function so
that we don't need to hard-code attribute indexes. [Bug 1100671]
diff --git a/tests/compile.test b/tests/compile.test
index 5025671..9deb680 100644
--- a/tests/compile.test
+++ b/tests/compile.test
@@ -11,7 +11,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: compile.test,v 1.34 2004/12/02 11:10:49 dkf Exp $
+# RCS: @(#) $Id: compile.test,v 1.35 2005/01/14 15:18:16 dkf Exp $
package require tcltest 2
namespace import -force ::tcltest::*
@@ -587,6 +587,22 @@ test compile-16.23.$noComp {
} ;# End of noComp loop
+# This test is messy because it wrecks the interpreter it runs in!
+test compile-17.1 {Command interpretation binding for compiled code} -constraints knownBug -setup {
+ set i [interp create]
+} -body {
+ $i eval {
+ if 1 {
+ expr [
+ proc expr args {return substituted}
+ format {[subst compiled]}
+ ]
+ }
+ }
+} -cleanup {
+ interp delete $i
+} -result substituted
+
# cleanup
catch {rename p ""}
catch {namespace delete test_ns_compile}