PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 22d930b..07570f3 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -262,12 +262,12 @@
Tcl_ObjType *StringType;
} TkappObject;
-#define Tkapp_Check(v) ((v)->ob_type == &Tkapp_Type)
+#define Tkapp_Check(v) (Py_Type(v) == &Tkapp_Type)
#define Tkapp_Interp(v) (((TkappObject *) (v))->interp)
#define Tkapp_Result(v) Tcl_GetStringResult(Tkapp_Interp(v))
#define DEBUG_REFCNT(v) (printf("DEBUG: id=%p, refcnt=%i\n", \
-(void *) v, ((PyObject *) v)->ob_refcnt))
+(void *) v, Py_Refcnt(v)))
@@ -2420,8 +2420,7 @@
static PyTypeObject Tktt_Type =
{
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size */
+ PyVarObject_HEAD_INIT(NULL, 0)
"tktimertoken", /*tp_name */
sizeof(TkttObject), /*tp_basicsize */
0, /*tp_itemsize */
@@ -2765,8 +2764,7 @@
static PyTypeObject Tkapp_Type =
{
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size */
+ PyVarObject_HEAD_INIT(NULL, 0)
"tkapp", /*tp_name */
sizeof(TkappObject), /*tp_basicsize */
0, /*tp_itemsize */
@@ -3105,7 +3103,7 @@
{
PyObject *m, *d;
- Tkapp_Type.ob_type = &PyType_Type;
+ Py_Type(&Tkapp_Type) = &PyType_Type;
#ifdef WITH_THREAD
tcl_lock = PyThread_allocate_lock();
@@ -3133,10 +3131,10 @@
PyDict_SetItemString(d, "TkappType", (PyObject *)&Tkapp_Type);
- Tktt_Type.ob_type = &PyType_Type;
+ Py_Type(&Tktt_Type) = &PyType_Type;
PyDict_SetItemString(d, "TkttType", (PyObject *)&Tktt_Type);
- PyTclObject_Type.ob_type = &PyType_Type;
+ Py_Type(&PyTclObject_Type) = &PyType_Type;
PyDict_SetItemString(d, "Tcl_Obj", (PyObject *)&PyTclObject_Type);
#ifdef TK_AQUA