[Python-checkins] gh-104783: Remove locale.resetlocale() function (#104784)
vstinner
webhook-mailer at python.org
Tue Jun 6 08:55:57 EDT 2023
https://github.com/python/cpython/commit/0cb6b9b0db5df6b3f902e86eb3d4a1e504afb851
commit: 0cb6b9b0db5df6b3f902e86eb3d4a1e504afb851
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2023-06-06T14:55:50+02:00
summary:
gh-104783: Remove locale.resetlocale() function (#104784)
files:
A Misc/NEWS.d/next/Library/2023-05-23-04-01-27.gh-issue-104783.QyhIoq.rst
M Doc/library/locale.rst
M Doc/whatsnew/3.12.rst
M Doc/whatsnew/3.13.rst
M Lib/locale.py
diff --git a/Doc/library/locale.rst b/Doc/library/locale.rst
index f2abb3638a14..afd5677deac3 100644
--- a/Doc/library/locale.rst
+++ b/Doc/library/locale.rst
@@ -370,16 +370,6 @@ The :mod:`locale` module defines the following exception and functions:
encoding for the locale code just like :func:`setlocale`.
-.. function:: resetlocale(category=LC_ALL)
-
- Sets the locale for *category* to the default setting.
-
- The default setting is determined by calling :func:`getdefaultlocale`.
- *category* defaults to :const:`LC_ALL`.
-
- .. deprecated-removed:: 3.11 3.13
-
-
.. function:: strcoll(string1, string2)
Compares two strings according to the current :const:`LC_COLLATE` setting. As
diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst
index af62602a4009..7e7942550a79 100644
--- a/Doc/whatsnew/3.12.rst
+++ b/Doc/whatsnew/3.12.rst
@@ -1079,6 +1079,7 @@ 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`)
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index da6c8c978728..9cfccdeac787 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -306,6 +306,10 @@ Removed
added in Python 3.8 and the old macros were deprecated in Python 3.11.
(Contributed by Irit Katriel in :gh:`105111`.)
+* Remove ``locale.resetlocale()`` function deprecated in Python 3.11:
+ use ``locale.setlocale(locale.LC_ALL, "")`` instead.
+ (Contributed by Victor Stinner in :gh:`104783`.)
+
Porting to Python 3.13
======================
diff --git a/Lib/locale.py b/Lib/locale.py
index e94f0d1acbaa..019796730071 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -25,7 +25,7 @@
# Yuck: LC_MESSAGES is non-standard: can't tell whether it exists before
# trying the import. So __all__ is also fiddled at the end of the file.
__all__ = ["getlocale", "getdefaultlocale", "getpreferredencoding", "Error",
- "setlocale", "resetlocale", "localeconv", "strcoll", "strxfrm",
+ "setlocale", "localeconv", "strcoll", "strxfrm",
"str", "atof", "atoi", "format_string", "currency",
"normalize", "LC_CTYPE", "LC_COLLATE", "LC_TIME", "LC_MONETARY",
"LC_NUMERIC", "LC_ALL", "CHAR_MAX", "getencoding"]
@@ -612,26 +612,6 @@ def setlocale(category, locale=None):
locale = normalize(_build_localename(locale))
return _setlocale(category, locale)
-def resetlocale(category=LC_ALL):
-
- """ Sets the locale for category to the default setting.
-
- The default setting is determined by calling
- getdefaultlocale(). category defaults to LC_ALL.
-
- """
- import warnings
- warnings.warn(
- 'Use locale.setlocale(locale.LC_ALL, "") instead',
- DeprecationWarning, stacklevel=2
- )
-
- with warnings.catch_warnings():
- warnings.simplefilter('ignore', category=DeprecationWarning)
- loc = getdefaultlocale()
-
- _setlocale(category, _build_localename(loc))
-
try:
from _locale import getencoding
@@ -1729,17 +1709,6 @@ def _init_categories(categories=categories):
print(' Encoding: ', enc or '(undefined)')
print()
- print()
- print('Locale settings after calling resetlocale():')
- print('-'*72)
- resetlocale()
- for name,category in categories.items():
- print(name, '...')
- lang, enc = getlocale(category)
- print(' Language: ', lang or '(undefined)')
- print(' Encoding: ', enc or '(undefined)')
- print()
-
try:
setlocale(LC_ALL, "")
except:
diff --git a/Misc/NEWS.d/next/Library/2023-05-23-04-01-27.gh-issue-104783.QyhIoq.rst b/Misc/NEWS.d/next/Library/2023-05-23-04-01-27.gh-issue-104783.QyhIoq.rst
new file mode 100644
index 000000000000..23670e8fe14d
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2023-05-23-04-01-27.gh-issue-104783.QyhIoq.rst
@@ -0,0 +1,2 @@
+Remove ``locale.resetlocale()`` function deprecated in Python 3.11.
+Patch by Victor Stinner.
More information about the Python-checkins
mailing list