Refactor WriteChars() and WriteBytes() into simple wrappers of a common
routine Write().
Simplification and cleanup enabled by last commit.
Trial: Implement DoWrite() as WriteBytes().
Eliminate DoWrite().  It duplicates WriteBytes().
Refactor to eliminate the DoWriteChars() layer.
Do not call updateStringProc directly.  We have TclGetString() for that.
The "channel" Tcl_ObjType is caching only.  It never needs an UpdateString routine.
It's also static to the tclIO.c file.
Simplify macro typecasting.
merge 8.5
[971cb4f1db]: Make debugging traces less inclined to serious visual corruption
make the printing of source much less inclined to be fazed by non-ASCII chars
Be sure to finalize the identity encoding.
Simplify the core output operations of channels.  Reduce duplicative and
dead code.
Simplify the core output operations of channels. Reduce duplicative and dead code.
Add missing __stdcall (which crashes on win32), and clean-up indenting
remove duplicate declaration
Add missing __stdcall (which crashes on win32), and clean-up indenting
Satisfy required position of __stdcall from VC++
Satisfy required position of __stdcall from VC++
merge trunk