diff -r 3cf2990d19ab Modules/_tkinter.c --- a/Modules/_tkinter.c Mon Apr 20 18:20:27 2015 -0400 +++ b/Modules/_tkinter.c Tue Apr 21 11:45:29 2015 +0300 @@ -80,7 +80,7 @@ Copyright (C) 1994 Steen Lumholt. #define CONST #endif -#if TK_VERSION_HEX < 0x08030102 +#if TK_HEX_VERSION < 0x08030201 #error "Tk older than 8.3.1 not supported" #endif @@ -96,7 +96,8 @@ Copyright (C) 1994 Steen Lumholt. #error "unsupported Tcl configuration" #endif -#if TK_VERSION_HEX >= 0x08050002 +#if TK_HEX_VERSION >= 0x08050208 && TK_HEX_VERSION < 0x08060000 || \ + TK_HEX_VERSION >= 0x08060200 #define HAVE_LIBTOMMAMTH #include #endif @@ -1405,7 +1406,7 @@ FromObj(PyObject* tkapp, Tcl_Obj *value) #endif } -#if TK_VERSION_HEX >= 0x08050000 +#if TK_HEX_VERSION >= 0x08050000 if (app->BooleanType == NULL && strcmp(value->typePtr->name, "booleanString") == 0) { /* booleanString type is not registered in Tcl */ diff -r 3cf2990d19ab Modules/tkinter.h --- a/Modules/tkinter.h Mon Apr 20 18:20:27 2015 -0400 +++ b/Modules/tkinter.h Tue Apr 21 11:45:29 2015 +0300 @@ -4,24 +4,32 @@ /* This header is used to share some macros between _tkinter.c and * tkappinit.c. * Be sure to include tk.h before including this header so - * TK_VERSION_HEX is properly defined. */ + * TK_HEX_VERSION is properly defined. */ /* TK_RELEASE_LEVEL is always one of the following: - * TCL_ALPHA_RELEASE 0 + * TCL_ALPHA_RELEASE 0 * TCL_BETA_RELEASE 1 * TCL_FINAL_RELEASE 2 */ +#define TK_HEX_VERSION ((TK_MAJOR_VERSION << 24) | \ + (TK_MINOR_VERSION << 16) | \ + (TK_RELEASE_LEVEL << 8) | \ + (TK_RELEASE_SERIAL << 0)) + +/* TK_VERSION_HEX packs fields in wrong order, not suitable for comparing of + * non-final releases. Left for backward compatibility. + */ #define TK_VERSION_HEX ((TK_MAJOR_VERSION << 24) | \ - (TK_MINOR_VERSION << 16) | \ - (TK_RELEASE_SERIAL << 8) | \ - (TK_RELEASE_LEVEL << 0)) + (TK_MINOR_VERSION << 16) | \ + (TK_RELEASE_SERIAL << 8) | \ + (TK_RELEASE_LEVEL << 0)) /* Protect Tk 8.4.13 and older from a deadlock that happens when trying * to load tk after a failed attempt. */ -#if TK_VERSION_HEX < 0x08040e02 +#if TK_HEX_VERSION < 0x0804020e #define TKINTER_PROTECT_LOADTK #define TKINTER_LOADTK_ERRMSG \ - "Calling Tk_Init again after a previous call failed might deadlock" + "Calling Tk_Init again after a previous call failed might deadlock" #endif #endif /* !TKINTER_H */