summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/patchlevel.h2
-rw-r--r--Misc/NEWS24
-rw-r--r--Objects/typeobject.c22
3 files changed, 28 insertions, 20 deletions
diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index 8a8f351..f81c339 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -23,7 +23,7 @@
#define PY_RELEASE_SERIAL 2
/* Version as a string */
-#define PY_VERSION "3.3.0a2"
+#define PY_VERSION "3.3.0a2+"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
diff --git a/Misc/NEWS b/Misc/NEWS
index fa3660c..b38f104 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -2,10 +2,10 @@
Python News
+++++++++++
-What's New in Python 3.3.0 Alpha 2?
+What's New in Python 3.3.0 Alpha 3?
===================================
-*Release date: 01-Apr-2012*
+*Release date: XXXX-XX-XX*
Core and Builtins
-----------------
@@ -13,6 +13,22 @@ Core and Builtins
- Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch
by Suman Saha.
+Library
+-------
+
+- Issue #14151: Raise a ValueError, not a NameError, when trying to create
+ a multiprocessing Client or Listener with an AF_PIPE type address under
+ non-Windows platforms. Patch by Popa Claudiu.
+
+
+What's New in Python 3.3.0 Alpha 2?
+===================================
+
+*Release date: 01-Apr-2012*
+
+Core and Builtins
+-----------------
+
- Issue #1683368: object.__new__ and object.__init__ raise a TypeError if they
are passed arguments and their complementary method is not overridden.
@@ -40,10 +56,6 @@ Core and Builtins
Library
-------
-- Issue #14151: Raise a ValueError, not a NameError, when trying to create
- a multiprocessing Client or Listener with an AF_PIPE type address under
- non-Windows platforms. Patch by Popa Claudiu.
-
- Issue #14300: Under Windows, sockets created using socket.dup() now allow
overlapped I/O. Patch by sbt.
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index a4414a9..4b3c63c 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -490,26 +490,22 @@ type_set_bases(PyTypeObject *type, PyObject *value, void *context)
for (i = 0; i < PyTuple_GET_SIZE(value); i++) {
ob = PyTuple_GET_ITEM(value, i);
if (!PyType_Check(ob)) {
- PyErr_Format(
- PyExc_TypeError,
- "%s.__bases__ must be tuple of classes, not '%s'",
- type->tp_name, Py_TYPE(ob)->tp_name);
- return -1;
+ PyErr_Format(PyExc_TypeError,
+ "%s.__bases__ must be tuple of classes, not '%s'",
+ type->tp_name, Py_TYPE(ob)->tp_name);
+ return -1;
}
- if (PyType_Check(ob)) {
- if (PyType_IsSubtype((PyTypeObject*)ob, type)) {
- PyErr_SetString(PyExc_TypeError,
- "a __bases__ item causes an inheritance cycle");
- return -1;
- }
+ if (PyType_IsSubtype((PyTypeObject*)ob, type)) {
+ PyErr_SetString(PyExc_TypeError,
+ "a __bases__ item causes an inheritance cycle");
+ return -1;
}
}
new_base = best_base(value);
- if (!new_base) {
+ if (!new_base)
return -1;
- }
if (!compatible_for_assignment(type->tp_base, new_base, "__bases__"))
return -1;