Ticket Change Details
Not logged in
Overview

Artifact ID: 5b55d456e5ba534c777f163cf00de7e5a5b7e935753ce13f86a3185940904b84
Ticket: 6978c01b652ac87cfc7913f5e534825f15824768
Channel encoding difference 8.6 <-> 9.0
User & Date: oehhar 2022-08-31 10:11:28
Changes

  1. assignee changed to: "nobody"
  2. closer changed to: "nobody"
  3. cmimetype changed to: "text/x-fossil-wiki"
  4. 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
    
  5. is_private changed to: "0"
  6. login: "oehhar"
  7. priority changed to: "5 Medium"
  8. resolution changed to: "None"
  9. severity changed to: "Minor"
  10. status changed to: "Open"
  11. submitter changed to: "oehhar"
  12. subsystem changed to: "- New Builtin Commands"
  13. title changed to: "Channel encoding difference 8.6 <-> 9.0"
  14. type changed to: "Bug"