[Python-checkins] cpython (merge 3.4 -> default): Merge: #21169: add comment and doc update for getpass change.

r.david.murray python-checkins at python.org
Mon Apr 14 16:31:10 CEST 2014


http://hg.python.org/cpython/rev/fe532dccf8f6
changeset:   90247:fe532dccf8f6
parent:      90245:62c2b76df993
parent:      90246:bdde36cd9048
user:        R David Murray <rdmurray at bitdance.com>
date:        Mon Apr 14 10:30:43 2014 -0400
summary:
  Merge: #21169: add comment and doc update for getpass change.

files:
  Doc/library/getpass.rst |  9 +++++----
  Lib/getpass.py          |  1 +
  2 files changed, 6 insertions(+), 4 deletions(-)


diff --git a/Doc/library/getpass.rst b/Doc/library/getpass.rst
--- a/Doc/library/getpass.rst
+++ b/Doc/library/getpass.rst
@@ -13,10 +13,11 @@
 .. function:: getpass(prompt='Password: ', stream=None)
 
    Prompt the user for a password without echoing.  The user is prompted using
-   the string *prompt*, which defaults to ``'Password: '``.  On Unix, the prompt
-   is written to the file-like object *stream*.  *stream* defaults to the
-   controlling terminal (:file:`/dev/tty`) or if that is unavailable to
-   ``sys.stderr`` (this argument is ignored on Windows).
+   the string *prompt*, which defaults to ``'Password: '``.  On Unix, the
+   prompt is written to the file-like object *stream* using the replace error
+   handler if needed.  *stream* defaults to the controlling terminal
+   (:file:`/dev/tty`) or if that is unavailable to ``sys.stderr`` (this
+   argument is ignored on Windows).
 
    If echo free input is unavailable getpass() falls back to printing
    a warning message to *stream* and reading from ``sys.stdin`` and
diff --git a/Lib/getpass.py b/Lib/getpass.py
--- a/Lib/getpass.py
+++ b/Lib/getpass.py
@@ -138,6 +138,7 @@
         try:
             stream.write(prompt)
         except UnicodeEncodeError:
+            # Use replace error handler to get as much as possible printed.
             prompt = prompt.encode(stream.encoding, 'replace')
             prompt = prompt.decode(stream.encoding)
             stream.write(prompt)

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


More information about the Python-checkins mailing list