Mailing List Archive

CVS: python/dist/src/Objects moduleobject.c,2.31.6.1,2.31.6.2
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv3206

Modified Files:
Tag: descr-branch
moduleobject.c
Log Message:
Make modules subclassable. This is interesting because they already
have their own __dict__.


Index: moduleobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/moduleobject.c,v
retrieving revision 2.31.6.1
retrieving revision 2.31.6.2
diff -C2 -r2.31.6.1 -r2.31.6.2
*** moduleobject.c 2001/05/11 20:14:07 2.31.6.1
--- moduleobject.c 2001/05/12 20:40:47 2.31.6.2
***************
*** 135,138 ****
--- 135,149 ----
/* Methods */

+ static PyObject *
+ module_construct(PyModuleObject *m, PyObject *args, PyObject *kw)
+ {
+ if (m == NULL)
+ return PyModule_New("?");
+ m->md_dict = PyDict_New();
+ if (m->md_dict == NULL)
+ return NULL;
+ return (PyObject *)m;
+ }
+
static void
module_dealloc(PyModuleObject *m)
***************
*** 215,219 ****
0, /* tp_descr_get */
0, /* tp_descr_set */
! 0, /* tp_construct */
offsetof(PyModuleObject, md_dict), /* tp_dictoffset */
};
--- 226,230 ----
0, /* tp_descr_get */
0, /* tp_descr_set */
! (ternaryfunc)module_construct, /* tp_construct */
offsetof(PyModuleObject, md_dict), /* tp_dictoffset */
};