Overview
| Artifact ID: | 5b55d456e5ba534c777f163cf00de7e5a5b7e935753ce13f86a3185940904b84 |
|---|---|
| Ticket: | 6978c01b652ac87cfc7913f5e534825f15824768
Channel encoding difference 8.6 <-> 9.0 |
| User & Date: | oehhar 2022-08-31 10:11:28 |
Changes
- assignee changed to: "nobody"
- closer changed to: "nobody"
- cmimetype changed to: "text/x-fossil-wiki"
- comment changed to:
While testing, if TIP 601 did anything on the channel system, I have made two tests with TCL 8.6.12 and TCL 9.0 on Windows, compiled with MS-VC6 and VS2015 for 32 bit. When sending a character not contained in the current encoding, the replacement character "?" is sent. On 9.0, for my perception, nothing is sent and sending stops. I started two tclsh shells with the following pasted into the console: <verbatim> set serverhandle [socket -server connect 30000] proc connect {handle args} { if {[catch { fconfigure $handle -encoding iso8859-1 puts $handle A\u2022B" close $handle } res]} { puts stderr "Write error: $res" } } vwait forever </verbatim> and the client: <verbatim> set clienthandle [socket localhost 30000] fconfigure $clienthandle -encoding iso8859-1 -eofchar "" puts "Read data: '[get $clienthandle]'" close $clienthandle </verbatim> TCL 8.6.12 returns on the client side: <verbatim> Read data: 'A?B"' </verbatim> and on the TCL 9.0 client side: <verbatim> Read data: 'A' </verbatim> I think, on 9.0, the replacement "?" for the not representable character \u2022 (a centered dot) is not sent. I am not sure, what the correct result would be. I am a bit lost in the discussion. Take care, Harald - is_private changed to: "0"
- login: "oehhar"
- priority changed to: "5 Medium"
- resolution changed to: "None"
- severity changed to: "Minor"
- status changed to: "Open"
- submitter changed to: "oehhar"
- subsystem changed to: "- New Builtin Commands"
- title changed to: "Channel encoding difference 8.6 <-> 9.0"
- type changed to: "Bug"