summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetri Lehtinen <petri@digip.org>2011-11-05 08:18:50 (GMT)
committerPetri Lehtinen <petri@digip.org>2011-11-05 08:18:50 (GMT)
commit416ecffcc49941a39ec3109eb20ae9ce558326ea (patch)
tree8e596a0880c41d66ac21866064114f5139f2d8c1
parent49aa72ed4c48fb613893388b470aa5b5464c1952 (diff)
downloadcpython-416ecffcc49941a39ec3109eb20ae9ce558326ea.zip
cpython-416ecffcc49941a39ec3109eb20ae9ce558326ea.tar.gz
cpython-416ecffcc49941a39ec3109eb20ae9ce558326ea.tar.bz2
Issue #3067: Enhance the documentation and docstring of locale.setlocale()
-rw-r--r--Doc/library/locale.rst20
-rw-r--r--Lib/locale.py5
-rw-r--r--Misc/NEWS3
3 files changed, 16 insertions, 12 deletions
diff --git a/Doc/library/locale.rst b/Doc/library/locale.rst
index 85dad99..9cc3ab5 100644
--- a/Doc/library/locale.rst
+++ b/Doc/library/locale.rst
@@ -23,19 +23,19 @@ The :mod:`locale` module defines the following exception and functions:
.. exception:: Error
- Exception raised when :func:`setlocale` fails.
+ Exception raised when the locale passed to :func:`setlocale` is not
+ recognized.
.. function:: setlocale(category[, locale])
- If *locale* is specified, it may be a string, a tuple of the form ``(language
- code, encoding)``, or ``None``. If it is a tuple, it is converted to a string
- using the locale aliasing engine. If *locale* is given and not ``None``,
- :func:`setlocale` modifies the locale setting for the *category*. The available
- categories are listed in the data description below. The value is the name of a
- locale. An empty string specifies the user's default settings. If the
- modification of the locale fails, the exception :exc:`Error` is raised. If
- successful, the new locale setting is returned.
+ If *locale* is given and not ``None``, :func:`setlocale` modifies the locale
+ setting for the *category*. The available categories are listed in the data
+ description below. *locale* may be a string, or an iterable of two strings
+ (language code and encoding). If it's an iterable, it's converted to a locale
+ name using the locale aliasing engine. An empty string specifies the user's
+ default settings. If the modification of the locale fails, the exception
+ :exc:`Error` is raised. If successful, the new locale setting is returned.
If *locale* is omitted or ``None``, the current setting for *category* is
returned.
@@ -51,7 +51,7 @@ The :mod:`locale` module defines the following exception and functions:
changed thereafter, using multithreading should not cause problems.
.. versionchanged:: 2.0
- Added support for tuple values of the *locale* parameter.
+ Added support for iterable values of the *locale* parameter.
.. function:: localeconv()
diff --git a/Lib/locale.py b/Lib/locale.py
index ae667a8..561e9e4 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -524,9 +524,10 @@ def getlocale(category=LC_CTYPE):
def setlocale(category, locale=None):
""" Set the locale for the given category. The locale can be
- a string, a locale tuple (language code, encoding), or None.
+ a string, an iterable of two strings (language code and encoding),
+ or None.
- Locale tuples are converted to strings the locale aliasing
+ Iterables are converted to strings using the locale aliasing
engine. Locale strings are passed directly to the C lib.
category may be given as one of the LC_* values.
diff --git a/Misc/NEWS b/Misc/NEWS
index f55fe04..d053a2b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -74,6 +74,9 @@ Core and Builtins
Library
-------
+- Issue #3067: Enhance the documentation and docstring of
+ locale.setlocale().
+
- Issue #13254: Fix Maildir initialization so that maildir contents
are read correctly.