[Python-checkins] cpython (3.2): initialize more global type objects (closes #16369)

benjamin.peterson python-checkins at python.org
Wed Oct 31 04:34:46 CET 2012


http://hg.python.org/cpython/rev/eec0cafe171d
changeset:   80072:eec0cafe171d
branch:      3.2
parent:      80054:b9e14b89199b
user:        Benjamin Peterson <benjamin at python.org>
date:        Tue Oct 30 23:21:10 2012 -0400
summary:
  initialize more global type objects (closes #16369)

files:
  Modules/symtablemodule.c |   3 +++
  Objects/object.c         |  24 ++++++++++++++++++++++++
  Objects/unicodeobject.c  |   6 ++++++
  3 files changed, 33 insertions(+), 0 deletions(-)


diff --git a/Modules/symtablemodule.c b/Modules/symtablemodule.c
--- a/Modules/symtablemodule.c
+++ b/Modules/symtablemodule.c
@@ -63,6 +63,9 @@
 {
     PyObject *m;
 
+    if (PyType_Ready(&PySTEntry_Type) < 0)
+        return NULL;
+
     m = PyModule_Create(&symtablemodule);
     if (m == NULL)
         return NULL;
diff --git a/Objects/object.c b/Objects/object.c
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -1644,6 +1644,30 @@
 
     if (PyType_Ready(&PyZip_Type) < 0)
         Py_FatalError("Can't initialize zip type");
+
+    if (PyType_Ready(&PyCapsule_Type) < 0)
+        Py_FatalError("Can't initialize capsule type");
+
+    if (PyType_Ready(&PyLongRangeIter_Type) < 0)
+        Py_FatalError("Can't initialize long range iterator type");
+
+    if (PyType_Ready(&PyCell_Type) < 0)
+        Py_FatalError("Can't initialize cell type");
+
+    if (PyType_Ready(&PyInstanceMethod_Type) < 0)
+        Py_FatalError("Can't initialize instance method type");
+
+    if (PyType_Ready(&PyClassMethodDescr_Type) < 0)
+        Py_FatalError("Can't initialize class method descr type");
+
+    if (PyType_Ready(&PyMethodDescr_Type) < 0)
+        Py_FatalError("Can't initialize method descr type");
+
+    if (PyType_Ready(&PyCallIter_Type) < 0)
+        Py_FatalError("Can't initialize call iter type");
+
+    if (PyType_Ready(&PySeqIter_Type) < 0)
+        Py_FatalError("Can't initialize sequence iterator type");
 }
 
 
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -10079,6 +10079,12 @@
         );
 
     PyType_Ready(&EncodingMapType);
+
+    if (PyType_Ready(&PyFieldNameIter_Type) < 0)
+        Py_FatalError("Can't initialize field name iterator type");
+
+    if (PyType_Ready(&PyFormatterIter_Type) < 0)
+        Py_FatalError("Can't initialize formatter iter type");
 }
 
 /* Finalize the Unicode implementation */

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list