[Python-checkins] r55017 - peps/trunk/pep-3123.txt
martin.v.loewis
python-checkins at python.org
Sun Apr 29 15:46:08 CEST 2007
Author: martin.v.loewis
Date: Sun Apr 29 15:46:08 2007
New Revision: 55017
Modified:
peps/trunk/pep-3123.txt
Log:
Add Brett's suggested changes.
Modified: peps/trunk/pep-3123.txt
==============================================================================
--- peps/trunk/pep-3123.txt (original)
+++ peps/trunk/pep-3123.txt Sun Apr 29 15:46:08 2007
@@ -45,8 +45,8 @@
The problem here is that the storage is both accessed as
if it where struct PyObject, and as struct FooObject.
-Historically, compilers did not cause any problems with this
-code. However, modern compiler use that clause as an
+Historically, compilers did not have any problems with this
+code. However, modern compilers use that clause as an
optimization opportunity, finding that f->ob_refcnt and
o->ob_refcnt cannot possibly refer to the same memory, and
that therefore the function should return 0, without having
@@ -110,7 +110,18 @@
#define Py_Type(o) (((PyObject*)o)->ob_type)
-is added.
+is added. E.g. the code blocks::
+
+ #define PyList_CheckExact(op) ((op)->ob_type == &PyList_Type)
+
+ return func->ob_type->tp_name;
+
+needs to be changed to::
+
+ #define PyList_CheckExact(op) (Py_Type(op) == &PyList_Type)
+
+ return Py_Type(func)->tp_name;
+
Compatibility with Python 2.6
=============================
More information about the Python-checkins
mailing list