[3.12] gh-111276: Clarify docs and comments about the role of LC_CTYPE (GH-111319) (#111391)

Fix locale.LC_CTYPE documentation to no longer mention string.lower() et al. Those functions were removed in Python 3.0:
https://docs.python.org/2/library/string.htmlGH-deprecated-string-functions

Also, fix a comment in logging about locale-specific behavior of `str.lower()`.

(cherry picked from commit 6d42759c5e)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
This commit is contained in:
Miss Islington (bot) 2023-10-27 17:15:06 +02:00 committed by GitHub
parent 883233dcc3
commit 713210985b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 8 deletions

View file

@ -464,11 +464,16 @@ The :mod:`locale` module defines the following exception and functions:
.. data:: LC_CTYPE
.. index:: pair: module; string
Locale category for the character type functions. Most importantly, this
category defines the text encoding, i.e. how bytes are interpreted as
Unicode codepoints. See :pep:`538` and :pep:`540` for how this variable
might be automatically coerced to ``C.UTF-8`` to avoid issues created by
invalid settings in containers or incompatible settings passed over remote
SSH connections.
Locale category for the character type functions. Depending on the settings of
this category, the functions of module :mod:`string` dealing with case change
their behaviour.
Python doesn't internally use locale-dependent character transformation functions
from ``ctype.h``. Instead, an internal ``pyctype.h`` provides locale-independent
equivalents like :c:macro:`!Py_TOLOWER`.
.. data:: LC_COLLATE

View file

@ -833,10 +833,8 @@ class SysLogHandler(logging.Handler):
"local7": LOG_LOCAL7,
}
#The map below appears to be trivially lowercasing the key. However,
#there's more to it than meets the eye - in some locales, lowercasing
#gives unexpected results. See SF #1524081: in the Turkish locale,
#"INFO".lower() != "info"
# Originally added to work around GH-43683. Unnecessary since GH-50043 but kept
# for backwards compatibility.
priority_map = {
"DEBUG" : "debug",
"INFO" : "info",