Index: _tkinter.c =================================================================== --- _tkinter.c (revision 67233) +++ _tkinter.c (working copy) @@ -844,6 +844,12 @@ return 0; } +static int +PyTclObject_nonzero(PyTclObject *self) +{ + return Tcl_GetCharLength(self->value) ? 1 : 0; +} + PyDoc_STRVAR(get_typename__doc__, "name of the Tcl type"); static PyObject* @@ -868,6 +874,20 @@ {0} }; +static PyNumberMethods PyTclObject_as_number = { + 0, /* nb_add */ + 0, /* nb_subtract */ + 0, /* nb_muliply */ + 0, /* nb_divide */ + 0, /* nb_remainder */ + 0, /* nb_divmod */ + 0, /* nb_power */ + 0, /* nb_negative */ + 0, /* nb_positive */ + 0, /* nb_absolute */ + (inquiry)PyTclObject_nonzero /* nb_nonzero */ +}; + statichere PyTypeObject PyTclObject_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ @@ -881,7 +901,7 @@ 0, /*tp_setattr*/ (cmpfunc)PyTclObject_cmp, /*tp_compare*/ (reprfunc)PyTclObject_repr, /*tp_repr*/ - 0, /*tp_as_number*/ + &PyTclObject_as_number, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/