From 293c1ff559bb2245f11faf04805c2dc89e9d8a5b Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Tue, 9 May 2023 16:11:58 +0000 Subject: Left-over TCL_ENCODING_STRICT, not used any more. Add "-profile tcl8" for testcases which don't work in strict profile --- doc/Encoding.3 | 2 +- generic/tcl.h | 2 -- generic/tclCmdAH.c | 4 ---- generic/tclIO.c | 2 +- tests/io.test | 4 +++- tests/iogt.test | 4 ++-- 6 files changed, 7 insertions(+), 11 deletions(-) diff --git a/doc/Encoding.3 b/doc/Encoding.3 index a1eb265..0d70658 100644 --- a/doc/Encoding.3 +++ b/doc/Encoding.3 @@ -590,7 +590,7 @@ with at most one of \fBTCL_ENCODING_PROFILE_TCL8\fR, \fBTCL_ENCODING_PROFILE_STRICT\fR or \fBTCL_ENCODING_PROFILE_REPLACE\fR. These correspond to the \fBtcl8\fR, \fBstrict\fR and \fBreplace\fR profiles respectively. If none are specified, a version-dependent default profile is used. -For Tcl 8.7, the default profile is \fBtcl8\fR. +For Tcl 9.0, the default profile is \fBtcl8\fR. .PP For details about profiles, see the \fBPROFILES\fR section in the documentation of the \fBencoding\fR command. diff --git a/generic/tcl.h b/generic/tcl.h index 451acb7..ddd9d9b 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -1933,8 +1933,6 @@ typedef struct Tcl_EncodingType { * reset to an initial state. If the source * buffer contains the entire input stream to be * converted, this flag should be set. - * TCL_ENCODING_STRICT - Be more strict in accepting what - * is considered a 'invalid byte sequence'. * TCL_ENCODING_STOPONERROR - Not used any more. * TCL_ENCODING_NO_TERMINATE - If set, Tcl_ExternalToUtf does not append a * terminating NUL byte. Since it does not need diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c index 4045e2f..ea0b772 100644 --- a/generic/tclCmdAH.c +++ b/generic/tclCmdAH.c @@ -435,11 +435,7 @@ EncodingConvertParseOptions ( Tcl_Encoding encoding; Tcl_Obj *dataObj; Tcl_Obj *failVarObj; -#if TCL_MAJOR_VERSION > 8 || defined(TCL_NO_DEPRECATED) - int profile = TCL_ENCODING_PROFILE_TCL8; /* TODO - default for Tcl9? */ -#else int profile = TCL_ENCODING_PROFILE_TCL8; -#endif /* * Possible combinations: diff --git a/generic/tclIO.c b/generic/tclIO.c index 987f6b9..44202a9 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -10206,7 +10206,7 @@ DoRead( == (CHANNEL_EOF|CHANNEL_BLOCKED))); UpdateInterest(chanPtr); TclChannelRelease((Tcl_Channel)chanPtr); - return (int)(p - dst); + return (Tcl_Size)(p - dst); } /* diff --git a/tests/io.test b/tests/io.test index e380146..5acd553 100644 --- a/tests/io.test +++ b/tests/io.test @@ -1195,7 +1195,7 @@ test io-7.3 {FilterInputBytes: split up character at EOF} {testchannel} { puts -nonewline $f "1234567890123\x82\x4F\x82\x50\x82" close $f set f [open $path(test1)] - fconfigure $f -encoding shiftjis + fconfigure $f -encoding shiftjis -profile tcl8 set x [list [gets $f line] $line] lappend x [tell $f] [testchannel inputbuffered $f] [eof $f] lappend x [gets $f line] $line @@ -7964,6 +7964,8 @@ test io-53.5 {CopyData: error during fcopy} {socket fcopy} { set out [socket 127.0.0.1 [lindex [fconfigure $listen -sockname] 2]] catch {unset fcopyTestDone} close $listen ;# This means the socket open never really succeeds + fconfigure $in -encoding utf-8 + fconfigure $out -encoding utf-8 fcopy $in $out -command [namespace code FcopyTestDone] variable fcopyTestDone if {![info exists fcopyTestDone]} { diff --git a/tests/iogt.test b/tests/iogt.test index 5692682..cb02d40 100644 --- a/tests/iogt.test +++ b/tests/iogt.test @@ -549,8 +549,8 @@ test iogt-2.3 {basic I/O, mixed trail} {testchannel unix} { set trail [list] audit_flow trail -attach $fin audit_flow trail -attach $fout - fconfigure $fin -buffersize 20 - fconfigure $fout -buffersize 10 + fconfigure $fin -buffersize 20 -profile tcl8 + fconfigure $fout -buffersize 10 -profile tcl8 fcopy $fin $fout close $fin close $fout -- cgit v0.12