E&S CVS Commit: PEAK - Added a workaround for Python 2.2 bug #575229, which manifests when a

pje at eby-sarna.com pje at eby-sarna.com
Sun Oct 6 10:53:01 EDT 2002


Module Name:	PEAK
Committed By:	pje
Date:		Sun Oct  6 14:52:54 UTC 2002

Modified Files:
	PEAK/src/peak/metamodels/xmi: Reading.py

Log Message:
Added a workaround for Python 2.2 bug #575229, which manifests when a
class derives from two new-style classes with different C-level layouts.
The bug can be demonstrated with this four-line coredump:

class ActiveDescriptor(object): pass
class OnceClass(ActiveDescriptor,type): pass
class C(object): __metaclass__ = OnceClass
print C.__weakref__

Unfortunately, PEAK has exactly this inheritance structure, and it
manifests when the introspection code in peak.metamodels.xmi.Reading
inspects the '__weakref__' of a class whose metaclass is derived from
OnceClass.


To view diffs of this commit, you can use the following URL(s):
http://cvs.eby-sarna.com/PEAK/src/peak/metamodels/xmi/Reading.py.diff?r1=1.26&r2=1.27

To generate a diff of this commit:
cvs rdiff -r1.26 -r1.27 PEAK/src/peak/metamodels/xmi/Reading.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




More information about the source-changes mailing list