Simplify macro handling in tclOO*Decls.h, just as already done in "novem" [0c37ab8944], itcl*Decls.h and tdbc*Decls.h. 
This doesn't change the way symbols are exported. This simplifications were already present in the Tcl 8.6.2 headers, but those were buggy when tclOO was linked in statically without using stubs.
Merge core-8-5-branch (New tests covering INPUT_NEED_NL flag handling. One exposes a bug.)
Fix [2f7cbd01c3]: tcl8.6.1 fails to build on FreeBSD 10.0
Added comments raising questions about possible updates to channel
drivers on Windows.
Implementation of [b42b208ba4]: file attributes -readonly on Cygwin. For completeness, implemented -archive, -hidden and -system as well.
Only write back file attributes if any of them really changed.
Implement RFE [b42b208ba4]: file attributes -readonly (and -archive, -hidden, -system) on Cygwin.
New test iortrans-4.8.1 exposes segfault bug [721ec69271].
Test iogt-2.4 is another segfault demo for [721ec69271].
Test iocmd-23.11 demos another segfault.
Merge minimal fix for iocmd-23.11.
Note that top channel regeneration is removed, so that Preserve/Release
call pairs are sure to operate on the same pointers.  Other bug fixes
may need to change that.
Add missing @TCL_LIB_FLAG@ to tcl.pc.in (derived from ticket [5bcb5026ad])
Set return message in close if a flush error is reported (which may be an error from a background flush)
Merge-mark: Those two test-cases will arrive in trunk as soon as branch [http://core.tcl.tk/tcl/timeline?r=bug-13d3af3ad5|bug-13d3af3ad5] is merged.
Provide full Tcl patchlevel to tcl.pc and move private libs to "Libs.private". 
Record the fact that Tcl 8.6 requires Zlib 1.2.3 as a minimum. 
Supply both the shared library and the stub library to "Libs": Only one of them will actually be linked in, depending on whether -DUSE_TCL_STUBS is defined or not.
Fix bug [e663138a06]: Test failures in "string is"
[792641f95b]: Normalized win32 paths should never contain backslash.
Fix [3118489] for Windows only: NUL in filenames. This allows various characters to be used in win32 filenames which are normally invalid, as described here: [http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars]. The Cygwin shell can handle those same filenames as well. In other shells (cmd.exe/mSys) or on the Windows desktop the filenames will look strange, but that's all.
Fix [3118489]: NUL in filenames, now fixed for both Windows and UNIX. 
For consistancy, any NUL character in a filename prevents the native filesystem to generate a native file representation for it. Other filesystems than the native one may still accept it, but it's not recommended.
[e663138a06] Fix the new INST_NUM_TYPE instruction so that the boundary
cases of [string is] on integral values are computed right.  Code is now
correct, though still suffers from a large amount of ugly.