[Python-checkins] cpython (merge 3.5 -> default): Merge from 3.5.

larry.hastings python-checkins at python.org
Sun Sep 13 17:57:30 CEST 2015


https://hg.python.org/cpython/rev/b0302854eaa6
changeset:   97989:b0302854eaa6
parent:      97978:c31b1b63a0de
parent:      97987:684f8908c1b2
user:        Larry Hastings <larry at hastings.org>
date:        Sun Sep 13 16:57:16 2015 +0100
summary:
  Merge from 3.5.

files:
  .hgtags              |    1 +
  Doc/whatsnew/3.5.rst |  393 ++++++++++++++++--------------
  Misc/NEWS            |    8 +-
  README               |   46 +-
  4 files changed, 237 insertions(+), 211 deletions(-)


diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -156,3 +156,4 @@
 cc15d736d860303b9da90d43cd32db39bab048df v3.5.0rc2
 66ed52375df802f9d0a34480daaa8ce79fc41313 v3.5.0rc3
 2d033fedfa7f1e325fd14ccdaa9cb42155da206f v3.5.0rc4
+374f501f4567b7595f2ad7798aa09afa2456bb28 v3.5.0
diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst
--- a/Doc/whatsnew/3.5.rst
+++ b/Doc/whatsnew/3.5.rst
@@ -45,8 +45,9 @@
    when researching a change.
 
 This article explains the new features in Python 3.5, compared to 3.4.
-For full details, see the :source:`Misc/NEWS` file.
-
+Python 3.4 was released on September 13, 2015.  See the
+`changelog <https://docs.python.org/3.5/whatsnew/changelog.html>`_ for a full
+list of changes.
 
 .. seealso::
 
@@ -58,57 +59,56 @@
 
 New syntax features:
 
-* :pep:`492`, coroutines with async and await syntax.
-* :pep:`465`, a new matrix multiplication operator: ``a @ b``.
-* :pep:`448`, additional unpacking generalizations.
+* :ref:`PEP 492 <whatsnew-pep-492>`, coroutines with async and await syntax.
+* :ref:`PEP 465 <whatsnew-pep-465>`, a new matrix multiplication operator: ``a @ b``.
+* :ref:`PEP 448 <whatsnew-pep-448>`, additional unpacking generalizations.
 
 
 New library modules:
 
-* :mod:`typing`: :ref:`Type Hints <whatsnew-pep-484>` (:pep:`484`).
-* :mod:`zipapp`: :ref:`Improving Python ZIP Application Support
-  <whatsnew-zipapp>` (:pep:`441`).
+* :mod:`typing`: :ref:`PEP 484 -- Type Hints <whatsnew-pep-484>`.
+* :mod:`zipapp`: :ref:`PEP 441 Improving Python ZIP Application Support
+  <whatsnew-zipapp>`.
 
 
 New built-in features:
 
-* ``bytes % args``, ``bytearray % args``: :pep:`461` - Adding ``%`` formatting
-  to bytes and bytearray.
+* ``bytes % args``, ``bytearray % args``: :ref:`PEP 461 <whatsnew-pep-461>` --
+  Adding ``%`` formatting to bytes and bytearray.
 
 * ``b'\xf0\x9f\x90\x8d'.hex()``, ``bytearray(b'\xf0\x9f\x90\x8d').hex()``,
   ``memoryview(b'\xf0\x9f\x90\x8d').hex()``: :issue:`9951` - A ``hex`` method
   has been added to bytes, bytearray, and memoryview.
 
-* :class:`memoryview` (including multi-dimensional) now supports tuple indexing.
+* :class:`memoryview` now supports tuple indexing (including multi-dimensional).
   (Contributed by Antoine Pitrou in :issue:`23632`.)
 
-* Generators have new ``gi_yieldfrom`` attribute, which returns the
+* Generators have a new ``gi_yieldfrom`` attribute, which returns the
   object being iterated by ``yield from`` expressions. (Contributed
   by Benno Leslie and Yury Selivanov in :issue:`24450`.)
 
-* New :exc:`RecursionError` exception.  (Contributed by Georg Brandl
+* A new :exc:`RecursionError` exception is now raised when maximum
+  recursion depth is reached.  (Contributed by Georg Brandl
   in :issue:`19235`.)
 
-* New :exc:`StopAsyncIteration` exception.  (Contributed by
-  Yury Selivanov in :issue:`24017`.  See also :pep:`492`.)
-
 
 CPython implementation improvements:
 
 * When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale),
-  :py:data:`sys.stdin` and :py:data:`sys.stdout` are now using the
+  :py:data:`sys.stdin` and :py:data:`sys.stdout` now use the
   ``surrogateescape`` error handler, instead of the ``strict`` error handler.
   (Contributed by Victor Stinner in :issue:`19977`.)
 
 * ``.pyo`` files are no longer used and have been replaced by a more flexible
-  scheme that inclides the optimization level explicitly in ``.pyc`` name.
-  (:pep:`488`)
+  scheme that includes the optimization level explicitly in ``.pyc`` name.
+  (See :ref:`PEP 488 overview <whatsnew-pep-488>`.)
 
 * Builtin and extension modules are now initialized in a multi-phase process,
-  which is similar to how Python modules are loaded. (:pep:`489`).
-
-
-Significant improvements in standard library:
+  which is similar to how Python modules are loaded.
+  (See :ref:`PEP 489 overview <whatsnew-pep-489>`.)
+
+
+Significant improvements in the standard library:
 
 * :class:`collections.OrderedDict` is now
   :ref:`implemented in C <whatsnew-ordereddict>`, which makes it
@@ -122,14 +122,14 @@
   :ref:`better and significantly faster way <whatsnew-pep-471>`
   of directory traversal.
 
-* :func:`functools.lru_cache` has been largely
+* :func:`functools.lru_cache` has been mostly
   :ref:`reimplemented in C <whatsnew-lrucache>`, yielding much better
   performance.
 
 * The new :func:`subprocess.run` function provides a
   :ref:`streamlined way to run subprocesses <whatsnew-subprocess>`.
 
-* :mod:`traceback` module has been significantly
+* The :mod:`traceback` module has been significantly
   :ref:`enhanced <whatsnew-traceback>` for improved
   performance and developer convenience.
 
@@ -187,7 +187,7 @@
 PEP 492 also adds :keyword:`async for` statement for convenient iteration
 over asynchronous iterables.
 
-An example of a simple HTTP client written using the new syntax::
+An example of a rudimentary HTTP client written using the new syntax::
 
     import asyncio
 
@@ -246,7 +246,7 @@
 be used inside a coroutine function declared with :keyword:`async def`.
 
 Coroutine functions are intended to be run inside a compatible event loop,
-such as :class:`asyncio.Loop`.
+such as the :ref:`asyncio loop <asyncio-event-loop>`.
 
 .. seealso::
 
@@ -352,7 +352,7 @@
 and :class:`bytearray`.
 
 While interpolation is usually thought of as a string operation, there are
-cases where interpolation on ``bytes`` or ``bytearrays`` make sense, and the
+cases where interpolation on ``bytes`` or ``bytearrays`` makes sense, and the
 work needed to make up for this missing functionality detracts from the
 overall readability of the code.  This issue is particularly important when
 dealing with wire format protocols, which are often a mixture of binary
@@ -412,8 +412,9 @@
 
 While these annotations are available at runtime through the usual
 :attr:`__annotations__` attribute, *no automatic type checking happens at
-runtime*.  Instead, it is assumed that a separate off-line type checker will
-be used for on-demand source code analysis.
+runtime*.  Instead, it is assumed that a separate off-line type checker
+(e.g. `mypy <http://mypy-lang.org>`_) will be used for on-demand
+source code analysis.
 
 The type system supports unions, generic types, and a special type
 named :class:`~typing.Any` which is consistent with (i.e. assignable to
@@ -447,7 +448,7 @@
 
 The following example shows a simple use of :func:`os.scandir` to display all
 the files (excluding directories) in the given *path* that don't start with
-``'.'``. The :meth:`entry.is_file <os.DirEntry.is_file>` call will generally
+``'.'``. The :meth:`entry.is_file() <os.DirEntry.is_file>` call will generally
 not make an additional system call::
 
     for entry in os.scandir(path):
@@ -465,7 +466,7 @@
 PEP 475: Retry system calls failing with EINTR
 ----------------------------------------------
 
-A :py:data:`~errno.EINTR` error code is returned whenever a system call, that
+A :py:data:`errno.EINTR` error code is returned whenever a system call, that
 is waiting for I/O, is interrupted by a signal.  Previously, Python would
 raise :exc:`InterruptedError` in such case.  This meant that, when writing a
 Python application, the developer had two choices:
@@ -499,16 +500,16 @@
 Below is a list of functions which are now retried when interrupted
 by a signal:
 
-* :func:`open`, :func:`os.open`, :func:`io.open`;
+* :func:`open` and :func:`io.open`;
 
 * functions of the :mod:`faulthandler` module;
 
 * :mod:`os` functions: :func:`~os.fchdir`, :func:`~os.fchmod`,
   :func:`~os.fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`,
   :func:`~os.fstatvfs`, :func:`~os.fsync`, :func:`~os.ftruncate`,
-  :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os.posix_fadvise`,
-  :func:`~os.posix_fallocate`, :func:`~os.pread`, :func:`~os.pwrite`,
-  :func:`~os.read`, :func:`~os.readv`, :func:`~os.sendfile`,
+  :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os.open`,
+  :func:`~os.posix_fadvise`, :func:`~os.posix_fallocate`, :func:`~os.pread`,
+  :func:`~os.pwrite`, :func:`~os.read`, :func:`~os.readv`, :func:`~os.sendfile`,
   :func:`~os.wait3`, :func:`~os.wait4`, :func:`~os.wait`,
   :func:`~os.waitid`, :func:`~os.waitpid`, :func:`~os.write`,
   :func:`~os.writev`;
@@ -517,18 +518,19 @@
   :py:data:`~errno.EINTR` error, the syscall is not retried (see the PEP
   for the rationale);
 
-* :mod:`select` functions: :func:`~select.devpoll.poll`,
-  :func:`~select.epoll.poll`, :func:`~select.kqueue.control`,
-  :func:`~select.poll.poll`, :func:`~select.select`;
-
-* :func:`socket.socket` methods: :meth:`~socket.socket.accept`,
+* :mod:`select` functions: :func:`devpoll.poll() <select.devpoll.poll>`,
+  :func:`epoll.poll() <select.epoll.poll>`,
+  :func:`kqueue.control() <select.kqueue.control>`,
+  :func:`poll.poll() <select.poll.poll>`, :func:`~select.select`;
+
+* methods of the :class:`~socket.socket` class: :meth:`~socket.socket.accept`,
   :meth:`~socket.socket.connect` (except for non-blocking sockets),
   :meth:`~socket.socket.recv`, :meth:`~socket.socket.recvfrom`,
   :meth:`~socket.socket.recvmsg`, :meth:`~socket.socket.send`,
   :meth:`~socket.socket.sendall`, :meth:`~socket.socket.sendmsg`,
   :meth:`~socket.socket.sendto`;
 
-* :func:`signal.sigtimedwait`, :func:`signal.sigwaitinfo`;
+* :func:`signal.sigtimedwait` and :func:`signal.sigwaitinfo`;
 
 * :func:`time.sleep`.
 
@@ -545,7 +547,7 @@
 --------------------------------------------------------
 
 The interaction of generators and :exc:`StopIteration` in Python 3.4 and
-earlier was somewhat surprising, and could conceal obscure bugs.   Previously,
+earlier was sometimes surprising, and could conceal obscure bugs.  Previously,
 ``StopIteration`` raised accidentally inside a generator function was
 interpreted as the end of the iteration by the loop construct driving the
 generator.
@@ -561,7 +563,22 @@
 This is a backwards incompatible change, so to enable the new behavior,
 a :term:`__future__` import is necessary::
 
-    from __future__ import generator_stop
+    >>> from __future__ import generator_stop
+
+    >>> def gen():
+    ...     next(iter([]))
+    ...     yield
+    ...
+    >>> next(gen())
+    Traceback (most recent call last):
+      File "<stdin>", line 2, in gen
+    StopIteration
+
+    The above exception was the direct cause of the following exception:
+
+    Traceback (most recent call last):
+      File "<stdin>", line 1, in <module>
+    RuntimeError: generator raised StopIteration
 
 Without a ``__future__`` import, a :exc:`PendingDeprecationWarning` will be
 raised whenever a ``StopIteration`` exception is raised inside a generator.
@@ -573,6 +590,44 @@
       Chris Angelico, Yury Selivanov and Nick Coghlan.
 
 
+.. _whatsnew-pep-485:
+
+PEP 485: A function for testing approximate equality
+----------------------------------------------------
+
+:pep:`485` adds the :func:`math.isclose` and :func:`cmath.isclose`
+functions which tell whether two values are approximately equal or
+"close" to each other.  Whether or not two values are considered
+close is determined according to given absolute and relative tolerances.
+Relative tolerance is the maximum allowed difference between ``isclose``
+arguments, relative to the larger absolute value::
+
+    >>> import math
+    >>> a = 5.0
+    >>> b = 4.99998
+    >>> math.isclose(a, b, rel_tol=1e-5)
+    True
+    >>> math.isclose(a, b, rel_tol=1e-6)
+    False
+
+It is also possible to compare two values using absolute tolerance, which
+must be a non-negative value::
+
+    >>> import math
+    >>> a = 5.0
+    >>> b = 4.99998
+    >>> math.isclose(a, b, abs_tol=0.00003)
+    True
+    >>> math.isclose(a, b, abs_tol=0.00001)
+    False
+
+.. seealso::
+
+   :pep:`485` -- A function for testing approximate equality
+      PEP written by Christopher Barker; implemented by Chris Barker and
+      Tal Einat.
+
+
 .. _whatsnew-pep-486:
 
 PEP 486: Make the Python Launcher aware of virtual environments
@@ -630,61 +685,20 @@
       implemented by Petr Viktorin.
 
 
-.. _whatsnew-pep-485:
-
-PEP 485: A function for testing approximate equality
-----------------------------------------------------
-
-:pep:`485` adds the :func:`math.isclose` and :func:`cmath.isclose`
-functions which tell whether two values are approximately equal or
-"close" to each other.  Whether or not two values are considered
-close is determined according to given absolute and relative tolerances.
-Relative tolerance is the maximum allowed difference between ``isclose()``
-arguments, relative to the larger absolute value::
-
-    >>> import math
-    >>> a = 5.0
-    >>> b = 4.99998
-    >>> math.isclose(a, b, rel_tol=1e-5)
-    True
-    >>> math.isclose(a, b, rel_tol=1e-6)
-    False
-
-It is also possible to compare two values using absolute tolerance, which
-must be a non-negative value::
-
-    >>> import math
-    >>> a = 5.0
-    >>> b = 4.99998
-    >>> math.isclose(a, b, abs_tol=0.00003)
-    True
-    >>> math.isclose(a, b, abs_tol=0.00001)
-    False
-
-.. seealso::
-
-   :pep:`485` -- A function for testing approximate equality
-      PEP written by Christopher Barker; implemented by Chris Barker and
-      Tal Einat.
-
-
 Other Language Changes
 ======================
 
 Some smaller changes made to the core Python language are:
 
 * Added the ``"namereplace"`` error handlers.  The ``"backslashreplace"``
-  error handlers now works with decoding and translating.
+  error handlers now work with decoding and translating.
   (Contributed by Serhiy Storchaka in :issue:`19676` and :issue:`22286`.)
 
 * The :option:`-b` option now affects comparisons of :class:`bytes` with
   :class:`int`.  (Contributed by Serhiy Storchaka in :issue:`23681`.)
 
-* New Kazakh :ref:`codec <standard-encodings>` ``kz1048``.  (Contributed by
-  Serhiy Storchaka in :issue:`22682`.)
-
-* New Tajik :ref:`codec <standard-encodings>` ``koi8_t``.  (Contributed by
-  Serhiy Storchaka in :issue:`22681`.)
+* New Kazakh ``kz1048`` and Tajik ``koi8_t`` :ref:`codecs <standard-encodings>`.
+  (Contributed by Serhiy Storchaka in :issue:`22682` and :issue:`22681`.)
 
 * Property docstrings are now writable. This is especially useful for
   :func:`collections.namedtuple` docstrings.
@@ -747,9 +761,9 @@
 Since :mod:`asyncio` module is :term:`provisional <provisional api>`,
 all changes introduced in Python 3.5 have also been backported to Python 3.4.x.
 
-Notable changes in :mod:`asyncio` module since Python 3.4.0:
-
-* A new debugging APIs: :meth:`loop.set_debug() <asyncio.BaseEventLoop.set_debug>`
+Notable changes in the :mod:`asyncio` module since Python 3.4.0:
+
+* New debugging APIs: :meth:`loop.set_debug() <asyncio.BaseEventLoop.set_debug>`
   and :meth:`loop.get_debug() <asyncio.BaseEventLoop.get_debug>` methods.
   (Contributed by Victor Stinner.)
 
@@ -763,11 +777,11 @@
 * A new :meth:`loop.create_task() <asyncio.BaseEventLoop.create_task>`
   to conveniently create and schedule a new :class:`~asyncio.Task`
   for a coroutine.  The ``create_task`` method is also used by all
-  asyncio functions that wrap coroutines into tasks: :func:`asyncio.wait`,
-  :func:`asyncio.gather`, etc.
+  asyncio functions that wrap coroutines into tasks, such as
+  :func:`asyncio.wait`, :func:`asyncio.gather`, etc.
   (Contributed by Victor Stinner.)
 
-* A new :meth:`WriteTransport.get_write_buffer_limits <asyncio.WriteTransport.get_write_buffer_limits>`
+* A new :meth:`transport.get_write_buffer_limits() <asyncio.WriteTransport.get_write_buffer_limits>`
   method to inquire for *high-* and *low-* water limits of the flow
   control.
   (Contributed by Victor Stinner.)
@@ -810,13 +824,13 @@
 -----
 
 A new function :func:`~cmath.isclose` provides a way to test for approximate
-equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)
+equality.  (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)
 
 
 code
 ----
 
-The :func:`InteractiveInterpreter.showtraceback <code.InteractiveInterpreter.showtraceback>`
+The :func:`InteractiveInterpreter.showtraceback() <code.InteractiveInterpreter.showtraceback>`
 method now prints the full chained traceback, just like the interactive
 interpreter.  (Contributed by Claudiu Popa in :issue:`17442`.)
 
@@ -829,9 +843,9 @@
 The :class:`~collections.OrderedDict` class is now implemented in C, which
 makes it 4 to 100 times faster.  (Contributed by Eric Snow in :issue:`16991`.)
 
-:meth:`OrderedDict.items <collections.OrderedDict.items>`,
-:meth:`OrderedDict.keys <collections.OrderedDict.keys>`,
-:meth:`OrderedDict.values <collections.OrderedDict.values>` views now support
+:meth:`OrderedDict.items() <collections.OrderedDict.items>`,
+:meth:`OrderedDict.keys() <collections.OrderedDict.keys>`,
+:meth:`OrderedDict.values() <collections.OrderedDict.values>` views now support
 :func:`reversed` iteration.
 (Contributed by Serhiy Storchaka in :issue:`19505`.)
 
@@ -854,14 +868,14 @@
 The :class:`~collections.UserString` class now implements
 :meth:`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`,
 :meth:`~str.format_map`, :meth:`~str.isprintable`, and :meth:`~str.maketrans`
-methods to match corresponding methods of :class:`str`.
+methods to match the corresponding methods of :class:`str`.
 (Contributed by Joe Jevnik in :issue:`22189`.)
 
 
 collections.abc
 ---------------
 
-The :meth:`Sequence.index <collections.abc.Sequence.index>` method now
+The :meth:`Sequence.index() <collections.abc.Sequence.index>` method now
 accepts *start* and *stop* arguments to match the corresponding methods
 of :class:`tuple`, :class:`list`, etc.
 (Contributed by Devin Jeanpierre in :issue:`23086`.)
@@ -874,6 +888,9 @@
 :class:`~collections.abc.AsyncIterable` abstract base classes.
 (Contributed by Yury Selivanov in :issue:`24184`.)
 
+For earlier Python versions, a backport of the new ABCs is available in an
+external `PyPI package <https://pypi.python.org/pypi/backports_abc>`_.
+
 
 compileall
 ----------
@@ -897,7 +914,7 @@
 concurrent.futures
 ------------------
 
-The :meth:`Executor.map <concurrent.futures.Executor.map>` method now accepts a
+The :meth:`Executor.map() <concurrent.futures.Executor.map>` method now accepts a
 *chunksize* argument to allow batching of tasks to improve performance when
 :meth:`~concurrent.futures.ProcessPoolExecutor` is used.
 (Contributed by Dan O'Reilly in :issue:`11271`.)
@@ -910,9 +927,11 @@
 configparser
 ------------
 
-Config parsers can be customized by providing a dictionary of converters in the
-constructor.  All converters defined in config parser (either by subclassing or
-by providing in a constructor) will be available on all section proxies.
+:mod:`configparser` now provides a way to customize the conversion
+of values by specifying a dictionary of converters in
+:class:`~configparser.ConfigParser` constructor, or by defining them
+as methods in ``ConfigParser`` subclasses.  Converters defined in
+parser instance are inherited by its section proxies.
 
 Example::
 
@@ -928,7 +947,9 @@
     'a b c d e f g'
     >>> cfg.getlist('s', 'list')
     ['a', 'b', 'c', 'd', 'e', 'f', 'g']
-
+    >>> section = cfg['s']
+    >>> section.getlist('list')
+    ['a', 'b', 'c', 'd', 'e', 'f', 'g']
 
 (Contributed by Łukasz Langa in :issue:`18159`.)
 
@@ -971,14 +992,14 @@
 ---
 
 :func:`dumb.open <dbm.dumb.open>` always creates a new database when the flag
-has the value ``'n'``.  (Contributed by Claudiu Popa in :issue:`18039`.)
+has the value ``"n"``.  (Contributed by Claudiu Popa in :issue:`18039`.)
 
 
 difflib
 -------
 
 The charset of HTML documents generated by
-:meth:`HtmlDiff.make_file <difflib.HtmlDiff.make_file>`
+:meth:`HtmlDiff.make_file() <difflib.HtmlDiff.make_file>`
 can now be customized by using a new *charset* keyword-only argument.
 The default charset of HTML document changed from ``"ISO-8859-1"``
 to ``"utf-8"``.
@@ -1019,7 +1040,7 @@
 (Contributed by Milan Oberkirch in :issue:`20098`.)
 
 A new
-:meth:`Message.get_content_disposition <email.message.Message.get_content_disposition>`
+:meth:`Message.get_content_disposition() <email.message.Message.get_content_disposition>`
 method provides easy access to a canonical value for the
 :mailheader:`Content-Disposition` header.
 (Contributed by Abhilash Raj in :issue:`21083`.)
@@ -1031,8 +1052,8 @@
 ``SMTPUTF8`` extension.  (Contributed by R. David Murray in
 :issue:`24211`.)
 
-:class:`~email.mime.text.MIMEText` constructor now accepts a
-:class:`~email.charset.Charset` instance.
+The :class:`mime.text.MIMEText <email.mime.text.MIMEText>` constructor now
+accepts a :class:`charset.Charset <email.charset.Charset>` instance.
 (Contributed by Claude Paroz and Berker Peksag in :issue:`16324`.)
 
 
@@ -1155,7 +1176,7 @@
 (Contributed by Tarek Ziadé and Serhiy Storchaka in :issue:`4972`.)
 
 The :mod:`imaplib` module now supports :rfc:`5161` (ENABLE Extension)
-and :rfc:`6855` (UTF-8 Support) via the :meth:`IMAP4.enable <imaplib.IMAP4.enable>`
+and :rfc:`6855` (UTF-8 Support) via the :meth:`IMAP4.enable() <imaplib.IMAP4.enable>`
 method.  A new :attr:`IMAP4.utf8_enabled <imaplib.IMAP4.utf8_enabled>`
 attribute, tracks whether or not :rfc:`6855` support is enabled.
 (Contributed by Milan Oberkirch, R. David Murray, and Maciej Szulik in
@@ -1183,13 +1204,13 @@
 lazy loading of modules in applications where startup time is important.
 (Contributed by Brett Cannon in :issue:`17621`.)
 
-The :func:`abc.InspectLoader.source_to_code <importlib.abc.InspectLoader.source_to_code>`
+The :func:`abc.InspectLoader.source_to_code() <importlib.abc.InspectLoader.source_to_code>`
 method is now a static method.  This makes it easier to initialize a module
 object with code compiled from a string by running
 ``exec(code, module.__dict__)``.
 (Contributed by Brett Cannon in :issue:`21156`.)
 
-The new :func:`util.module_from_spec <importlib.util.module_from_spec>`
+The new :func:`util.module_from_spec() <importlib.util.module_from_spec>`
 function is now the preferred way to create a new module.  As opposed to
 creating a :class:`types.ModuleType` instance directly, this new function
 will set the various import-controlled attributes based on the passed-in
@@ -1204,7 +1225,7 @@
 and :issue:`20334`.)
 
 A new
-:meth:`BoundArguments.apply_defaults <inspect.BoundArguments.apply_defaults>`
+:meth:`BoundArguments.apply_defaults() <inspect.BoundArguments.apply_defaults>`
 method provides a way to set default values for missing arguments::
 
     >>> def foo(a, b='ham', *args): pass
@@ -1216,7 +1237,7 @@
 (Contributed by Yury Selivanov in :issue:`24190`.)
 
 A new class method
-:meth:`Signature.from_callable <inspect.Signature.from_callable>` makes
+:meth:`Signature.from_callable() <inspect.Signature.from_callable>` makes
 subclassing of :class:`~inspect.Signature` easier.  (Contributed
 by Yury Selivanov and Eric Snow in :issue:`17373`.)
 
@@ -1242,10 +1263,10 @@
 io
 --
 
-A new :meth:`BufferedIOBase.readinto1 <io.BufferedIOBase.readinto1>`
+A new :meth:`BufferedIOBase.readinto1() <io.BufferedIOBase.readinto1>`
 method, that uses at most one call to the underlying raw stream's
-:meth:`RawIOBase.read <io.RawIOBase.read>` (or
-:meth:`RawIOBase.readinto <io.RawIOBase.readinto>`) method.
+:meth:`RawIOBase.read() <io.RawIOBase.read>` or
+:meth:`RawIOBase.readinto() <io.RawIOBase.readinto>` methods.
 (Contributed by Nikolaus Rath in :issue:`20578`.)
 
 
@@ -1353,7 +1374,7 @@
 lzma
 ----
 
-The :meth:`LZMADecompressor.decompress <lzma.LZMADecompressor.decompress>`
+The :meth:`LZMADecompressor.decompress() <lzma.LZMADecompressor.decompress>`
 method now accepts an optional *max_length* argument to limit the maximum
 size of decompressed data.
 (Contributed by Martin Panter in :issue:`15955`.)
@@ -1376,7 +1397,7 @@
 multiprocessing
 ---------------
 
-:func:`sharedctypes.synchronized <multiprocessing.sharedctypes.synchronized>`
+:func:`sharedctypes.synchronized() <multiprocessing.sharedctypes.synchronized>`
 objects now support the :term:`context manager` protocol.
 (Contributed by Charles-François Natali in :issue:`21565`.)
 
@@ -1405,8 +1426,8 @@
 
 On Windows, a new
 :attr:`stat_result.st_file_attributes <os.stat_result.st_file_attributes>`
-attribute is now available.  It corresponds to ``dwFileAttributes`` member of
-the ``BY_HANDLE_FILE_INFORMATION`` structure returned by
+attribute is now available.  It corresponds to the ``dwFileAttributes`` member
+of the ``BY_HANDLE_FILE_INFORMATION`` structure returned by
 ``GetFileInformationByHandle()``.  (Contributed by Ben Hoyt in :issue:`21719`.)
 
 The :func:`~os.urandom` function now uses ``getrandom()`` syscall on Linux 3.17
@@ -1438,7 +1459,7 @@
 pathlib
 -------
 
-The new :meth:`Path.samefile <pathlib.Path.samefile>` method can be used
+The new :meth:`Path.samefile() <pathlib.Path.samefile>` method can be used
 to check whether the path points to the same file as other path, which can be
 either an another :class:`~pathlib.Path` object, or a string::
 
@@ -1450,23 +1471,23 @@
 
 (Contributed by Vajrasky Kok and Antoine Pitrou in :issue:`19775`.)
 
-The :meth:`Path.mkdir <pathlib.Path.mkdir>` method how accepts a new optional
+The :meth:`Path.mkdir() <pathlib.Path.mkdir>` method how accepts a new optional
 *exist_ok* argument to match ``mkdir -p`` and :func:`os.makrdirs`
 functionality.  (Contributed by Berker Peksag in :issue:`21539`.)
 
-There is a new :meth:`Path.expanduser <pathlib.Path.expanduser>` method to
+There is a new :meth:`Path.expanduser() <pathlib.Path.expanduser>` method to
 expand ``~`` and ``~user`` prefixes.  (Contributed by Serhiy Storchaka and
 Claudiu Popa in :issue:`19776`.)
 
-A new :meth:`Path.home <pathlib.Path.home>` class method can be used to get
+A new :meth:`Path.home() <pathlib.Path.home>` class method can be used to get
 an instance of :class:`~pathlib.Path` object representing the user’s home
 directory.
 (Contributed by Victor Salgado and Mayank Tripathi in :issue:`19777`.)
 
-New :meth:`Path.write_text <pathlib.Path.write_text>`,
-:meth:`Path.read_text <pathlib.Path.read_text>`,
-:meth:`Path.write_bytes <pathlib.Path.write_bytes>`,
-:meth:`Path.read_bytes <pathlib.Path.read_bytes>` methods to simplify
+New :meth:`Path.write_text() <pathlib.Path.write_text>`,
+:meth:`Path.read_text() <pathlib.Path.read_text>`,
+:meth:`Path.write_bytes() <pathlib.Path.write_bytes>`,
+:meth:`Path.read_bytes() <pathlib.Path.read_bytes>` methods to simplify
 read/write operations on files.
 
 The following code snippet will create or rewrite existing file
@@ -1492,7 +1513,7 @@
 poplib
 ------
 
-A new :meth:`POP3.utf8 <poplib.POP3.utf8>` command enables :rfc:`6856`
+A new :meth:`POP3.utf8() <poplib.POP3.utf8>` command enables :rfc:`6856`
 (Internationalized Email) support, if a POP server supports it.
 (Contributed by Milan OberKirch in :issue:`21804`.)
 
@@ -1584,27 +1605,27 @@
 accept a *decode_data* keyword argument to determine if the ``DATA`` portion of
 the SMTP transaction is decoded using the ``"utf-8"`` codec or is instead
 provided to the
-:meth:`SMTPServer.process_message <smtpd.SMTPServer.process_message>`
+:meth:`SMTPServer.process_message() <smtpd.SMTPServer.process_message>`
 method as a byte string.  The default is ``True`` for backward compatibility
 reasons, but will change to ``False`` in Python 3.6.  If *decode_data* is set
-to ``False``, the :meth:`~smtpd.SMTPServer.process_message` method must
-be prepared to accept keyword arguments.
+to ``False``, the ``process_message`` method must be prepared to accept keyword
+arguments.
 (Contributed by Maciej Szulik in :issue:`19662`.)
 
 The :class:`~smtpd.SMTPServer` class now advertises the ``8BITMIME`` extension
 (:rfc:`6152`) if *decode_data* has been set ``True``.  If the client
 specifies ``BODY=8BITMIME`` on the ``MAIL`` command, it is passed to
-:meth:`SMTPServer.process_message <smtpd.SMTPServer.process_message>`
+:meth:`SMTPServer.process_message() <smtpd.SMTPServer.process_message>`
 via the *mail_options* keyword.
 (Contributed by Milan Oberkirch and R.  David Murray in :issue:`21795`.)
 
 The :class:`~smtpd.SMTPServer` class now also supports the ``SMTPUTF8``
 extension (:rfc:`6531`: Internationalized Email).  If the client specified
 ``SMTPUTF8 BODY=8BITMIME`` on the ``MAIL`` command, they are passed to
-:meth:`SMTPServer.process_message <smtpd.SMTPServer.process_message>`
+:meth:`SMTPServer.process_message() <smtpd.SMTPServer.process_message>`
 via the *mail_options* keyword.  It is the responsibility of the
-:meth:`~smtpd.SMTPServer.process_message` method to correctly handle the
-``SMTPUTF8`` data.  (Contributed by Milan Oberkirch in :issue:`21725`.)
+``process_message`` method to correctly handle the ``SMTPUTF8`` data.
+(Contributed by Milan Oberkirch in :issue:`21725`.)
 
 It is now possible to provide, directly or via name resolution, IPv6
 addresses in the :class:`~smtpd.SMTPServer` constructor, and have it
@@ -1614,16 +1635,16 @@
 smtplib
 -------
 
-A new :meth:`SMTP.auth <smtplib.SMTP.auth>` method provides a convenient way to
+A new :meth:`SMTP.auth() <smtplib.SMTP.auth>` method provides a convenient way to
 implement custom authentication mechanisms. (Contributed by Milan
 Oberkirch in :issue:`15014`.)
 
-The :meth:`SMTP.set_debuglevel <smtplib.SMTP.set_debuglevel>` method now
+The :meth:`SMTP.set_debuglevel() <smtplib.SMTP.set_debuglevel>` method now
 accepts an additional debuglevel (2), which enables timestamps in debug
 messages. (Contributed by Gavin Chappell and Maciej Szulik in :issue:`16914`.)
 
-Both :meth:`SMTP.sendmail <smtplib.SMTP.sendmail>` and
-:meth:`SMTP.send_message <smtplib.SMTP.send_message>` methods now
+Both :meth:`SMTP.sendmail() <smtplib.SMTP.sendmail>` and
+:meth:`SMTP.send_message() <smtplib.SMTP.send_message>` methods now
 support support :rfc:`6531` (SMTPUTF8).
 (Contributed by Milan Oberkirch and R. David Murray in :issue:`22027`.)
 
@@ -1642,18 +1663,18 @@
 Functions with timeouts now use a monotonic clock, instead of a system clock.
 (Contributed by Victor Stinner in :issue:`22043`.)
 
-A new :meth:`socket.sendfile <socket.socket.sendfile>` method allows to
+A new :meth:`socket.sendfile() <socket.socket.sendfile>` method allows to
 send a file over a socket by using the high-performance :func:`os.sendfile`
 function on UNIX resulting in uploads being from 2 to 3 times faster than when
-using plain :meth:`socket.send <socket.socket.send>`.
+using plain :meth:`socket.send() <socket.socket.send>`.
 (Contributed by Giampaolo Rodola' in :issue:`17552`.)
 
-The :meth:`socket.sendall <socket.socket.sendall>` method no longer resets the
+The :meth:`socket.sendall() <socket.socket.sendall>` method no longer resets the
 socket timeout every time bytes are received or sent.  The socket timeout is
 now the maximum total duration to send all data.
 (Contributed by Victor Stinner in :issue:`23853`.)
 
-The *backlog* argument of the :meth:`socket.listen <socket.socket.listen>`
+The *backlog* argument of the :meth:`socket.listen() <socket.socket.listen>`
 method is now optional.  By default it is set to
 :data:`SOMAXCONN <socket.SOMAXCONN>` or to ``128`` whichever is less.
 (Contributed by Charles-François Natali in :issue:`21455`.)
@@ -1671,7 +1692,7 @@
 
 The new :class:`~ssl.SSLObject` class has been added to provide SSL protocol
 support for cases when the network I/O capabilities of :class:`~ssl.SSLSocket`
-are not necessary or suboptimal.  :class:`~ssl.SSLObject` represents
+are not necessary or suboptimal.  ``SSLObject`` represents
 an SSL protocol instance, but does not implement any network I/O methods, and
 instead provides a memory buffer interface.  The new :class:`~ssl.MemoryBIO`
 class can be used to pass data between Python and an SSL protocol instance.
@@ -1680,8 +1701,8 @@
 implementing asynchronous I/O for which :class:`~ssl.SSLSocket`'s readiness
 model ("select/poll") is inefficient.
 
-A new :meth:`SSLContext.wrap_bio <ssl.SSLContext.wrap_bio>` method can be used
-to create a new :class:`~ssl.SSLObject` instance.
+A new :meth:`SSLContext.wrap_bio() <ssl.SSLContext.wrap_bio>` method can be used
+to create a new ``SSLObject`` instance.
 
 
 Application-Layer Protocol Negotiation Support
@@ -1693,12 +1714,12 @@
 *Application-Layer Protocol Negotiation* TLS extension as described
 in :rfc:`7301`.
 
-The new :meth:`SSLContext.set_alpn_protocols <ssl.SSLContext.set_alpn_protocols>`
+The new :meth:`SSLContext.set_alpn_protocols() <ssl.SSLContext.set_alpn_protocols>`
 can be used to specify which protocols a socket should advertise during
 the TLS handshake.
 
 The new
-:meth:`SSLSocket.selected_alpn_protocol <ssl.SSLSocket.selected_alpn_protocol>`
+:meth:`SSLSocket.selected_alpn_protocol() <ssl.SSLSocket.selected_alpn_protocol>`
 returns the protocol that was selected during the TLS handshake.
 :data:`~ssl.HAS_ALPN` flag indicates whether APLN support is present.
 
@@ -1706,15 +1727,15 @@
 Other Changes
 ~~~~~~~~~~~~~
 
-There is a new :meth:`SSLSocket.version <ssl.SSLSocket.version>` method to query
-the actual protocol version in use.
+There is a new :meth:`SSLSocket.version() <ssl.SSLSocket.version>` method to
+query the actual protocol version in use.
 (Contributed by Antoine Pitrou in :issue:`20421`.)
 
 The :class:`~ssl.SSLSocket` class now implements
-a :meth:`SSLSocket.sendfile <ssl.SSLSocket.sendfile>` method.
+a :meth:`SSLSocket.sendfile() <ssl.SSLSocket.sendfile>` method.
 (Contributed by Giampaolo Rodola' in :issue:`17552`.)
 
-The :meth:`SSLSocket.send <ssl.SSLSocket.send>` method now raises either
+The :meth:`SSLSocket.send() <ssl.SSLSocket.send>` method now raises either
 :exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` exception on a
 non-blocking socket if the operation would block. Previously, it would return
 ``0``.  (Contributed by Nikolaus Rath in :issue:`20951`.)
@@ -1723,15 +1744,15 @@
 as UTC and not as local time, per :rfc:`5280`.  Additionally, the return
 value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)
 
-New :meth:`SSLObject.shared_ciphers <ssl.SSLObject.shared_ciphers>` and
-:meth:`SSLSocket.shared_ciphers <ssl.SSLSocket.shared_ciphers>` methods return
+New :meth:`SSLObject.shared_ciphers() <ssl.SSLObject.shared_ciphers>` and
+:meth:`SSLSocket.shared_ciphers() <ssl.SSLSocket.shared_ciphers>` methods return
 the list of ciphers sent by the client during the handshake.
 (Contributed by Benjamin Peterson in :issue:`23186`.)
 
-The :meth:`SSLSocket.do_handshake <ssl.SSLSocket.do_handshake>`,
-:meth:`SSLSocket.read <ssl.SSLSocket.read>`,
-:meth:`SSLSocket.shutdown <ssl.SSLSocket.shutdown>`, and
-:meth:`SSLSocket.write <ssl.SSLSocket.write>` methods of :class:`ssl.SSLSocket`
+The :meth:`SSLSocket.do_handshake() <ssl.SSLSocket.do_handshake>`,
+:meth:`SSLSocket.read() <ssl.SSLSocket.read>`,
+:meth:`SSLSocket.shutdown() <ssl.SSLSocket.shutdown>`, and
+:meth:`SSLSocket.write() <ssl.SSLSocket.write>` methods of :class:`~ssl.SSLSocket`
 class no longer reset the socket timeout every time bytes are received or sent.
 The socket timeout is now the maximum total duration of the method.
 (Contributed by Victor Stinner in :issue:`23853`.)
@@ -1807,25 +1828,25 @@
 The *mode* argument of the :func:`~tarfile.open` function now accepts ``"x"``
 to request exclusive creation.  (Contributed by Berker Peksag in :issue:`21717`.)
 
-:meth:`TarFile.extractall <tarfile.TarFile.extractall>` and
-:meth:`TarFile.extract <tarfile.TarFile.extract>` methods now take a keyword
+:meth:`TarFile.extractall() <tarfile.TarFile.extractall>` and
+:meth:`TarFile.extract() <tarfile.TarFile.extract>` methods now take a keyword
 argument *numeric_only*.  If set to ``True``, the extracted files and
 directories will be owned by the numeric ``uid`` and ``gid`` from the tarfile.
 If set to ``False`` (the default, and the behavior in versions prior to 3.5),
 they will be owned by the named user and group in the tarfile.
 (Contributed by Michael Vogt and Eric Smith in :issue:`23193`.)
 
-The :meth:`TarFile.list <tarfile.TarFile.list>` now accepts an optional
+The :meth:`TarFile.list() <tarfile.TarFile.list>` now accepts an optional
 *members* keyword argument that can be set to a subset of the list returned
-by :meth:`TarFile.getmembers <tarfile.TarFile.getmembers>`.
+by :meth:`TarFile.getmembers() <tarfile.TarFile.getmembers>`.
 (Contributed by Serhiy Storchaka in :issue:`21549`.)
 
 
 threading
 ---------
 
-Both :meth:`Lock.acquire <threading.Lock.acquire>` and
-:meth:`RLock.acquire <threading.RLock.acquire>` methods
+Both :meth:`Lock.acquire() <threading.Lock.acquire>` and
+:meth:`RLock.acquire() <threading.RLock.acquire>` methods
 now use a monotonic clock for timeout management.
 (Contributed by Victor Stinner in :issue:`22043`.)
 
@@ -1900,7 +1921,7 @@
 unittest
 --------
 
-The :meth:`TestLoader.loadTestsFromModule <unittest.TestLoader.loadTestsFromModule>`
+The :meth:`TestLoader.loadTestsFromModule() <unittest.TestLoader.loadTestsFromModule>`
 method now accepts a keyword-only argument *pattern* which is passed to
 ``load_tests`` as the third argument.  Found packages are now checked for
 ``load_tests`` regardless of whether their path matches *pattern*, because it
@@ -1926,7 +1947,7 @@
   with ``"assert"``.
   (Contributed by Kushal Das in :issue:`21238`.)
 
-* A new :meth:`Mock.assert_not_called <unittest.mock.Mock.assert_not_called>`
+* A new :meth:`Mock.assert_not_called() <unittest.mock.Mock.assert_not_called>`
   method to check if the mock object was called.
   (Contributed by Kushal Das in :issue:`21262`.)
 
@@ -1953,15 +1974,15 @@
 :issue:`7159`.)
 
 A new *quote_via* argument for the
-:func:`parse.urlencode <urllib.parse.urlencode>`
+:func:`parse.urlencode() <urllib.parse.urlencode>`
 function provides a way to control the encoding of query parts if needed.
 (Contributed by Samwyse and Arnon Yaari in :issue:`13866`.)
 
-The :func:`request.urlopen <urllib.request.urlopen>` function accepts an
+The :func:`request.urlopen() <urllib.request.urlopen>` function accepts an
 :class:`ssl.SSLContext` object as a *context* argument, which will be used for
 the HTTPS connection.  (Contributed by Alex Gaynor in :issue:`22366`.)
 
-The :func:`parse.urljoin <urllib.parse.urljoin>` was updated to use the
+The :func:`parse.urljoin() <urllib.parse.urljoin>` was updated to use the
 :rfc:`3986` semantics for the resolution of relative URLs, rather than
 :rfc:`1808` and :rfc:`2396`.
 (Contributed by Demian Brecht and Senthil Kumaran in :issue:`22118`.)
@@ -2004,7 +2025,7 @@
 ZIP output can now be written to unseekable streams.
 (Contributed by Serhiy Storchaka in :issue:`23252`.)
 
-The *mode* argument of :meth:`ZipFile.open <zipfile.ZipFile.open>` method now
+The *mode* argument of :meth:`ZipFile.open() <zipfile.ZipFile.open>` method now
 accepts ``"x"`` to request exclusive creation.
 (Contributed by Serhiy Storchaka in :issue:`21717`.)
 
@@ -2117,8 +2138,8 @@
 (Contributed by Georg Brandl in :issue:`19235`.)
 
 New :c:func:`PyModule_FromDefAndSpec`, :c:func:`PyModule_FromDefAndSpec2`,
-and :c:func:`PyModule_ExecDef` introduced by :pep:`489` -- multi-phase
-extension module initialization.
+and :c:func:`PyModule_ExecDef` functions introduced by :pep:`489` --
+multi-phase extension module initialization.
 (Contributed by Petr Viktorin in :issue:`24268`.)
 
 New :c:func:`PyNumber_MatrixMultiply` and
@@ -2190,7 +2211,7 @@
 Deprecated Python Behavior
 --------------------------
 
-Raising :exc:`StopIteration` inside a generator will now generate a silent
+Raising :exc:`StopIteration` exception inside a generator will now generate a silent
 :exc:`PendingDeprecationWarning`, which will become a non-silent deprecation
 warning in Python 3.6 and will trigger a :exc:`RuntimeError` in Python 3.7.
 See :ref:`PEP 479: Change StopIteration handling inside generators <whatsnew-pep-479>`
@@ -2221,10 +2242,10 @@
 
 Directly assigning values to the :attr:`~http.cookies.Morsel.key`,
 :attr:`~http.cookies.Morsel.value` and
-:attr:`~http.cookies.Morsel.coded_value` of :class:`~http.cookies.Morsel`
-objects is deprecated.  Use the :func:`~http.cookies.Morsel.set` method
+:attr:`~http.cookies.Morsel.coded_value` of :class:`http.cookies.Morsel`
+objects is deprecated.  Use the :meth:`~http.cookies.Morsel.set` method
 instead.  In addition, the undocumented *LegalChars* parameter of
-:func:`~http.cookies.Morsel.set` is deprecated, and is now ignored.
+:meth:`~http.cookies.Morsel.set` is deprecated, and is now ignored.
 
 Passing a format string as keyword argument *format_string* to the
 :meth:`~string.Formatter.format` method of the :class:`string.Formatter`
@@ -2238,9 +2259,9 @@
 (Contributed by Vajrasky Kok and Berker Peksag in :issue:`1322`.)
 
 The previously undocumented ``from_function`` and ``from_builtin`` methods of
-:class:`inspect.Signature` are deprecated.  Use new
-:meth:`inspect.Signature.from_callable` instead. (Contributed by Yury
-Selivanov in :issue:`24248`.)
+:class:`inspect.Signature` are deprecated.  Use the new
+:meth:`Signature.from_callable() <inspect.Signature.from_callable>`
+method instead. (Contributed by Yury Selivanov in :issue:`24248`.)
 
 The :func:`inspect.getargspec` function is deprecated and scheduled to be
 removed in Python 3.6.  (See :issue:`20438` for details.)
@@ -2357,7 +2378,7 @@
   :mod:`http.client` and :mod:`http.server` remain available for backwards
   compatibility.  (Contributed by Demian Brecht in :issue:`21793`.)
 
-* When an import loader defines :meth:`~importlib.machinery.Loader.exec_module`
+* When an import loader defines :meth:`importlib.machinery.Loader.exec_module`
   it is now expected to also define
   :meth:`~importlib.machinery.Loader.create_module` (raises a
   :exc:`DeprecationWarning` now, will be an error in Python 3.6). If the loader
@@ -2373,7 +2394,7 @@
   an empty string (such as ``"\b"``) now raise an error.
   (Contributed by Serhiy Storchaka in :issue:`22818`.)
 
-* The :class:`~http.cookies.Morsel` dict-like interface has been made self
+* The :class:`http.cookies.Morsel` dict-like interface has been made self
   consistent:  morsel comparison now takes the :attr:`~http.cookies.Morsel.key`
   and :attr:`~http.cookies.Morsel.value` into account,
   :meth:`~http.cookies.Morsel.copy` now results in a
@@ -2397,7 +2418,7 @@
 * The :mod:`socket` module now exports the :data:`~socket.CAN_RAW_FD_FRAMES`
   constant on linux 3.6 and greater.
 
-* The :func:`~ssl.cert_time_to_seconds` function now interprets the input time
+* The :func:`ssl.cert_time_to_seconds` function now interprets the input time
   as UTC and not as local time, per :rfc:`5280`.  Additionally, the return
   value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)
 
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -92,8 +92,8 @@
 - Issue #25022: Removed very outdated PC/example_nt/ directory.
 
 
-What's New in Python 3.5.1
-==========================
+What's New in Python 3.5.1 release candidate 1?
+===============================================
 
 Release date: TBA
 
@@ -194,6 +194,7 @@
 
 - Issue #25022: Removed very outdated PC/example_nt/ directory.
 
+
 What's New in Python 3.5.0 final?
 =================================
 
@@ -203,7 +204,8 @@
 -----
 
 - Issue #25071: Windows installer should not require TargetDir
-  parameter when installing quietly
+  parameter when installing quietly.
+
 
 What's New in Python 3.5.0 release candidate 4?
 ===============================================
diff --git a/README b/README
--- a/README
+++ b/README
@@ -4,10 +4,11 @@
 Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
 2012, 2013, 2014, 2015 Python Software Foundation.  All rights reserved.
 
-Python 3.x is a new version of the language, which is incompatible with the 2.x
-line of releases.  The language is mostly the same, but many details, especially
-how built-in objects like dictionaries and strings work, have changed
-considerably, and a lot of deprecated features have finally been removed.
+Python 3.x is a new version of the language, which is incompatible with the
+2.x line of releases.  The language is mostly the same, but many details,
+especially how built-in objects like dictionaries and strings work,
+have changed considerably, and a lot of deprecated features have finally
+been removed.
 
 
 Build Instructions
@@ -33,8 +34,8 @@
 
 On Windows, see PCbuild/readme.txt.
 
-If you wish, you can create a subdirectory and invoke configure from there.  For
-example:
+If you wish, you can create a subdirectory and invoke configure from there.
+For example:
 
     mkdir debug
     cd debug
@@ -42,21 +43,21 @@
     make
     make test
 
-(This will fail if you *also* built at the top-level directory.  You should do a
-"make clean" at the toplevel first.)
+(This will fail if you *also* built at the top-level directory.
+You should do a "make clean" at the toplevel first.)
 
 
 What's New
 ----------
 
-We try to have a comprehensive overview of the changes in the "What's New in
+We have a comprehensive overview of the changes in the "What's New in
 Python 3.6" document, found at
 
     http://docs.python.org/3.6/whatsnew/3.6.html
 
-For a more detailed change log, read Misc/NEWS (though this file, too, is
-incomplete, and also doesn't list anything merged in from the 2.7 release under
-development).
+For a more detailed change log, read Misc/NEWS (though this file, too,
+is incomplete, and also doesn't list anything merged in from the 2.7
+release under development).
 
 If you want to install multiple versions of Python see the section below
 entitled "Installing multiple versions".
@@ -98,10 +99,11 @@
 Testing
 -------
 
-To test the interpreter, type "make test" in the top-level directory.  The test
-set produces some output.  You can generally ignore the messages about skipped
-tests due to optional features which can't be imported.  If a message is printed
-about a failed test or a traceback or core dump is produced, something is wrong.
+To test the interpreter, type "make test" in the top-level directory.
+The test set produces some output.  You can generally ignore the messages
+about skipped tests due to optional features which can't be imported.
+If a message is printed about a failed test or a traceback or core dump
+is produced, something is wrong.
 
 By default, tests are prevented from overusing resources like disk space and
 memory.  To enable these tests, run "make testall".
@@ -139,7 +141,7 @@
 ------------------------------
 
 We're soliciting bug reports about all aspects of the language.  Fixes are also
-welcome, preferable in unified diff format.  Please use the issue tracker:
+welcome, preferably in unified diff format.  Please use the issue tracker:
 
     http://bugs.python.org/
 
@@ -182,11 +184,11 @@
 
 Copyright (c) 1991-1995 Stichting Mathematisch Centrum.  All rights reserved.
 
-See the file "LICENSE" for information on the history of this software, terms &
-conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.
+See the file "LICENSE" for information on the history of this software,
+terms & conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.
 
-This Python distribution contains *no* GNU General Public License (GPL) code, so
-it may be used in proprietary projects.  There are interfaces to some GNU code
-but these are entirely optional.
+This Python distribution contains *no* GNU General Public License (GPL) code,
+so it may be used in proprietary projects.  There are interfaces to some GNU
+code but these are entirely optional.
 
 All trademarks referenced herein are property of their respective holders.

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


More information about the Python-checkins mailing list