[Python-checkins] r54270 - in python/trunk: Misc/NEWS Objects/typeobject.c
ziga.seilnacht
python-checkins at python.org
Sun Mar 11 16:54:59 CET 2007
Author: ziga.seilnacht
Date: Sun Mar 11 16:54:54 2007
New Revision: 54270
Modified:
python/trunk/Misc/NEWS
python/trunk/Objects/typeobject.c
Log:
Patch #1675981: remove unreachable code from type.__new__() method.
__dict__ and __weakref__ are removed from the slots tuple earlier
in the code, in the loop that mangles slot names. Will backport.
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS (original)
+++ python/trunk/Misc/NEWS Sun Mar 11 16:54:54 2007
@@ -12,6 +12,8 @@
Core and builtins
-----------------
+- Patch #1675981: remove unreachable code from ``type.__new__()`` method.
+
- Patch #1491866: change the complex() constructor to allow parthensized
forms. This means complex(repr(x)) now works instead of raising a
ValueError.
Modified: python/trunk/Objects/typeobject.c
==============================================================================
--- python/trunk/Objects/typeobject.c (original)
+++ python/trunk/Objects/typeobject.c Sun Mar 11 16:54:54 2007
@@ -1997,13 +1997,11 @@
PyTuple_GET_ITEM(slots, i));
mp->type = T_OBJECT_EX;
mp->offset = slotoffset;
- if (base->tp_weaklistoffset == 0 &&
- strcmp(mp->name, "__weakref__") == 0) {
- add_weak++;
- mp->type = T_OBJECT;
- mp->flags = READONLY;
- type->tp_weaklistoffset = slotoffset;
- }
+
+ /* __dict__ and __weakref__ are already filtered out */
+ assert(strcmp(mp->name, "__dict__") != 0);
+ assert(strcmp(mp->name, "__weakref__") != 0);
+
slotoffset += sizeof(PyObject *);
}
}
More information about the Python-checkins
mailing list