'''`[http://www.tcl.tk/man/tcl/TclCmd/chan.htm%|%chan] configure`''', a [Tcl Commands%|%built-in] [Tcl] command, sets and retrieves options for [channel]s. It replaces the older `[fconfigure]`. ** Synopsis ** : '''chan configure''' ''channelId'' : '''chan configure''' ''channelId name'' : '''chan configure''' ''channelId name value'' ?''name value ...''? ** Documentation ** [http://www.tcl.tk/man/tcl/TclCmd/chan.htm%|%official reference]: ** See Also ** [channel]: [open]: [socket]: ** Examples ** Instruct Tcl to always send output to stdout immediately, whether or not it is to a terminal: ====== chan configure stdout -buffering none ====== Instruct Tcl to read pure bytes from a channel and write bytes to it, rather than characters: ====== chan configure $binaryDataFile -translation binary ====== ** Encoding ** The real name of the `binary` encoding is `iso8859-1`. `-encoding binary` was introduced as a migration aid to help with either the 7.6 -> 8.0 or the 8.0 to 8.1 transitions. `iso8859-1` has the privileged relationship with [Unicode] that its code-points are in a one-to-one relationship with `\u0000`-`\u007f` Caveat: `-encoding binary` turns off `-translation`, but `-encoding iso8859-1` does not. : ref [dgp] and [kbk] in [Tcl Chatroom] ,2013-12-02 ** stdout encoding bug ** [RS] 2015-04-13 - On Windows 7, stdout (if not redirected) breaks in a funny way when the encoding is changed - notice the "%" prompt: D:\>Tcl85\bin\tclsh % fconfigure stdout -encoding utf-8 ‥ ‥^C D:\>Tcl86\bin\tclsh % fconfigure stdout -encoding utf-8 ‥exit With longer output, the whole console (cmd.exe or Cygwin bash) freezes and can only be closed, but no longer be used. This behavior was not the case in Tcl 8.4: D:\>Tcl84\bin\tclsh % fconfigure stdout -encoding utf-8 % ** Misc ** [LV] 2008 Feb 28: Some of the wiki pages talk about the construct, === chan configure $serial_port -mode "$baudRate,$plex,$bits,$polarity" === or some such thing. The -mode flag, used for specifying baud rate, etc, has moved to [open] now. I don't know how one would change those values on an open descriptor... <> Command