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 gvanrossum
Recipients
Date 2002-11-14.17:28:20
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=6380

Michael, can you checking some of this in as separate pieces?

The __module__ relaxation should go in first, and marked as
backport candidate.

The __name__ fix is close, but I think it *should* be
allowed to put dots in the name (this is actually a feature
for old classes); instead of '.' I want a check that there
are no \0 bytes in the string (see set_name() in classobject.c).

I think the restrictions on __bases__ are sufficiently
thought out; with old-style classes, you can do much more
class switching:

>>> class C: pass
>>> class D: pass
>>> D.__bases__ = (C,)
>>> 

I'd like this to work for new-style classes too. It means
that __base__ has to change though.

There's a bug in set_mro(): it checks PyInstance_Check()
where it clearly means PyClass_Check(). Other than that I
think it's good to go. (Though this is the ultimate weird
feature! What's the use case again?)

Hoping for unit tests,
History
Date User Action Args
2007-08-23 15:18:03adminlinkissue635933 messages
2007-08-23 15:18:03admincreate