This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author daniel.urban
Recipients amaury.forgeotdarc, benjamin.peterson, daniel.urban, georg.brandl, gvanrossum, ncoghlan, pwerneck, rodsenra, terry.reedy
Date 2011-04-21.22:00:36
SpamBayes Score 2.6215052e-06
Marked as misclassified No
Message-id <1303423237.86.0.90711424699.issue1294232@psf.upfronthosting.co.za>
In-reply-to
Content
I'm attaching the updated patch.  Changes:
- Special casing objects we can't do the metaclass computation for.
- Tests for these.
- Adding tests for the order of __new__ calls.

The special case isn't just checking if the object is a class, but instead checking if "isinstance(obj, type) and issubclass(obj, type)", because I think only these are the objects we can do the metaclass calculation for.  All other objects (including classes which are not "real" metaclasses (they do not derive from type) and functions) are used "as is", without any metaclass calculation.  (It's late here, so it is quite possible that I've overlooked someting in this part.)

(I'm using "hg extdiff" because the normal hg diff results in a longer and harder to read patch, but if it's needed I will send a normal diff.)
History
Date User Action Args
2011-04-21 22:00:38daniel.urbansetrecipients: + daniel.urban, gvanrossum, georg.brandl, terry.reedy, amaury.forgeotdarc, ncoghlan, rodsenra, pwerneck, benjamin.peterson
2011-04-21 22:00:37daniel.urbansetmessageid: <1303423237.86.0.90711424699.issue1294232@psf.upfronthosting.co.za>
2011-04-21 22:00:36daniel.urbanlinkissue1294232 messages
2011-04-21 22:00:36daniel.urbancreate