Ticket
http://core.tcl.tk/tk/info/9e31fd944934e269 introduces a series of rather huge
patches where the most prominent are
http://core.tcl.tk/tk/info/a9d7c4da2cb869e1 core-8-5-branch
http://core.tcl.tk/tk/info/8a96bfd047696f59 core-8-6-branch
which eliminate the X11 symbol None (and ControlMask) all through out the entire Tk
source tree. The reason seems to be according to the aforementioned ticket the latest
Windows SDK for causing problems when building tkinter due to adding structure fields
of the same name in some (new?, internal?) structs of Windows (which aren't in use by
Tcl and Tk today, anyway).
That is of course a *** POTENTIAL INCOMPATIBILITY *** affecting only Win32. All external
extensions now have to deal with POSIX vs. Win32 regarding the None symbol when used with
not unusual X11-isms. IMO this is bad practice.
Worse is, that simple, documented things like
XSetClipMask(display, gc, None);
now are written in all parts of the (otherwise canonical) Tk source code as
XSetClipMask(display, gc, 0);
which now needs extra brain cycles when reading the XSetClipMask(3) man page due to
keeping in mind that None happens to be defined to 0L.
And worst (at least for me) is, that this change happened out of the blue, without
a branch for testing and further review before being committed into critical branches.
Or should that stuff have needed even to be TIP'ed?