[3.12] gh-111187: Postpone removal version for locale.getdefaultlocale() to 3.15 (GH-111188) (#111323)

This commit is contained in:
Hugo van Kemenade 2023-10-27 16:08:45 +03:00 committed by GitHub
parent 307ca78d7f
commit 7d22e85550
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 21 additions and 7 deletions

View file

@ -303,7 +303,7 @@ The :mod:`locale` module defines the following exception and functions:
*language code* and *encoding* may be ``None`` if their values cannot be
determined.
.. deprecated-removed:: 3.11 3.13
.. deprecated-removed:: 3.11 3.15
.. function:: getlocale(category=LC_CTYPE)

View file

@ -1798,7 +1798,7 @@ Standard Library
* :func:`importlib.resources.path`
* The :func:`locale.getdefaultlocale` function is deprecated and will be
removed in Python 3.13. Use :func:`locale.setlocale`,
removed in Python 3.15. Use :func:`locale.setlocale`,
:func:`locale.getpreferredencoding(False) <locale.getpreferredencoding>` and
:func:`locale.getlocale` functions instead.
(Contributed by Victor Stinner in :gh:`90817`.)

View file

@ -1360,7 +1360,7 @@ Other modules:
APIs:
* :class:`!configparser.LegacyInterpolation` (:gh:`90765`)
* :func:`locale.getdefaultlocale` (:gh:`90817`)
* ``locale.resetlocale()`` (:gh:`90817`)
* :meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)
* :func:`!unittest.findTestCases` (:gh:`50096`)
* :func:`!unittest.getTestCaseNames` (:gh:`50096`)
@ -1429,6 +1429,17 @@ and will be removed in Python 3.14.
* The ``co_lnotab`` attribute of code objects.
Pending Removal in Python 3.15
------------------------------
The following APIs have been deprecated
and will be removed in Python 3.15.
APIs:
* :func:`locale.getdefaultlocale` (:gh:`90817`)
Pending Removal in Future Versions
----------------------------------

View file

@ -541,12 +541,14 @@ def getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')):
"""
import warnings
warnings.warn(
"Use setlocale(), getencoding() and getlocale() instead",
DeprecationWarning, stacklevel=2
)
warnings._deprecated(
"locale.getdefaultlocale",
"{name!r} is deprecated and slated for removal in Python {remove}. "
"Use setlocale(), getencoding() and getlocale() instead.",
remove=(3, 15))
return _getdefaultlocale(envvars)
def _getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')):
try:
# check if it's supported by the _locale module

View file

@ -0,0 +1 @@
Postpone removal version for locale.getdefaultlocale() to Python 3.15.