Author: Jan Nijtmans <firstname.lastname@example.org> State: Final Type: Project Vote: Done Created: 20-Nov-2017 Post-History: Tcl-Version: 8.7 Tcl-Branch: tip-487
Windows CE will be end-of-life in 2018, june 9 (See: here. This is still about half a year away, but it seems counter-productive to support Pre-XP Windows for a new minor Tcl release: It's unlikely that any Pre-XP Windows user would like to spend effort to upgrade Tcl from 8.6 to 8.7 on such a device. Tcl 8.6.8 and later will continue to support older Windows releases, this TIP only proposes to stop support for Tcl 8.7 and later.
Although the abstract says it all, the main change in Tcl is that it won't
startup anymore when
TclWinGetPlatformId() returns something else than
VER_PLATFORM_WIN32_NT (2). This allows
TclWinGetPlatformId() to be
implemented as a macro (but the stub entry will be kept for all future 8.x
releases). In Tcl 9.0,
TclWinGetPlatformId() will be removed completely.
For Tk 8.7, the same will be done:
TkWinGetPlatformId() will be
implemented as a macro, always returning
In Tk 9.0,
TkWinGetPlatformId() will be removed completely. It turns
out that Tk benefits a lot more from removal of pre-XP parts: Mainly
the XP theme engine (part of ttk), has a lot of runtime checks making
it work on pre-XP machines. All of those runtime checks can be removed.
This means that Tk 8.7 will no longer compile and run when uxtheme.dll
is not available on your system. Windows XP and later will be OK.
Originally, XP-support was suggested to be removed as well, but it turns out that it's too early to do that now and gives too little benefit. Since XP seems to be even more popular than Vista, support drop for both of those could be done at the same time in a future Tcl/Tk release. But that decision will be left up to another TIP.
This document has been placed in the public domain.