Fix grammar in whatsnew/3.5.rst and elsewhere

Mainly missing grammatical articles (the, a).
This commit is contained in:
Martin Panter 2015-11-14 01:14:54 +00:00
parent 32acc16cda
commit 97ce0faa4d
3 changed files with 77 additions and 76 deletions

View File

@ -49,7 +49,7 @@ The :mod:`linecache` module defines the following functions:
.. function:: lazycache(filename, module_globals)
Capture enough detail about a non-file based module to permit getting its
Capture enough detail about a non-file-based module to permit getting its
lines later via :func:`getline` even if *module_globals* is None in the later
call. This avoids doing I/O until a line is actually needed, without having
to carry the module globals around indefinitely.

View File

@ -113,7 +113,7 @@ Significant improvements in the standard library:
:ref:`implemented in C <whatsnew-ordereddict>`, which makes it
4 to 100 times faster.
* :mod:`ssl` module gained
* The :mod:`ssl` module gained
:ref:`support for Memory BIO <whatsnew-sslmemorybio>`, which decouples SSL
protocol handling from network IO.
@ -346,7 +346,7 @@ unpackings::
PEP 461 - % formatting support for bytes and bytearray
------------------------------------------------------
:pep:`461` adds support for ``%``
:pep:`461` adds support for the ``%``
:ref:`interpolation operator <bytes-formatting>` to :class:`bytes`
and :class:`bytearray`.
@ -467,7 +467,7 @@ PEP 475: Retry system calls failing with EINTR
An :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
raise :exc:`InterruptedError` in such cases. This meant that, when writing a
Python application, the developer had two choices:
#. Ignore the ``InterruptedError``.
@ -514,7 +514,7 @@ by a signal:
:func:`~os.writev`;
* special cases: :func:`os.close` and :func:`os.dup2` now ignore
:py:data:`~errno.EINTR` error, the syscall is not retried (see the PEP
:py:data:`~errno.EINTR` errors; the syscall is not retried (see the PEP
for the rationale);
* :mod:`select` functions: :func:`devpoll.poll() <select.devpoll.poll>`,
@ -757,7 +757,7 @@ Steven Bethard, paul j3 and Daniel Eriksson in :issue:`14910`.)
asyncio
-------
Since :mod:`asyncio` module is :term:`provisional <provisional api>`,
Since the :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 the :mod:`asyncio` module since Python 3.4.0:
@ -857,7 +857,7 @@ makes it 4 to 100 times faster. (Contributed by Eric Snow in :issue:`16991`.)
The :class:`~collections.deque` class now defines
:meth:`~collections.deque.index`, :meth:`~collections.deque.insert`, and
:meth:`~collections.deque.copy`, as well as supports ``+`` and ``*`` operators.
:meth:`~collections.deque.copy`, and supports the ``+`` and ``*`` operators.
This allows deques to be recognized as a :class:`~collections.abc.MutableSequence`
and improves their substitutability for lists.
(Contributed by Raymond Hettinger in :issue:`23704`.)
@ -871,7 +871,7 @@ Docstrings produced by :func:`~collections.namedtuple` can now be updated::
(Contributed by Berker Peksag in :issue:`24064`.)
The :class:`~collections.UserString` class now implements
The :class:`~collections.UserString` class now implements the
:meth:`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`,
:meth:`~str.format_map`, :meth:`~str.isprintable`, and :meth:`~str.maketrans`
methods to match the corresponding methods of :class:`str`.
@ -925,8 +925,8 @@ The :meth:`Executor.map() <concurrent.futures.Executor.map>` method now accepts
:meth:`~concurrent.futures.ProcessPoolExecutor` is used.
(Contributed by Dan O'Reilly in :issue:`11271`.)
A number of workers in :class:`~concurrent.futures.ThreadPoolExecutor` constructor is
optional now. The default value equals to 5 times the number of CPUs.
The number of workers in the :class:`~concurrent.futures.ThreadPoolExecutor`
constructor is optional now. The default value is 5 times the number of CPUs.
(Contributed by Claudiu Popa in :issue:`21527`.)
@ -934,10 +934,10 @@ configparser
------------
:mod:`configparser` now provides a way to customize the conversion
of values by specifying a dictionary of converters in
of values by specifying a dictionary of converters in the
:class:`~configparser.ConfigParser` constructor, or by defining them
as methods in ``ConfigParser`` subclasses. Converters defined in
parser instance are inherited by its section proxies.
a parser instance are inherited by its section proxies.
Example::
@ -989,9 +989,9 @@ not just sequences. (Contributed by Serhiy Storchaka in :issue:`23171`.)
curses
------
The new :func:`~curses.update_lines_cols` function updates :envvar:`LINES`
The new :func:`~curses.update_lines_cols` function updates the :envvar:`LINES`
and :envvar:`COLS` environment variables. This is useful for detecting
manual screen resize. (Contributed by Arnon Yaari in :issue:`4254`.)
manual screen resizing. (Contributed by Arnon Yaari in :issue:`4254`.)
dbm
@ -1019,7 +1019,7 @@ strings. This fixes a regression from Python 2.
distutils
---------
Both ``build`` and ``build_ext`` commands now accept a ``-j`` option to
Both the ``build`` and ``build_ext`` commands now accept a ``-j`` option to
enable parallel building of extension modules.
(Contributed by Antoine Pitrou in :issue:`5309`.)
@ -1032,7 +1032,7 @@ doctest
-------
The :func:`~doctest.DocTestSuite` function returns an empty
:class:`unittest.TestSuite` if *module* contains no docstrings instead of
:class:`unittest.TestSuite` if *module* contains no docstrings, instead of
raising :exc:`ValueError`. (Contributed by Glenn Jones in :issue:`15916`.)
@ -1081,7 +1081,7 @@ specify the initial number of enum values if only *names* are provided::
faulthandler
------------
:func:`~faulthandler.enable`, :func:`~faulthandler.register`,
The :func:`~faulthandler.enable`, :func:`~faulthandler.register`,
:func:`~faulthandler.dump_traceback` and
:func:`~faulthandler.dump_traceback_later` functions now accept file
descriptors in addition to file-like objects.
@ -1093,7 +1093,7 @@ functools
.. _whatsnew-lrucache:
Most of :func:`~functools.lru_cache` machinery is now implemented in C, making
Most of the :func:`~functools.lru_cache` machinery is now implemented in C, making
it significantly faster. (Contributed by Matt Joiner, Alexey Kachayev, and
Serhiy Storchaka in :issue:`14373`.)
@ -1101,15 +1101,15 @@ Serhiy Storchaka in :issue:`14373`.)
glob
----
:func:`~glob.iglob` and :func:`~glob.glob` functions now support recursive
search in subdirectories using the ``"**"`` pattern.
The :func:`~glob.iglob` and :func:`~glob.glob` functions now support recursive
search in subdirectories, using the ``"**"`` pattern.
(Contributed by Serhiy Storchaka in :issue:`13968`.)
gzip
----
The *mode* argument of :class:`~gzip.GzipFile` constructor now
The *mode* argument of the :class:`~gzip.GzipFile` constructor now
accepts ``"x"`` to request exclusive creation.
(Contributed by Tim Heaney in :issue:`19222`.)
@ -1176,7 +1176,7 @@ from the IDLE :menuselection:`Help --> About IDLE` dialog.
imaplib
-------
The :class:`~imaplib.IMAP4` class now supports :term:`context manager` protocol.
The :class:`~imaplib.IMAP4` class now supports the :term:`context manager` protocol.
When used in a :keyword:`with` statement, the IMAP4 ``LOGOUT``
command will be called automatically at the end of the block.
(Contributed by Tarek Ziadé and Serhiy Storchaka in :issue:`4972`.)
@ -1184,7 +1184,7 @@ command will be called automatically at the end of the block.
The :mod:`imaplib` module now supports :rfc:`5161` (ENABLE Extension)
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.
attribute tracks whether or not :rfc:`6855` support is enabled.
(Contributed by Milan Oberkirch, R. David Murray, and Maciej Szulik in
:issue:`21800`.)
@ -1226,7 +1226,7 @@ spec object. (Contributed by Brett Cannon in :issue:`20383`.)
inspect
-------
Both :class:`~inspect.Signature` and :class:`~inspect.Parameter` classes are
Both the :class:`~inspect.Signature` and :class:`~inspect.Parameter` classes are
now picklable and hashable. (Contributed by Yury Selivanov in :issue:`20726`
and :issue:`20334`.)
@ -1260,7 +1260,7 @@ A set of new functions to inspect
and :func:`~inspect.getcoroutinestate`.
(Contributed by Yury Selivanov in :issue:`24017` and :issue:`24400`.)
:func:`~inspect.stack`, :func:`~inspect.trace`,
The :func:`~inspect.stack`, :func:`~inspect.trace`,
:func:`~inspect.getouterframes`, and :func:`~inspect.getinnerframes`
functions now return a list of named tuples.
(Contributed by Daniel Shahaf in :issue:`16808`.)
@ -1279,7 +1279,7 @@ method, that uses at most one call to the underlying raw stream's
ipaddress
---------
Both :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes
Both the :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes
now accept an ``(address, netmask)`` tuple argument, so as to easily construct
network objects from existing addresses::
@ -1291,7 +1291,7 @@ network objects from existing addresses::
(Contributed by Peter Moody and Antoine Pitrou in :issue:`16531`.)
A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for
A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for the
:class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes
returns the name of the reverse DNS PTR record::
@ -1323,7 +1323,7 @@ linecache
---------
A new :func:`~linecache.lazycache` function can be used to capture information
about a non-file based module to permit getting its lines later via
about a non-file-based module to permit getting its lines later via
:func:`~linecache.getline`. This avoids doing I/O until a line is actually
needed, without having to carry the module globals around indefinitely.
(Contributed by Robert Collins in :issue:`17911`.)
@ -1436,13 +1436,13 @@ 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
The :func:`~os.urandom` function now uses the ``getrandom()`` syscall on Linux 3.17
or newer, and ``getentropy()`` on OpenBSD 5.6 and newer, removing the need to
use ``/dev/urandom`` and avoiding failures due to potential file descriptor
exhaustion. (Contributed by Victor Stinner in :issue:`22181`.)
New :func:`~os.get_blocking` and :func:`~os.set_blocking` functions allow to
get and set a file descriptor blocking mode (:data:`~os.O_NONBLOCK`.)
get and set a file descriptor's blocking mode (:data:`~os.O_NONBLOCK`.)
(Contributed by Victor Stinner in :issue:`22054`.)
The :func:`~os.truncate` and :func:`~os.ftruncate` functions are now supported
@ -1466,8 +1466,8 @@ pathlib
-------
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::
to check whether the path points to the same file as another path, which can
be either another :class:`~pathlib.Path` object, or a string::
>>> import pathlib
>>> p1 = pathlib.Path('/etc/hosts')
@ -1486,7 +1486,7 @@ 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
an instance of :class:`~pathlib.Path` object representing the users home
a :class:`~pathlib.Path` instance representing the users home
directory.
(Contributed by Victor Salgado and Mayank Tripathi in :issue:`19777`.)
@ -1539,17 +1539,17 @@ allowed in lookbehind assertions::
(Contributed by Serhiy Storchaka in :issue:`9179`.)
The number of capturing groups in regular expression is no longer limited by
The number of capturing groups in regular expressions is no longer limited to
100. (Contributed by Serhiy Storchaka in :issue:`22437`.)
The :func:`~re.sub` and :func:`~re.subn` functions now replace unmatched
groups with empty strings instead of raising an exception.
(Contributed by Serhiy Storchaka in :issue:`1519638`.)
The :class:`re.error` exceptions have new attributes:
The :class:`re.error` exceptions have new attributes,
:attr:`~re.error.msg`, :attr:`~re.error.pattern`,
:attr:`~re.error.pos`, :attr:`~re.error.lineno`,
and :attr:`~re.error.colno` that provide better context
and :attr:`~re.error.colno`, that provide better context
information about the error::
>>> re.compile("""
@ -1607,7 +1607,7 @@ during debugging, instead of integer "magic numbers".
smtpd
-----
Both :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes now
Both the :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes now
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
@ -1649,7 +1649,7 @@ 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
Both the :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`.)
@ -1658,7 +1658,7 @@ support support :rfc:`6531` (SMTPUTF8).
sndhdr
------
:func:`~sndhdr.what` and :func:`~sndhdr.whathdr` functions now return
The :func:`~sndhdr.what` and :func:`~sndhdr.whathdr` functions now return
a :func:`~collections.namedtuple`. (Contributed by Claudiu Popa in
:issue:`18615`.)
@ -1671,7 +1671,7 @@ Functions with timeouts now use a monotonic clock, instead of a system clock.
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
function on UNIX, resulting in uploads being from 2 to 3 times faster than when
using plain :meth:`socket.send() <socket.socket.send>`.
(Contributed by Giampaolo Rodola' in :issue:`17552`.)
@ -1682,7 +1682,7 @@ now the maximum total duration to send all data.
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.
:data:`SOMAXCONN <socket.SOMAXCONN>` or to ``128``, whichever is less.
(Contributed by Charles-François Natali in :issue:`21455`.)
@ -1698,7 +1698,7 @@ Memory BIO Support
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. ``SSLObject`` represents
are not necessary or are 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.
@ -1716,8 +1716,8 @@ Application-Layer Protocol Negotiation Support
(Contributed by Benjamin Peterson in :issue:`20188`.)
Where OpenSSL support is present, :mod:`ssl` module now implements
*Application-Layer Protocol Negotiation* TLS extension as described
Where OpenSSL support is present, the :mod:`ssl` module now implements
the *Application-Layer Protocol Negotiation* TLS extension as described
in :rfc:`7301`.
The new :meth:`SSLContext.set_alpn_protocols() <ssl.SSLContext.set_alpn_protocols>`
@ -1727,7 +1727,7 @@ the TLS handshake.
The new
: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 ALPN support is present.
The :data:`~ssl.HAS_ALPN` flag indicates whether ALPN support is present.
Other Changes
@ -1742,7 +1742,7 @@ 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
:exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` exception on a
the :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`.)
@ -1758,7 +1758,7 @@ the list of ciphers sent by the client during the handshake.
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`
:meth:`SSLSocket.write() <ssl.SSLSocket.write>` methods of the :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`.)
@ -1770,7 +1770,7 @@ The :func:`~ssl.match_hostname` function now supports matching of IP addresses.
sqlite3
-------
The :class:`~sqlite3.Row` class now fully supports sequence protocol,
The :class:`~sqlite3.Row` class now fully supports the sequence protocol,
in particular :func:`reversed` iteration and slice indexing.
(Contributed by Claudiu Popa in :issue:`10203`; by Lucas Sinclair,
Jessica McKellar, and Serhiy Storchaka in :issue:`13583`.)
@ -1824,7 +1824,7 @@ sysconfig
---------
The name of the user scripts directory on Windows now includes the first
two components of Python version. (Contributed by Paul Moore
two components of the Python version. (Contributed by Paul Moore
in :issue:`23437`.)
@ -1834,7 +1834,7 @@ tarfile
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
The :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.
@ -1851,7 +1851,7 @@ by :meth:`TarFile.getmembers() <tarfile.TarFile.getmembers>`.
threading
---------
Both :meth:`Lock.acquire() <threading.Lock.acquire>` and
Both the :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`.)
@ -1898,7 +1898,7 @@ New lightweight classes: :class:`~traceback.TracebackException`,
:class:`~traceback.StackSummary`, and :class:`~traceback.FrameSummary`.
(Contributed by Robert Collins in :issue:`17911`.)
Both :func:`~traceback.print_tb` and :func:`~traceback.print_stack` functions
Both the :func:`~traceback.print_tb` and :func:`~traceback.print_stack` functions
now support negative values for the *limit* argument.
(Contributed by Dmitry Kazakov in :issue:`22619`.)
@ -1912,8 +1912,8 @@ A new :func:`~types.coroutine` function to transform
:term:`awaitables <awaitable>`.
(Contributed by Yury Selivanov in :issue:`24017`.)
A new :class:`~types.CoroutineType` is the type of :term:`coroutine` objects
created by :keyword:`async def` functions.
A new type called :class:`~types.CoroutineType`, which is used for
:term:`coroutine` objects created by :keyword:`async def` functions.
(Contributed by Yury Selivanov in :issue:`24400`.)
@ -1934,7 +1934,7 @@ method now accepts a keyword-only argument *pattern* which is passed to
is impossible for a package name to match the default pattern.
(Contributed by Robert Collins and Barry A. Warsaw in :issue:`16662`.)
Unittest discovery errors now are exposed in
Unittest discovery errors now are exposed in the
:data:`TestLoader.errors <unittest.TestLoader.errors>` attribute of the
:class:`~unittest.TestLoader` instance.
(Contributed by Robert Collins in :issue:`19746`.)
@ -1948,7 +1948,7 @@ unittest.mock
The :class:`~unittest.mock.Mock` class has the following improvements:
* Class constructor has a new *unsafe* parameter, which causes mock
* The class constructor has a new *unsafe* parameter, which causes mock
objects to raise :exc:`AttributeError` on attribute names starting
with ``"assert"``.
(Contributed by Kushal Das in :issue:`21238`.)
@ -2006,10 +2006,10 @@ xmlrpc
------
The :class:`client.ServerProxy <xmlrpc.client.ServerProxy>` class now supports
:term:`context manager` protocol.
the :term:`context manager` protocol.
(Contributed by Claudiu Popa in :issue:`20627`.)
:class:`client.ServerProxy <xmlrpc.client.ServerProxy>` constructor now accepts
The :class:`client.ServerProxy <xmlrpc.client.ServerProxy>` constructor now accepts
an optional :class:`ssl.SSLContext` instance.
(Contributed by Alex Gaynor in :issue:`22960`.)
@ -2039,7 +2039,7 @@ accepts ``"x"`` to request exclusive creation.
Other module-level changes
==========================
Many functions in :mod:`mmap`, :mod:`ossaudiodev`, :mod:`socket`,
Many functions in the :mod:`mmap`, :mod:`ossaudiodev`, :mod:`socket`,
:mod:`ssl`, and :mod:`codecs` modules now accept writable
:term:`bytes-like objects <bytes-like object>`.
(Contributed by Serhiy Storchaka in :issue:`23001`.)
@ -2098,7 +2098,7 @@ Method caching was slightly improved, yielding up to 5% performance
improvement in some benchmarks.
(Contributed by Antoine Pitrou in :issue:`22847`.)
Objects from :mod:`random` module now use 50% less memory on 64-bit
Objects from the :mod:`random` module now use 50% less memory on 64-bit
builds. (Contributed by Serhiy Storchaka in :issue:`23488`.)
The :func:`property` getter calls are up to 25% faster.
@ -2108,7 +2108,7 @@ Instantiation of :class:`fractions.Fraction` is now up to 30% faster.
(Contributed by Stefan Behnel in :issue:`22464`.)
String methods :meth:`~str.find`, :meth:`~str.rfind`, :meth:`~str.split`,
:meth:`~str.partition` and :keyword:`in` string operator are now significantly
:meth:`~str.partition` and the :keyword:`in` string operator are now significantly
faster for searching 1-character substrings.
(Contributed by Serhiy Storchaka in :issue:`23573`.)
@ -2154,14 +2154,14 @@ multiplication.
(Contributed by Benjamin Peterson in :issue:`21176`. See also :pep:`465`
for details.)
The :c:member:`PyTypeObject.tp_finalize` slot is now part of stable ABI.
The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI.
Windows builds now require Microsoft Visual C++ 14.0, which
is available as part of `Visual Studio 2015 <http://www.visualstudio.com>`_.
Extension modules now include platform information tag in their filename on
Extension modules now include a platform information tag in their filename on
some platforms (the tag is optional, and CPython will import extensions without
it; although if the tag is present and mismatched, the extension won't be
it, although if the tag is present and mismatched, the extension won't be
loaded):
* On Linux, extension module filenames end with
@ -2217,7 +2217,7 @@ become proper keywords in Python 3.7.
Deprecated Python Behavior
--------------------------
Raising :exc:`StopIteration` exception inside a generator will now generate a silent
Raising the :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>`
@ -2276,7 +2276,7 @@ The :mod:`inspect` :func:`~inspect.getfullargspec`,
:func:`~inspect.getargvalues`, :func:`~inspect.getcallargs`,
:func:`~inspect.getargvalues`, :func:`~inspect.formatargspec`, and
:func:`~inspect.formatargvalues` functions are deprecated in favor of
:func:`inspect.signature` API.
the :func:`inspect.signature` API.
(Contributed by Yury Selivanov in :issue:`20438`.)
Use of :const:`re.LOCALE` flag with str patterns or :const:`re.ASCII` is now
@ -2354,7 +2354,7 @@ Changes in the Python API
on a non-blocking socket if the operation would block. Previously,
it would return ``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)
* The ``__name__`` attribute of generator is now set from the function name,
* The ``__name__`` attribute of generators is now set from the function name,
instead of being set from the code name. Use ``gen.gi_code.co_name`` to
retrieve the code name. Generators also have a new ``__qualname__``
attribute, the qualified name, which is now used for the representation
@ -2376,7 +2376,7 @@ Changes in the Python API
* If the current directory is set to a directory that no longer exists then
:exc:`FileNotFoundError` will no longer be raised and instead
:meth:`~importlib.machinery.FileFinder.find_spec` will return ``None``
**without** caching ``None`` in :data:`sys.path_importer_cache` which is
**without** caching ``None`` in :data:`sys.path_importer_cache`, which is
different than the typical case (:issue:`22834`).
* HTTP status code and messages from :mod:`http.client` and :mod:`http.server`
@ -2395,7 +2395,7 @@ Changes in the Python API
* The :func:`re.split` function always ignored empty pattern matches, so the
``"x*"`` pattern worked the same as ``"x+"``, and the ``"\b"`` pattern never
worked. Now :func:`re.split` raises a warning if the pattern could match
an empty string. For compatibility use patterns that never match an empty
an empty string. For compatibility, use patterns that never match an empty
string (e.g. ``"x+"`` instead of ``"x*"``). Patterns that could only match
an empty string (such as ``"\b"``) now raise an error.
(Contributed by Serhiy Storchaka in :issue:`22818`.)
@ -2431,9 +2431,9 @@ Changes in the Python API
* The ``pygettext.py`` Tool now uses the standard +NNNN format for timezones in
the POT-Creation-Date header.
* The :mod:`smtplib` module now uses :data:`sys.stderr` instead of previous
module level :data:`stderr` variable for debug output. If your (test)
program depends on patching the module level variable to capture the debug
* The :mod:`smtplib` module now uses :data:`sys.stderr` instead of the previous
module-level :data:`stderr` variable for debug output. If your (test)
program depends on patching the module-level variable to capture the debug
output, you will need to update it to capture sys.stderr instead.
* The :meth:`str.startswith` and :meth:`str.endswith` methods no longer return
@ -2471,11 +2471,12 @@ Changes in the C API
(Contributed by Serhiy Storchaka in :issue:`22453`.)
* Because the lack of the :attr:`__module__` attribute breaks pickling and
introspection, a deprecation warning now is raised for builtin type without
the :attr:`__module__` attribute. Would be an AttributeError in future.
introspection, a deprecation warning is now raised for builtin types without
the :attr:`__module__` attribute. This would be an AttributeError in
the future.
(Contributed by Serhiy Storchaka in :issue:`20204`.)
* As part of :pep:`492` implementation, ``tp_reserved`` slot of
* As part of the :pep:`492` implementation, the ``tp_reserved`` slot of
:c:type:`PyTypeObject` was replaced with a
:c:member:`tp_as_async` slot. Refer to :ref:`coro-objects` for
new types, structures and functions.

View File

@ -1674,7 +1674,7 @@ Build
C API
-----
- Issue #20204: Deprecation warning is now raised for builtin type without the
- Issue #20204: Deprecation warning is now raised for builtin types without the
__module__ attribute.
Windows