[Python-checkins] CVS: python/dist/src/Objects moduleobject.c,2.31.6.1,2.31.6.2

Guido van Rossum gvanrossum@users.sourceforge.net
Sat, 12 May 2001 13:40:49 -0700


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 */
  };