]> granicus.if.org Git - python/commitdiff
Clarify U-mode deprecation in open() (GH-11646)
authorNick Coghlan <ncoghlan@gmail.com>
Sun, 27 Jan 2019 16:21:11 +0000 (02:21 +1000)
committerGitHub <noreply@github.com>
Sun, 27 Jan 2019 16:21:11 +0000 (02:21 +1000)
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.

Doc/library/functions.rst

index b49d752b16a3900d2f7cbcd818250cbd963686b3..cca28ff5fb3b66318d79671fd6456c4456981f78 100644 (file)
@@ -1004,7 +1004,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'``).
@@ -1019,6 +1018,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
@@ -1085,6 +1090,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: