gh-130796: Undeprecate locale.getdefaultlocale() (#143069)

This commit is contained in:
Victor Stinner 2025-12-23 16:31:10 +01:00 committed by GitHub
parent c4ab024530
commit 6536fab194
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 6 additions and 21 deletions

View File

@ -33,16 +33,6 @@ Pending removal in Python 3.15
* ``load_module()`` method: use ``exec_module()`` instead.
* :class:`locale`:
* The :func:`~locale.getdefaultlocale` function
has been deprecated since Python 3.11.
Its removal was originally planned for Python 3.13 (:gh:`90817`),
but has been postponed to Python 3.15.
Use :func:`~locale.getlocale`, :func:`~locale.setlocale`,
and :func:`~locale.getencoding` instead.
(Contributed by Hugo van Kemenade in :gh:`111187`.)
* :mod:`pathlib`:
* :meth:`!.PurePath.is_reserved`

View File

@ -370,8 +370,6 @@ The :mod:`locale` module defines the following exception and functions:
determined.
The "C" locale is represented as ``(None, None)``.
.. deprecated-removed:: 3.11 3.15
.. function:: getlocale(category=LC_CTYPE)

View File

@ -562,6 +562,9 @@ locale
but included in the language code.
(Contributed by Serhiy Storchaka in :gh:`137729`.)
* Undeprecate the :func:`locale.getdefaultlocale` function.
(Contributed by Victor Stinner in :gh:`130796`.)
math
----

View File

@ -559,12 +559,6 @@ def getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')):
"""
import warnings
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)

View File

@ -1,7 +1,6 @@
from decimal import Decimal
from test import support
from test.support import cpython_only, verbose, is_android, linked_to_musl, os_helper
from test.support.warnings_helper import check_warnings
from test.support.import_helper import ensure_lazy_imports, import_fresh_module
from unittest import mock
import unittest
@ -654,8 +653,7 @@ class TestMiscellaneous(unittest.TestCase):
env.unset('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE')
env.set('LC_CTYPE', 'UTF-8')
with check_warnings(('', DeprecationWarning)):
self.assertEqual(locale.getdefaultlocale(), (None, 'UTF-8'))
self.assertEqual(locale.getdefaultlocale(), (None, 'UTF-8'))
finally:
if orig_getlocale is not None:
_locale._getdefaultlocale = orig_getlocale

View File

@ -0,0 +1,2 @@
Undeprecate the :func:`locale.getdefaultlocale` function.
Patch by Victor Stinner.