]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Clarify U-mode deprecation in open() (GH-11646)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 27 Jan 2019 16:27:58 +0000 (08:27 -0800)
committerGitHub <noreply@github.com>
Sun, 27 Jan 2019 16:27:58 +0000 (08:27 -0800)
The previous wording could be read as saying that universal
newlines mode itself was deprecated, when it's only the 'U'
character in the mode field that should be avoided.

The update also moves the description of the 'U' mode character
out of the mode table, as the longer explanation was overly
intrusive as a table entry and overshadowed the actually useful
mode characters.
(cherry picked from commit 3171df34141c1f26ec16dccb4357184c0cf6c58f)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
Doc/library/functions.rst

index ec3388346a65b533166cb4df53a85cc5b10bb3ec..abf3e26d9e8d2b7b8e57f16bdeb441765246f71e 100644 (file)
@@ -997,7 +997,6 @@ are always available.  They are listed here in alphabetical order.
    ``'b'``   binary mode
    ``'t'``   text mode (default)
    ``'+'``   open a disk file for updating (reading and writing)
-   ``'U'``   :term:`universal newlines` mode (deprecated)
    ========= ===============================================================
 
    The default mode is ``'r'`` (open for reading text, synonym of ``'rt'``).
@@ -1012,6 +1011,12 @@ are always available.  They are listed here in alphabetical order.
    first decoded using a platform-dependent encoding or using the specified
    *encoding* if given.
 
+   There is an additional mode character permitted, ``'U'``, which no longer
+   has any effect, and is considered deprecated. It previously enabled
+   :term:`universal newlines` in text mode, which became the default behaviour
+   in Python 3.0. Refer to the documentation of the
+   :ref:`newline <open-newline-parameter>` parameter for further details.
+
    .. note::
 
       Python doesn't depend on the underlying operating system's notion of text
@@ -1078,6 +1083,8 @@ are always available.  They are listed here in alphabetical order.
    .. index::
       single: universal newlines; open() built-in function
 
+   .. _open-newline-parameter:
+
    *newline* controls how :term:`universal newlines` mode works (it only
    applies to text mode).  It can be ``None``, ``''``, ``'\n'``, ``'\r'``, and
    ``'\r\n'``.  It works as follows: