summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2010-09-04 18:24:04 (GMT)
committerBrett Cannon <bcannon@gmail.com>2010-09-04 18:24:04 (GMT)
commitef0e6c3b0485e83444b15c07f9cb1d905203791a (patch)
tree60c853299db07d4639f9c379ef5849b28be3d2d9
parentd6399d2d19ef665a2893089be12e2214f73b643b (diff)
downloadcpython-ef0e6c3b0485e83444b15c07f9cb1d905203791a.zip
cpython-ef0e6c3b0485e83444b15c07f9cb1d905203791a.tar.gz
cpython-ef0e6c3b0485e83444b15c07f9cb1d905203791a.tar.bz2
_warnings exposed two variables with the name 'default_action' and
'once_registry'. This is bad as the warnings module had variables named 'defaultaction' and 'onceregistry' which are what people should be looking at (technically those variables shouldn't be mucked with as they are undocumented, but we all know better than to believe that isn't happening). So the variables from _warnings have been renamed to come off as private and to avoid confusion over what variable should be used. Closes issue #9766. Thanks to Antoine Pitrou for the discovery.
-rw-r--r--Lib/warnings.py6
-rw-r--r--Misc/NEWS3
-rw-r--r--Python/_warnings.c4
3 files changed, 8 insertions, 5 deletions
diff --git a/Lib/warnings.py b/Lib/warnings.py
index ec835b1..a81aab3 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -357,10 +357,10 @@ class catch_warnings(object):
# If either if the compiled regexs are None, match anything.
_warnings_defaults = False
try:
- from _warnings import (filters, default_action, once_registry,
+ from _warnings import (filters, _defaultaction, _onceregistry,
warn, warn_explicit)
- defaultaction = default_action
- onceregistry = once_registry
+ defaultaction = _defaultaction
+ onceregistry = _onceregistry
_warnings_defaults = True
except ImportError:
filters = []
diff --git a/Misc/NEWS b/Misc/NEWS
index 4673e02..d7976bc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@ What's New in Python 3.2 Alpha 2?
Core and Builtins
-----------------
+- Issue #9766: Rename poorly named variables exposed by _warnings to prevent
+ confusion with the proper variables names from 'warnings' itself.
+
- Issue #9212: dict_keys and dict_items now provide the isdisjoint()
method, to conform to the Set ABC. Patch by Daniel Urban.
diff --git a/Python/_warnings.c b/Python/_warnings.c
index 63bcbff..a4e9d48 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -945,13 +945,13 @@ _PyWarnings_Init(void)
if (_once_registry == NULL)
return NULL;
Py_INCREF(_once_registry);
- if (PyModule_AddObject(m, "once_registry", _once_registry) < 0)
+ if (PyModule_AddObject(m, "_onceregistry", _once_registry) < 0)
return NULL;
_default_action = PyUnicode_FromString("default");
if (_default_action == NULL)
return NULL;
- if (PyModule_AddObject(m, "default_action", _default_action) < 0)
+ if (PyModule_AddObject(m, "_defaultaction", _default_action) < 0)
return NULL;
return m;
}