summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorericm <ericm>2000-01-28 16:38:34 (GMT)
committerericm <ericm>2000-01-28 16:38:34 (GMT)
commit7f1780c6f594cd00f51e77b191d7659f31e84743 (patch)
treecf5e1d8cdb70f1a76905008eba1cbfd83a2052c3 /tests
parentce3b1a3fb5578366ca5a44cf0a5436abe27e7a92 (diff)
downloadtcl-7f1780c6f594cd00f51e77b191d7659f31e84743.zip
tcl-7f1780c6f594cd00f51e77b191d7659f31e84743.tar.gz
tcl-7f1780c6f594cd00f51e77b191d7659f31e84743.tar.bz2
* tests/pkg/magicchar.tcl:
* tests/autoMkindex.test: Test for fix for bug #2611. * library/auto.tcl: Fixed the regular expression that performs $ escaping before sourcing a file to index. It was erroneously adding \ escapes even to $'s that were already escaped, effectively "un-escaping" those $'s. (bug #2611).
Diffstat (limited to 'tests')
-rw-r--r--tests/autoMkindex.test14
-rw-r--r--tests/pkg/magicchar.tcl6
2 files changed, 19 insertions, 1 deletions
diff --git a/tests/autoMkindex.test b/tests/autoMkindex.test
index cdc33d3..bab9e43 100644
--- a/tests/autoMkindex.test
+++ b/tests/autoMkindex.test
@@ -9,7 +9,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: autoMkindex.test,v 1.8 2000/01/28 00:09:15 ericm Exp $
+# RCS: @(#) $Id: autoMkindex.test,v 1.9 2000/01/28 16:38:34 ericm Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest
@@ -187,6 +187,18 @@ test autoMkindex-4.1 {platform indenpendant source commands} {
set result
} {{set auto_index(::college::team) [list source [file join $dir pkg samename.tcl]]} {set auto_index(::pro::team) [list source [file join $dir pkg samename.tcl]]}}
+test autoMkindex-5.1 {escape magic tcl chars in general code} {
+ file delete tclIndex
+ set result {}
+ if { ![catch {auto_mkindex . pkg/magicchar.tcl}] } {
+ set f [open tclIndex r]
+ set dat [split [string trim [read $f]] "\n"]
+ set result [lindex $dat end]
+ close $f
+ }
+ set result
+} {set auto_index(testProc) [list source [file join $dir pkg magicchar.tcl]]}
+
# Clean up.
unset result
diff --git a/tests/pkg/magicchar.tcl b/tests/pkg/magicchar.tcl
new file mode 100644
index 0000000..dc68fcd
--- /dev/null
+++ b/tests/pkg/magicchar.tcl
@@ -0,0 +1,6 @@
+set dollar1 "this string contains an unescaped dollar sign -> \\$foo"
+set dollar2 "this string contains an escaped dollar sign -> \$foo \\\$foo"
+set bracket1 "this contains an unescaped bracket [NoSuchProc]"
+set bracket2 "this contains an escaped bracket \[NoSuchProc\]"
+set bracket3 "this contains nested unescaped brackets [[NoSuchProc]]"
+proc testProc {} {}