summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2011-03-03 21:13:30 (GMT)
committerdgp <dgp@users.sourceforge.net>2011-03-03 21:13:30 (GMT)
commit33babada06e91831ef25c24d6930a111463995a1 (patch)
tree39aeb39051104d8d0ea80ffa444c92865c510c60
parent3369c9129fa90ad0a083438bb7b066a1df3ee8d6 (diff)
downloadtcl-33babada06e91831ef25c24d6930a111463995a1.zip
tcl-33babada06e91831ef25c24d6930a111463995a1.tar.gz
tcl-33babada06e91831ef25c24d6930a111463995a1.tar.bz2
Correct flaw in the rewrite handling &#91;list \\\\\}].
-rw-r--r--generic/tclUtil.c2
-rw-r--r--tests/list.test4
2 files changed, 5 insertions, 1 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 9358ede..558d77b 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -756,7 +756,7 @@ TclScanElement(
p++;
break;
}
- if ((p[1] == '{') || (p[1] == '}')) {
+ if ((p[1] == '{') || (p[1] == '}') || (p[1] == '\\')) {
extra++;
length -= (length > 0);
p++;
diff --git a/tests/list.test b/tests/list.test
index aab165c..5a002a9 100644
--- a/tests/list.test
+++ b/tests/list.test
@@ -105,6 +105,10 @@ test list-3.1 {SetListFromAny and lrange/concat results} {
slowsort {fred julie alex carol bill annie}
} {alex annie bill carol fred julie}
+test list-4.1 {Bug 3173086} {
+ string is list "{[list \\\\\}]}"
+} 1
+
# cleanup
::tcltest::cleanupTests
return