Kaydet (Commit) ef0e6c3b authored tarafından Brett Cannon's avatar Brett Cannon

_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.
üst d6399d2d
......@@ -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 = []
......
......@@ -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.
......
......@@ -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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment