[Python-checkins] cpython (3.2): Issue #3067: Enhance the documentation and docstring of locale.setlocale()

petri.lehtinen python-checkins at python.org
Sat Nov 5 09:25:07 CET 2011


http://hg.python.org/cpython/rev/98806dd03506
changeset:   73373:98806dd03506
branch:      3.2
parent:      73369:5f27a9f67a34
user:        Petri Lehtinen <petri at digip.org>
date:        Sat Nov 05 10:18:50 2011 +0200
summary:
  Issue #3067: Enhance the documentation and docstring of locale.setlocale()

files:
  Doc/library/locale.rst |  18 +++++++++---------
  Lib/locale.py          |   5 +++--
  Misc/NEWS              |   3 ++-
  3 files changed, 14 insertions(+), 12 deletions(-)


diff --git a/Doc/library/locale.rst b/Doc/library/locale.rst
--- a/Doc/library/locale.rst
+++ b/Doc/library/locale.rst
@@ -22,19 +22,19 @@
 
 .. exception:: Error
 
-   Exception raised when :func:`setlocale` fails.
+   Exception raised when the locale passed to :func:`setlocale` is not
+   recognized.
 
 
 .. function:: setlocale(category, locale=None)
 
-   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.
diff --git a/Lib/locale.py b/Lib/locale.py
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -526,9 +526,10 @@
 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
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -74,7 +74,8 @@
   are read correctly.
 
 - Issue #3067: locale.setlocale() now raises TypeError if the second
-  argument is an invalid iterable. Initial patch by Jyrki Pulliainen.
+  argument is an invalid iterable. Its documentation and docstring
+  were also updated. Initial patch by Jyrki Pulliainen.
 
 - Issue #13140: Fix the daemon_threads attribute of ThreadingMixIn.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list