cpython/Objects
Barry Warsaw f16951cffe abstract_get_bases(): Clarify exactly what the return values and
states can be for this function, and ensure that only AttributeErrors
are masked.  Any other exception raised via the equivalent of
getattr(cls, '__bases__') should be propagated up.

abstract_issubclass(): If abstract_get_bases() returns NULL, we must
call PyErr_Occurred() to see if an exception is being propagated, and
return -1 or 0 as appropriate.  This is the specific fix for a problem
whereby if getattr(derived, '__bases__') raised an exception, an
"undetected error" would occur (under a debug build).  This nasty
situation was uncovered when writing a security proxy extension type
for the Zope3 project, where the security proxy raised a Forbidden
exception on getattr of __bases__.

PyObject_IsInstance(), PyObject_IsSubclass(): After both calls to
abstract_get_bases(), where we're setting the TypeError if the return
value is NULL, we must first check to see if an exception occurred,
and /not/ mask an existing exception.

Neil Schemenauer should double check that these changes don't break
his ExtensionClass examples (there aren't any test cases for those
examples and abstract_get_bases() was added by him in response to
problems with ExtensionClass).  Neil, please add test cases if
possible!

I belive this is a bug fix candidate for Python 2.2.2.
2002-04-23 22:45:44 +00:00
..
.cvsignore Ignore a bunch of generated files. 2000-05-02 18:34:30 +00:00
abstract.c abstract_get_bases(): Clarify exactly what the return values and 2002-04-23 22:45:44 +00:00
boolobject.c As Neal pointed out, bool_print was an order of magnitude too complex. 2002-04-04 01:00:42 +00:00
bufferobject.c Remove the CACHE_HASH and INTERN_STRINGS preprocessor symbols. 2002-03-29 03:29:08 +00:00
cellobject.c Use new GC API. 2001-08-29 23:54:21 +00:00
classobject.c Be smarter about clearing the weakref lists for instances, instance methods, 2001-10-26 17:56:51 +00:00
cobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
complexobject.c Deprecate % as well. The message for deprecation of //, % and divmod 2002-04-15 12:39:12 +00:00
descrobject.c Fold long lines. (Walter, please take note! :-) 2002-04-13 14:06:36 +00:00
dictobject.c Add Raymond Hettinger's d.pop(). See SF patch 539949. 2002-04-12 15:11:59 +00:00
fileobject.c Py_UniversalNewlineFread(): small speed boost on non-Windows boxes. 2002-04-21 18:15:20 +00:00
floatobject.c SF bug 525705: [2.2] underflow raise OverflowException. 2002-03-09 04:58:24 +00:00
frameobject.c Fix SF bug #505315: Make free and cell vars show up consistently in locals(). 2002-04-20 04:46:55 +00:00
funcobject.c PyObject_Del can now be used as a function designator. 2002-04-12 02:44:10 +00:00
intobject.c Add the 'bool' type and its values 'False' and 'True', as described in 2002-04-03 22:41:51 +00:00
iterobject.c Re-enable GC of iter objects. 2002-03-18 20:43:51 +00:00
listobject.c PyObject_GC_Del can now be used as a function designator. 2002-04-12 02:44:22 +00:00
longobject.c Clarify return value of PyLong_AsLongLong(). 2002-04-23 20:01:20 +00:00
methodobject.c Introduce two new flag bits that can be set in a PyMethodDef method 2002-03-28 05:33:33 +00:00
moduleobject.c PyObject_GC_Del can now be used as a function designator. 2002-04-12 02:44:22 +00:00
object.c First stab at rationalizing the PyMem_ API. Mixing PyObject_xyz with 2002-04-12 07:22:56 +00:00
obmalloc.c _PyObject_DebugMallocStats(): Added some potentially expensive internal 2002-04-18 22:25:03 +00:00
rangeobject.c Remove PyMalloc_New and PyMalloc_Del. 2002-04-12 02:44:55 +00:00
sliceobject.c Remove PyMalloc_New and PyMalloc_Del. 2002-04-12 03:05:37 +00:00
stringobject.c Apply patch diff.txt from SF feature request 2002-04-22 17:42:37 +00:00
structseq.c Remove PyMalloc_New and PyMalloc_Del. 2002-04-12 03:05:37 +00:00
tupleobject.c PyObject_GC_Del can now be used as a function designator. 2002-04-12 03:05:52 +00:00
typeobject.c type_get_doc(): Squash compiler wng about incompatible ptr types. 2002-04-18 04:12:28 +00:00
unicodectype.c removed "register const" from scalar arguments to the unicode 2001-06-27 22:08:26 +00:00
unicodeobject.c unicode_memchr(): Squashed gratuitous int-vs-size_t mismatch (which 2002-04-22 19:00:10 +00:00
unicodetype_db.h forgot to check in the new makeunicodedata.py script 2001-01-21 17:01:31 +00:00
weakrefobject.c Remove weakref free list. This has the side effect of fixing a memory 2002-03-27 15:18:21 +00:00
xxobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00