summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2002-06-04 05:58:34 (GMT)
committerGuido van Rossum <guido@python.org>2002-06-04 05:58:34 (GMT)
commit2e4e02620bc118c57270519c7d5f3e76996b3841 (patch)
treee359f0926879c699fcbb5ca01b726b5a359c7cf2
parentc3a787e090dce76149ae86d70d4fecea3c285a40 (diff)
downloadcpython-2e4e02620bc118c57270519c7d5f3e76996b3841.zip
cpython-2e4e02620bc118c57270519c7d5f3e76996b3841.tar.gz
cpython-2e4e02620bc118c57270519c7d5f3e76996b3841.tar.bz2
Surprising fix for SF bug 563060: module can be used as base class.
Change the module constructor (module_init) to have the signature __init__(name:str, doc=None); this prevents the call from type_new() to succeed. While we're at it, prevent repeated calling of module_init for the same module from leaking the dict, changing the semantics so that __dict__ is only initialized if NULL. Also adding a unittest, test_module.py. This is an incompatibility with 2.2, if anybody was instantiating the module class before, their argument list was probably empty; so this can't be backported to 2.2.x.
-rw-r--r--Misc/NEWS7
1 files changed, 7 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index c3224da..c90dd7f 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -6,6 +6,13 @@ Type/class unification and new-style classes
Core and builtins
+- The constructor for the module type now requires a name argument and
+ takes an optional docstring argument. Previously, this constructor
+ ignored its arguments. As a consequence, deriving a class from a
+ module (not from the module type) is now illegal; previously this
+ created an unnamed module, just like invoking the module type did.
+ [SF bug 563060]
+
- A new warning PendingDeprecationWarning was added to provide
direction on features which are in the process of being deprecated.
The warning will not be printed by default. To see the pending