summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-07-04 15:13:50 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-07-04 15:13:50 (GMT)
commit3135d809f53a454377a4497cd20563a3ea061e3b (patch)
treefcaddbfb5b7aeea80f7ec0acce4ce0df4c57eac2
parent3d98702f4592b02dee7b963d566407db562fb962 (diff)
parent6bf04853ecf35bd3d5b034fd47b57e31d1d7a754 (diff)
downloadtcl-3135d809f53a454377a4497cd20563a3ea061e3b.zip
tcl-3135d809f53a454377a4497cd20563a3ea061e3b.tar.gz
tcl-3135d809f53a454377a4497cd20563a3ea061e3b.tar.bz2
Merge 8.7
-rw-r--r--changes2
-rw-r--r--doc/Encoding.316
-rw-r--r--doc/binary.n40
-rw-r--r--doc/chan.n6
-rw-r--r--tests/binary.test4
-rw-r--r--tests/cmdAH.test34
-rw-r--r--tests/encoding.test70
-rw-r--r--tests/encodingVectors.tcl18
-rw-r--r--tests/utfext.test19
-rw-r--r--tests/winConsole.test2
-rw-r--r--tests/winDde.test94
11 files changed, 128 insertions, 177 deletions
diff --git a/changes b/changes
index 3349305..5afd2f4 100644
--- a/changes
+++ b/changes
@@ -8247,7 +8247,7 @@ Dropped support for OS X versions less than 10.4 (Tiger) (fellows)
2013-06-05 (bug fix)[2835313] [while 1 {foo [continue]}] crash (fellows)
-2013-06-17 (bug fix)[a876646] [:cntrl:] includes \x00 to \x1f (nijtmans)
+2013-06-17 (bug fix)[a876646] [:cntrl:] includes \x00 to \x1F (nijtmans)
2013-06-27 (bug fix)[983509] missing encodings for config values (nijtmans)
diff --git a/doc/Encoding.3 b/doc/Encoding.3
index 0d70658..19e7fab 100644
--- a/doc/Encoding.3
+++ b/doc/Encoding.3
@@ -547,13 +547,13 @@ encoding:
E
init {}
final {}
-iso8859-1 \ex1b(B
-jis0201 \ex1b(J
-jis0208 \ex1b$@
-jis0208 \ex1b$B
-jis0212 \ex1b$(D
-gb2312 \ex1b$A
-ksc5601 \ex1b$(C
+iso8859-1 \ex1B(B
+jis0201 \ex1B(J
+jis0208 \ex1B$@
+jis0208 \ex1B$B
+jis0212 \ex1B$(D
+gb2312 \ex1B$A
+ksc5601 \ex1B$(C
.CE
.PP
In the file, the first column represents an option and the second column
@@ -565,7 +565,7 @@ marks that encoding. Tcl syntax is used for the values; in the above
example, for instance,
.QW \fB{}\fR
represents the empty string and
-.QW \fB\ex1b\fR
+.QW \fB\ex1B\fR
represents character 27.
.PP
When \fBTcl_GetEncoding\fR encounters an encoding \fIname\fR that has not
diff --git a/doc/binary.n b/doc/binary.n
index c54bcc9..864b0f9 100644
--- a/doc/binary.n
+++ b/doc/binary.n
@@ -241,7 +241,7 @@ which returns a binary string equivalent to:
\fB\e254\fR
.CE
.PP
-(i.e. \fB\exac\fR) by
+(i.e. \fB\exAC\fR) by
truncating the high-bits of the character, and which is probably not
what is desired.
.RE
@@ -299,7 +299,7 @@ high-to-low order within each byte. For example,
will return a binary string equivalent to:
.PP
.CS
-\fB\exe0\exe1\exa0\fR
+\fB\exE0\exE1\exA0\fR
.CE
.RE
.IP \fBH\fR 5
@@ -326,7 +326,7 @@ remaining bits of the last byte will be zeros. For example,
will return a binary string equivalent to:
.PP
.CS
-\fB\exab\ex00\exde\exf0\ex98\fR
+\fB\exAB\ex00\exDE\exF0\ex98\fR
.CE
.RE
.IP \fBh\fR 5
@@ -341,7 +341,7 @@ low-to-high order within each byte. This is seldom required. For example,
will return a binary string equivalent to:
.PP
.CS
-\fB\exba\ex00\exed\ex0f\ex89\fR
+\fB\exBA\ex00\exED\ex0F\ex89\fR
.CE
.RE
.IP \fBc\fR 5
@@ -363,7 +363,7 @@ than \fIcount\fR, then the extra elements are ignored. For example,
will return a binary string equivalent to:
.PP
.CS
-\fB\ex03\exfd\ex80\ex04\ex02\ex05\fR
+\fB\ex03\exFD\ex80\ex04\ex02\ex05\fR
.CE
.PP
whereas:
@@ -389,7 +389,7 @@ example,
will return a binary string equivalent to:
.PP
.CS
-\fB\ex03\ex00\exfd\exff\ex02\ex01\fR
+\fB\ex03\ex00\exFD\exFF\ex02\ex01\fR
.CE
.RE
.IP \fBS\fR 5
@@ -405,7 +405,7 @@ example,
will return a binary string equivalent to:
.PP
.CS
-\fB\ex00\ex03\exff\exfd\ex01\ex02\fR
+\fB\ex00\ex03\exFF\exFD\ex01\ex02\fR
.CE
.RE
.IP \fBt\fR 5
@@ -429,7 +429,7 @@ example,
will return a binary string equivalent to:
.PP
.CS
-\fB\ex03\ex00\ex00\ex00\exfd\exff\exff\exff\ex00\ex00\ex01\ex00\fR
+\fB\ex03\ex00\ex00\ex00\exFD\exFF\exFF\exFF\ex00\ex00\ex01\ex00\fR
.CE
.RE
.IP \fBI\fR 5
@@ -445,7 +445,7 @@ For example,
will return a binary string equivalent to:
.PP
.CS
-\fB\ex00\ex00\ex00\ex03\exff\exff\exff\exfd\ex00\ex01\ex00\ex00\fR
+\fB\ex00\ex00\ex00\ex03\exFF\exFF\exFF\exFD\ex00\ex01\ex00\ex00\fR
.CE
.RE
.IP \fBn\fR 5
@@ -510,7 +510,7 @@ on a Windows system running on an Intel Pentium processor,
will return a binary string equivalent to:
.PP
.CS
-\fB\excd\excc\excc\ex3f\ex9a\ex99\ex59\ex40\fR
+\fB\exCD\exCC\exCC\ex3F\ex9A\ex99\ex59\ex40\fR
.CE
.RE
.IP \fBr\fR 5
@@ -536,7 +536,7 @@ Windows system running on an Intel Pentium processor,
will return a binary string equivalent to:
.PP
.CS
-\fB\ex9a\ex99\ex99\ex99\ex99\ex99\exf9\ex3f\fR
+\fB\ex9A\ex99\ex99\ex99\ex99\ex99\exF9\ex3F\fR
.CE
.RE
.IP \fBq\fR 5
@@ -788,7 +788,7 @@ scanned. For example,
.RS
.PP
.CS
-\fBbinary scan\fR \ex07\exC6\ex05\ex1f\ex34 H3H* var1 var2
+\fBbinary scan\fR \ex07\exC6\ex05\ex1F\ex34 H3H* var1 var2
.CE
.PP
will return \fB2\fR with \fB07c\fR stored in \fIvar1\fR and
@@ -839,7 +839,7 @@ example,
.RS
.PP
.CS
-\fBbinary scan\fR \ex05\ex00\ex07\ex00\exf0\exff s2s* var1 var2
+\fBbinary scan\fR \ex05\ex00\ex07\ex00\exF0\exFF s2s* var1 var2
.CE
.PP
will return \fB2\fR with \fB5 7\fR stored in \fIvar1\fR and \fB\-16\fR
@@ -853,7 +853,7 @@ order. For example,
.RS
.PP
.CS
-\fBbinary scan\fR \ex00\ex05\ex00\ex07\exff\exf0 S2S* var1 var2
+\fBbinary scan\fR \ex00\ex05\ex00\ex07\exFF\exF0 S2S* var1 var2
.CE
.PP
will return \fB2\fR with \fB5 7\fR stored in \fIvar1\fR and \fB\-16\fR
@@ -878,7 +878,7 @@ example,
.RS
.PP
.CS
-set str \ex05\ex00\ex00\ex00\ex07\ex00\ex00\ex00\exf0\exff\exff\exff
+set str \ex05\ex00\ex00\ex00\ex07\ex00\ex00\ex00\exF0\exFF\exFF\exFF
\fBbinary scan\fR $str i2i* var1 var2
.CE
.PP
@@ -894,7 +894,7 @@ immediately after the \fBI\fR. For example,
.RS
.PP
.CS
-set str \ex00\ex00\ex00\ex05\ex00\ex00\ex00\ex07\exff\exff\exff\exf0
+set str \ex00\ex00\ex00\ex05\ex00\ex00\ex00\ex07\exFF\exFF\exFF\exF0
\fBbinary scan\fR $str I2I* var1 var2
.CE
.PP
@@ -920,7 +920,7 @@ example,
.RS
.PP
.CS
-set str \ex05\ex00\ex00\ex00\ex07\ex00\ex00\ex00\exf0\exff\exff\exff
+set str \ex05\ex00\ex00\ex00\ex07\ex00\ex00\ex00\exF0\exFF\exFF\exFF
\fBbinary scan\fR $str wi* var1 var2
.CE
.PP
@@ -935,7 +935,7 @@ immediately after the \fBW\fR. For example,
.RS
.PP
.CS
-set str \ex00\ex00\ex00\ex05\ex00\ex00\ex00\ex07\exff\exff\exff\exf0
+set str \ex00\ex00\ex00\ex05\ex00\ex00\ex00\ex07\exFF\exFF\exFF\exF0
\fBbinary scan\fR $str WI* var1 var2
.CE
.PP
@@ -966,7 +966,7 @@ Intel Pentium processor,
.RS
.PP
.CS
-\fBbinary scan\fR \ex3f\excc\excc\excd f var1
+\fBbinary scan\fR \ex3F\exCC\exCC\exCD f var1
.CE
.PP
will return \fB1\fR with \fB1.6000000238418579\fR stored in
@@ -990,7 +990,7 @@ running on an Intel Pentium processor,
.RS
.PP
.CS
-\fBbinary scan\fR \ex9a\ex99\ex99\ex99\ex99\ex99\exf9\ex3f d var1
+\fBbinary scan\fR \ex9A\ex99\ex99\ex99\ex99\ex99\exF9\ex3F d var1
.CE
.PP
will return \fB1\fR with \fB1.6000000000000001\fR
diff --git a/doc/chan.n b/doc/chan.n
index 538f86d..75615b6 100644
--- a/doc/chan.n
+++ b/doc/chan.n
@@ -152,7 +152,7 @@ If \fIchar\fR is the empty string, there is no special character that marks
the end of the data.
The default value is the empty string. The acceptable range is \ex01 -
-\ex7f. A value outside this range results in an error.
+\ex7F. A value outside this range results in an error.
.VS "TCL8.7 TIP656"
.TP
\fB\-profile\fR \fIprofile\fR
@@ -245,10 +245,10 @@ files to slow destinations like network sockets.
.PP
\fB\-size\fR limits the number of characters copied.
.PP
-If \fB\-command\fR is gviven, \fBchan copy\fR returns immediately, works in the
+If \fB\-command\fR is given, \fBchan copy\fR returns immediately, works in the
background, and calls \fIcallback\fR when the copy completes, providing as an
additional argument the number of characters written to \fIoutputChan\fR. If
-an error occurres during the background copy, another argument provides message
+an error occurs during the background copy, another argument provides message
for the error. \fIinputChan\fR and \fIoutputChan\fR are automatically
configured for non-blocking mode if needed. Background copying only works
correctly if events are being processed, e.g. via \fBvwait\fR or Tk.
diff --git a/tests/binary.test b/tests/binary.test
index be8dd10..a7ce337 100644
--- a/tests/binary.test
+++ b/tests/binary.test
@@ -2017,10 +2017,10 @@ test binary-53.19 {Tcl_BinaryObjCmd: format} {} {
} \xCD\xCC\xCC\x3F
test binary-53.20 {Tcl_BinaryObjCmd: float Inf} {} {
binary format R Inf
-} \x7f\x80\x00\x00
+} \x7F\x80\x00\x00
test binary-53.21 {Tcl_BinaryObjCmd: float Inf} {} {
binary format r Inf
-} \x00\x00\x80\x7f
+} \x00\x00\x80\x7F
test binary-53.22 {Binary float Inf round trip} -body {
binary scan [binary format R Inf] R inf
binary scan [binary format R -Inf] R inf_
diff --git a/tests/cmdAH.test b/tests/cmdAH.test
index cc0af64..555c70f 100644
--- a/tests/cmdAH.test
+++ b/tests/cmdAH.test
@@ -207,24 +207,6 @@ proc endianUtf {enc} {
return ""
}
-# Map arbitrary strings to printable form in ASCII.
-proc printable {s} {
- set print ""
- foreach c [split $s ""] {
- set i [scan $c %c]
- if {[string is print $c] && ($i <= 127)} {
- append print $c
- } elseif {$i <= 0xff} {
- append print \\x[format %02X $i]
- } elseif {$i <= 0xffff} {
- append print \\u[format %04X $i]
- } else {
- append print \\U[format %08X $i]
- }
- }
- return $print
-}
-
#
# Check errors for invalid number of arguments
proc badnumargs {id cmd cmdargs} {
@@ -354,7 +336,7 @@ unknownencodingtest cmdAH-4.3.9 {convertfrom -failindex VAR -profile ABC}
unknownencodingtest cmdAH-4.3.10 {convertfrom -profile strict -failindex ABC}
testconvert cmdAH-4.3.11 {
encoding convertfrom jis0208 \x38\x43
-} \u4e4e -setup {
+} 乎 -setup {
set system [encoding system]
encoding system iso8859-1
} -cleanup {
@@ -364,7 +346,7 @@ testconvert cmdAH-4.3.11 {
# Verify single arg defaults to system encoding
testconvert cmdAH-4.3.12 {
encoding convertfrom \x38\x43
-} \u4e4e -setup {
+} 乎 -setup {
set system [encoding system]
encoding system jis0208
} -cleanup {
@@ -516,7 +498,7 @@ unknownencodingtest cmdAH-4.4.8 {convertto nosuchencoding ABC}
unknownencodingtest cmdAH-4.4.9 {convertto -failindex VAR -profile ABC}
unknownencodingtest cmdAH-4.4.10 {convertto -profile strict -failindex ABC}
testconvert cmdAH-4.4.11 {
- encoding convertto jis0208 \u4e4e
+ encoding convertto jis0208 乎
} \x38\x43 -setup {
set system [encoding system]
encoding system iso8859-1
@@ -526,7 +508,7 @@ testconvert cmdAH-4.4.11 {
# Verify single arg defaults to system encoding
testconvert cmdAH-4.4.12 {
- encoding convertto \u4e4e
+ encoding convertto 乎
} \x38\x43 -setup {
set system [encoding system]
encoding system jis0208
@@ -539,7 +521,7 @@ testconvert cmdAH-4.4.12 {
foreach {enc str hex ctrl comment} $encValidStrings {
if {"knownBug" in $ctrl} continue
set bytes [binary decode hex $hex]
- set printable [printable $str]
+ set printable [tcltest::Asciify $str]
set prefix A
set suffix B
set prefix_bytes [encoding convertto $enc A]
@@ -556,7 +538,7 @@ foreach {enc str hex ctrl comment} $encValidStrings {
foreach {enc str profile hex failidx ctrl comment} $encUnencodableStrings {
if {"knownBug" in $ctrl} continue
set bytes [binary decode hex $hex]
- set printable [printable $str]
+ set printable [tcltest::Asciify $str]
set prefix A
set suffix B
set prefix_bytes [encoding convertto $enc $prefix]
@@ -605,7 +587,7 @@ foreach {enc str profile hex failidx ctrl comment} $encUnencodableStrings {
foreach {enc str hex ctrl comment} $encValidStrings {
if {"knownBug" in $ctrl} continue
set bytes [binary decode hex $hex]
- set printable [printable $str]
+ set printable [tcltest::Asciify $str]
set prefix A
set suffix B
set prefix_bytes [encoding convertto $enc A]
@@ -622,7 +604,7 @@ foreach {enc str hex ctrl comment} $encValidStrings {
foreach {enc str profile hex failidx ctrl comment} $encUnencodableStrings {
if {"knownBug" in $ctrl} continue
set bytes [binary decode hex $hex]
- set printable [printable $str]
+ set printable [tcltest::Asciify $str]
set prefix A
set suffix B
set prefixLen [string length [encoding convertto $enc $prefix]]
diff --git a/tests/encoding.test b/tests/encoding.test
index 2b7106f..c7575cb 100644
--- a/tests/encoding.test
+++ b/tests/encoding.test
@@ -232,18 +232,6 @@ test encoding-10.1 {Tcl_UtfToExternal} {
return $x
} "ab\x8C\xC1g"
-proc viewable {str} {
- set res ""
- foreach c [split $str {}] {
- if {[string is print $c] && [string is ascii $c]} {
- append res $c
- } else {
- append res "\\u[format %4.4X [scan $c %c]]"
- }
- }
- return "$str ($res)"
-}
-
test encoding-11.1 {LoadEncodingFile: unknown encoding} {testencoding} {
set system [encoding system]
set path [encoding dirs]
@@ -265,11 +253,11 @@ test encoding-11.4 {LoadEncodingFile: multi-byte} {
encoding convertfrom shiftjis \x8C\xC1
} 乎
test encoding-11.5 {LoadEncodingFile: escape file} {
- viewable [encoding convertto iso2022 乎]
-} [viewable "\x1B\$B8C\x1B(B"]
+ encoding convertto iso2022 乎
+} \x1B\$B8C\x1B(B
test encoding-11.5.1 {LoadEncodingFile: escape file} {
- viewable [encoding convertto iso2022-jp 乎]
-} [viewable "\x1B\$B8C\x1B(B"]
+ encoding convertto iso2022-jp 乎
+} \x1B\$B8C\x1B(B
test encoding-11.6 {LoadEncodingFile: invalid file} -constraints {testencoding} -setup {
set system [encoding system]
set path [encoding dirs]
@@ -293,17 +281,17 @@ test encoding-11.6 {LoadEncodingFile: invalid file} -constraints {testencoding}
encoding system $system
} -result {invalid encoding file "splat"}
test encoding-11.8 {encoding: extended Unicode UTF-16} {
- viewable [encoding convertto utf-16le 😹]
-} {=Ø9Þ (=\u00D89\u00DE)}
+ encoding convertto utf-16le 😹
+} =Ø9Þ
test encoding-11.9 {encoding: extended Unicode UTF-16} {
- viewable [encoding convertto utf-16be 😹]
-} {Ø=Þ9 (\u00D8=\u00DE9)}
+ encoding convertto utf-16be 😹
+} Ø=Þ9
test encoding-11.10 {encoding: extended Unicode UTF-32} {
- viewable [encoding convertto utf-32le 😹]
-} "9\xF6\x01\x00 (9\\u00F6\\u0001\\u0000)"
+ encoding convertto utf-32le 😹
+} 9\xF6\x01\x00
test encoding-11.11 {encoding: extended Unicode UTF-32} {
- viewable [encoding convertto utf-32be 😹]
-} "\x00\x01\xF69 (\\u0000\\u0001\\u00F69)"
+ encoding convertto utf-32be 😹
+} \x00\x01\xF69
# OpenEncodingFile is fully tested by the rest of the tests in this file.
test encoding-12.1 {LoadTableEncoding: normal encoding} {
@@ -330,8 +318,8 @@ test encoding-12.5 {LoadTableEncoding: symbol encoding} {
} "ggγ"
test encoding-13.1 {LoadEscapeTable} {
- viewable [set x [encoding convertto iso2022 ab乎棙g]]
-} [viewable "ab\x1B\$B8C\x1B\$\(DD%\x1B(Bg"]
+ encoding convertto iso2022 ab乎棙g
+} ab\x1B\$B8C\x1B\$\(DD%\x1B(Bg
test encoding-15.1 {UtfToUtfProc} {
encoding convertto utf-8 £
@@ -755,14 +743,14 @@ test encoding-24.1 {EscapeFreeProc on open channels} exec {
} {}
test encoding-24.2 {EscapeFreeProc on open channels} {exec} {
# Bug #524674 output
- viewable [runInSubprocess {
+ runInSubprocess {
encoding system cp1252; # Bug #2891556 crash revelator
fconfigure stdout -encoding iso2022-jp
puts ab乎棙g
set env(TCL_FINALIZE_ON_EXIT) 1
exit
- }]
-} "ab\x1B\$B8C\x1B\$(DD%\x1B(Bg (ab\\u001B\$B8C\\u001B\$(DD%\\u001B(Bg)"
+ }
+} "ab\x1B\$B8C\x1B\$(DD%\x1B(Bg"
test encoding-24.3 {EscapeFreeProc on open channels} {stdio} {
# Bug #219314 - if we don't free escape encodings correctly on channel
# closure, we go boom
@@ -776,8 +764,8 @@ test encoding-24.3 {EscapeFreeProc on open channels} {stdio} {
set count [gets $f line]
close $f
removeFile iso2022.tcl
- list $count [viewable $line]
-} [list 3 "乎乞也 (\\u4E4E\\u4E5E\\u4E5F)"]
+ list $count $line
+} [list 3 乎乞也]
test {encoding-24.4 utf-8 invalid strict} {Parse invalid utf-8, strict} -body {
encoding convertfrom -profile strict utf-8 "\xC0\x80"
@@ -1088,30 +1076,30 @@ runtests
test encoding-bug-183a1adcc0-1 {Bug [183a1adcc0] Buffer overflow Tcl_UtfToExternal} -constraints {
testencoding
} -body {
- # Note - buffers are initialized to \xff
+ # Note - buffers are initialized to \xFF
list [catch {testencoding Tcl_UtfToExternal utf-16 A {start end} {} 1} result] $result
-} -result [list 0 [list nospace {} \xff]]
+} -result [list 0 [list nospace {} \xFF]]
test encoding-bug-183a1adcc0-2 {Bug [183a1adcc0] Buffer overflow Tcl_UtfToExternal} -constraints {
testencoding
} -body {
- # Note - buffers are initialized to \xff
+ # Note - buffers are initialized to \xFF
list [catch {testencoding Tcl_UtfToExternal utf-16 A {start end} {} 0} result] $result
} -result [list 0 [list nospace {} {}]]
test encoding-bug-183a1adcc0-3 {Bug [183a1adcc0] Buffer overflow Tcl_UtfToExternal} -constraints {
testencoding
} -body {
- # Note - buffers are initialized to \xff
+ # Note - buffers are initialized to \xFF
list [catch {testencoding Tcl_UtfToExternal utf-16 A {start end} {} 2} result] $result
} -result [list 0 [list nospace {} \x00\x00]]
test encoding-bug-183a1adcc0-4 {Bug [183a1adcc0] Buffer overflow Tcl_UtfToExternal} -constraints {
testencoding
} -body {
- # Note - buffers are initialized to \xff
+ # Note - buffers are initialized to \xFF
list [catch {testencoding Tcl_UtfToExternal utf-16 A {start end} {} 3} result] $result
-} -result [list 0 [list nospace {} \x00\x00\xff]]
+} -result [list 0 [list nospace {} \x00\x00\xFF]]
test encoding-bug-183a1adcc0-5 {Bug [183a1adcc0] Buffer overflow Tcl_UtfToExternal} -constraints {
testencoding ucs2 knownBug
@@ -1119,7 +1107,7 @@ test encoding-bug-183a1adcc0-5 {Bug [183a1adcc0] Buffer overflow Tcl_UtfToExtern
# The knownBug constraint is because test depends on TCL_UTF_MAX and
# also UtfToUtf16 assumes space required in destination buffer is
# sizeof(Tcl_UniChar) which is incorrect when TCL_UTF_MAX==4
- # Note - buffers are initialized to \xff
+ # Note - buffers are initialized to \xFF
list [catch {testencoding Tcl_UtfToExternal utf-16 A {start end} {} 4} result] $result
} -result [list 0 [list ok {} [expr {$::tcl_platform(byteOrder) eq "littleEndian" ? "\x41\x00" : "\x00\x41"}]\x00\x00]]
@@ -1163,13 +1151,13 @@ test encoding-30.3 {encoding convertfrom large strings > 4GB} -constraints {
} -result {4294967296 1}
test encoding-bug-6a3e2cb0f0-1 {Bug [6a3e2cb0f0] - invalid bytes in escape encodings} -body {
- encoding convertfrom -profile tcl8 iso2022-jp x\x1b\x7aaby
+ encoding convertfrom -profile tcl8 iso2022-jp x\x1B\x7Aaby
} -result x\uFFFDy
test encoding-bug-6a3e2cb0f0-2 {Bug [6a3e2cb0f0] - invalid bytes in escape encodings} -body {
- encoding convertfrom -profile strict iso2022-jp x\x1b\x7aaby
+ encoding convertfrom -profile strict iso2022-jp x\x1B\x7Aaby
} -returnCodes error -result {unexpected byte sequence starting at index 1: '\x1B'}
test encoding-bug-6a3e2cb0f0-3 {Bug [6a3e2cb0f0] - invalid bytes in escape encodings} -body {
- encoding convertfrom -profile replace iso2022-jp x\x1b\x7aaby
+ encoding convertfrom -profile replace iso2022-jp x\x1B\x7Aaby
} -result x\uFFFDy
test encoding-bug-66ffafd309-1-tcl8 {Bug [66ffafd309] - truncated DBCS} -body {
diff --git a/tests/encodingVectors.tcl b/tests/encodingVectors.tcl
index 1b569a1..38b3da5 100644
--- a/tests/encodingVectors.tcl
+++ b/tests/encodingVectors.tcl
@@ -32,7 +32,7 @@ set encValidStrings {}; # Reset the table
lappend encValidStrings {*}{
ascii \u0000 00 {} {Lowest ASCII}
- ascii \u007F 7F knownBug {Highest ASCII}
+ ascii \u007F 7F {} {Highest ASCII}
ascii \u007D 7D {} {Brace - just to verify test scripts are escaped correctly}
ascii \u007B 7B {} {Terminating brace - just to verify test scripts are escaped correctly}
@@ -593,11 +593,11 @@ lappend encInvalidBytes {*}{
utf-32le 00D8000000DC0000 tcl8 \uD800\uDC00 -1 {} {High-low-surrogate-pair}
utf-32le 00D8000000DC0000 replace \uFFFD\uFFFD -1 {} {High-low-surrogate-pair}
utf-32le 00D8000000DC0000 strict {} 0 {} {High-low-surrogate-pair}
- utf-32le 00001100 tcl8 \UFFFD -1 {} {Out of range}
- utf-32le 00001100 replace \UFFFD -1 {} {Out of range}
+ utf-32le 00001100 tcl8 \uFFFD -1 {} {Out of range}
+ utf-32le 00001100 replace \uFFFD -1 {} {Out of range}
utf-32le 00001100 strict {} 0 {} {Out of range}
- utf-32le FFFFFFFF tcl8 \UFFFD -1 {} {Out of range}
- utf-32le FFFFFFFF replace \UFFFD -1 {} {Out of range}
+ utf-32le FFFFFFFF tcl8 \uFFFD -1 {} {Out of range}
+ utf-32le FFFFFFFF replace \uFFFD -1 {} {Out of range}
utf-32le FFFFFFFF strict {} 0 {} {Out of range}
utf-32be 41 tcl8 \uFFFD -1 {solo tail} {Truncated}
@@ -618,11 +618,11 @@ lappend encInvalidBytes {*}{
utf-32be 0000D8000000DC00 tcl8 \uD800\uDC00 -1 {} {High-low-surrogate-pair}
utf-32be 0000D8000000DC00 replace \uFFFD\uFFFD -1 {} {High-low-surrogate-pair}
utf-32be 0000D8000000DC00 strict {} 0 {} {High-low-surrogate-pair}
- utf-32be 00110000 tcl8 \UFFFD -1 {} {Out of range}
- utf-32be 00110000 replace \UFFFD -1 {} {Out of range}
+ utf-32be 00110000 tcl8 \uFFFD -1 {} {Out of range}
+ utf-32be 00110000 replace \uFFFD -1 {} {Out of range}
utf-32be 00110000 strict {} 0 {} {Out of range}
- utf-32be FFFFFFFF tcl8 \UFFFD -1 {} {Out of range}
- utf-32be FFFFFFFF replace \UFFFD -1 {} {Out of range}
+ utf-32be FFFFFFFF tcl8 \uFFFD -1 {} {Out of range}
+ utf-32be FFFFFFFF replace \uFFFD -1 {} {Out of range}
utf-32be FFFFFFFF strict {} 0 {} {Out of range}
}
diff --git a/tests/utfext.test b/tests/utfext.test
index b980800..bef1fa7 100644
--- a/tests/utfext.test
+++ b/tests/utfext.test
@@ -24,25 +24,6 @@ lappend utfExtMap {*}{
ascii 414243 414243
}
-if {[info commands printable] eq ""} {
- proc printable {s} {
- set print ""
- foreach c [split $s ""] {
- set i [scan $c %c]
- if {[string is print $c] && ($i <= 127)} {
- append print $c
- } elseif {$i <= 0xff} {
- append print \\x[format %02X $i]
- } elseif {$i <= 0xffff} {
- append print \\u[format %04X $i]
- } else {
- append print \\U[format %08X $i]
- }
- }
- return $print
- }
-}
-
# Simple test with basic flags
proc testbasic {direction enc hexin hexout {flags {start end}}} {
if {$direction eq "toutf"} {
diff --git a/tests/winConsole.test b/tests/winConsole.test
index 3104184..5aa130b 100644
--- a/tests/winConsole.test
+++ b/tests/winConsole.test
@@ -218,7 +218,7 @@ test console-fconfigure-get-1.[incr testnum] {
Console get stdin option -eofchar
} -constraints {win interactive} -body {
fconfigure stdin -eofchar
-} -result \x1a
+} -result \x1A
test console-fconfigure-get-1.[incr testnum] {
fconfigure -winsize
diff --git a/tests/winDde.test b/tests/winDde.test
index 93b9242..8f4da11 100644
--- a/tests/winDde.test
+++ b/tests/winDde.test
@@ -130,104 +130,104 @@ test winDde-2.4 {Checking for existence, with only the topic specified} \
# -------------------------------------------------------------------------
test winDde-3.1 {DDE execute locally} -constraints dde -body {
- set \xe1 ""
- dde execute TclEval self [list set \xe1 foo]
- set \xe1
+ set \xE1 ""
+ dde execute TclEval self [list set \xE1 foo]
+ set \xE1
} -result foo
test winDde-3.2 {DDE execute -async locally} -constraints dde -body {
- set \xe1 ""
- dde execute -async TclEval self [list set \xe1 foo]
+ set \xE1 ""
+ dde execute -async TclEval self [list set \xE1 foo]
update
- set \xe1
+ set \xE1
} -result foo
test winDde-3.3 {DDE request locally} -constraints dde -body {
- set \xe1 ""
- dde execute TclEval self [list set \xe1 foo]
- dde request TclEval self \xe1
+ set \xE1 ""
+ dde execute TclEval self [list set \xE1 foo]
+ dde request TclEval self \xE1
} -result foo
test winDde-3.4 {DDE eval locally} -constraints dde -body {
- set \xe1 ""
- dde eval self set \xe1 foo
+ set \xE1 ""
+ dde eval self set \xE1 foo
} -result foo
test winDde-3.5 {DDE request locally} -constraints dde -body {
- set \xe1 ""
- dde execute TclEval self [list set \xe1 foo]
- dde request -binary TclEval self \xe1
+ set \xE1 ""
+ dde execute TclEval self [list set \xE1 foo]
+ dde request -binary TclEval self \xE1
} -result "foo\x00"
# Set variable a to A with diaeresis (Unicode C4) by relying on the fact
# that utf-8 is sent (e.g. "c3 84" on the wire)
test winDde-3.6 {DDE request utf-8} -constraints dde -body {
- set \xe1 "not set"
- dde execute TclEval self "set \xe1 \xc4"
- scan [set \xe1] %c
+ set \xE1 "not set"
+ dde execute TclEval self "set \xE1 \xC4"
+ scan [set \xE1] %c
} -result 196
# Set variable a to A with diaeresis (Unicode C4) using binary execute
# and compose utf-8 (e.g. "c3 84" ) manually
test winDde-3.7 {DDE request binary} -constraints {dde notWine} -body {
- set \xe1 "not set"
- dde execute -binary TclEval self [list set \xc3\xa1 \xc3\x84\x00]
- scan [set \xe1] %c
+ set \xE1 "not set"
+ dde execute -binary TclEval self [list set \xC3\xA1 \xC3\x84\x00]
+ scan [set \xE1] %c
} -result 196
test winDde-3.8 {DDE poke locally} -constraints {dde debug} -body {
- set \xe1 ""
- dde poke TclEval self \xe1 \xc4
- dde request TclEval self \xe1
-} -result \xc4
+ set \xE1 ""
+ dde poke TclEval self \xE1 \xC4
+ dde request TclEval self \xE1
+} -result \xC4
test winDde-3.9 {DDE poke -binary locally} -constraints {dde debug} -body {
- set \xe1 ""
- dde poke -binary TclEval self \xe1 \xc3\x84\x00
- dde request TclEval self \xe1
-} -result \xc4
+ set \xE1 ""
+ dde poke -binary TclEval self \xE1 \xC3\x84\x00
+ dde request TclEval self \xE1
+} -result \xC4
# -------------------------------------------------------------------------
test winDde-4.1 {DDE execute remotely} -constraints {dde stdio} -body {
- set \xe1 ""
+ set \xE1 ""
set name ch\xEDld-4.1
set child [createChildProcess $name]
- dde execute TclEval $name [list set \xe1 foo]
+ dde execute TclEval $name [list set \xE1 foo]
dde execute TclEval $name {set done 1}
update
- set \xe1
+ set \xE1
} -result ""
test winDde-4.2 {DDE execute async remotely} -constraints {dde stdio} -body {
- set \xe1 ""
+ set \xE1 ""
set name ch\xEDld-4.2
set child [createChildProcess $name]
- dde execute -async TclEval $name [list set \xe1 foo]
+ dde execute -async TclEval $name [list set \xE1 foo]
update
dde execute TclEval $name {set done 1}
update
- set \xe1
+ set \xE1
} -result ""
test winDde-4.3 {DDE request remotely} -constraints {dde stdio} -body {
- set \xe1 ""
+ set \xE1 ""
set name ch\xEDld-4.3
set child [createChildProcess $name]
- dde execute TclEval $name [list set \xe1 foo]
- set \xe1 [dde request TclEval $name \xe1]
+ dde execute TclEval $name [list set \xE1 foo]
+ set \xE1 [dde request TclEval $name \xE1]
dde execute TclEval $name {set done 1}
update
- set \xe1
+ set \xE1
} -result foo
test winDde-4.4 {DDE eval remotely} -constraints {dde stdio} -body {
- set \xe1 ""
+ set \xE1 ""
set name ch\xEDld-4.4
set child [createChildProcess $name]
- set \xe1 [dde eval $name set \xe1 foo]
+ set \xE1 [dde eval $name set \xE1 foo]
dde execute TclEval $name {set done 1}
update
- set \xe1
+ set \xE1
} -result foo
test winDde-4.5 {DDE poke remotely} -constraints {dde debug stdio} -body {
- set \xe1 ""
+ set \xE1 ""
set name ch\xEDld-4.5
set child [createChildProcess $name]
- dde poke TclEval $name \xe1 foo
- set \xe1 [dde request TclEval $name \xe1]
+ dde poke TclEval $name \xE1 foo
+ set \xE1 [dde request TclEval $name \xE1]
dde execute TclEval $name {set done 1}
update
- set \xe1
+ set \xE1
} -result foo
# -------------------------------------------------------------------------
@@ -402,8 +402,8 @@ test winDde-8.9 {Safe DDE check command evaluation} -constraints dde -setup {
child eval {proc DDEACCEPT {cmd} {set ::DDECMD [uplevel \#0 $cmd]}}
child invokehidden dde servername -handler DDEACCEPT child
} -body {
- dde eval child set \xe1 1
- child eval set \xe1
+ dde eval child set \xE1 1
+ child eval set \xE1
} -cleanup {interp delete child} -result 1
test winDde-8.10 {Safe DDE check command evaluation (2)} -constraints dde -setup {
interp create -safe child