PEP 3123: Provide forward compatibility with Python 3.0, while keeping

backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
This commit is contained in:
Martin v. Löwis 2007-07-21 06:55:02 +00:00
parent b1994b4a5d
commit 6819210b9e
129 changed files with 1090 additions and 1250 deletions

View file

@ -166,8 +166,7 @@ static PyObject *parser_getattr(PyObject *self, char *name);
static
PyTypeObject PyST_Type = {
PyObject_HEAD_INIT(NULL)
0,
PyVarObject_HEAD_INIT(NULL, 0)
"parser.st", /* tp_name */
(int) sizeof(PyST_Object), /* tp_basicsize */
0, /* tp_itemsize */
@ -694,7 +693,7 @@ build_node_children(PyObject *tuple, node *root, int *line_num)
PyErr_Format(parser_error,
"second item in terminal node must be a string,"
" found %s",
temp->ob_type->tp_name);
Py_Type(temp)->tp_name);
Py_DECREF(temp);
return 0;
}
@ -707,7 +706,7 @@ build_node_children(PyObject *tuple, node *root, int *line_num)
PyErr_Format(parser_error,
"third item in terminal node must be an"
" integer, found %s",
temp->ob_type->tp_name);
Py_Type(temp)->tp_name);
Py_DECREF(o);
Py_DECREF(temp);
return 0;
@ -3233,7 +3232,7 @@ initparser(void)
{
PyObject *module, *copyreg;
PyST_Type.ob_type = &PyType_Type;
Py_Type(&PyST_Type) = &PyType_Type;
module = Py_InitModule("parser", parser_functions);
if (module == NULL)
return;