summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorMartin Panter <vadmium+py@gmail.com>2016-11-21 13:38:59 (GMT)
committerMartin Panter <vadmium+py@gmail.com>2016-11-21 13:38:59 (GMT)
commita2f7ee8b26e00124c0587932364b26635af84c45 (patch)
treea21d108790654f6eca48e4bbeb4fad26921d295f /Doc
parent8a6333dabf5582b1d0381c135e397cb46487e9f0 (diff)
downloadcpython-a2f7ee8b26e00124c0587932364b26635af84c45.zip
cpython-a2f7ee8b26e00124c0587932364b26635af84c45.tar.gz
cpython-a2f7ee8b26e00124c0587932364b26635af84c45.tar.bz2
Fix up grammar, markup, etc in 3.6 What’s New
Diffstat (limited to 'Doc')
-rw-r--r--Doc/whatsnew/3.6.rst102
1 files changed, 51 insertions, 51 deletions
diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst
index f43416d..ce59c82 100644
--- a/Doc/whatsnew/3.6.rst
+++ b/Doc/whatsnew/3.6.rst
@@ -425,16 +425,16 @@ which represents a file system path. Code can use :func:`os.fspath`,
object.
The built-in :func:`open` function has been updated to accept
-:class:`os.PathLike` objects as have all relevant functions in the
-:mod:`os` and :mod:`os.path` modules, as well as most functions and
+:class:`os.PathLike` objects, as have all relevant functions in the
+:mod:`os` and :mod:`os.path` modules, and most other functions and
classes in the standard library. The :class:`os.DirEntry` class
and relevant classes in :mod:`pathlib` have also been updated to
implement :class:`os.PathLike`.
-The hope in is that updating the fundamental functions for operating
+The hope is that updating the fundamental functions for operating
on file system paths will lead to third-party code to implicitly
support all :term:`path-like objects <path-like object>` without any
-code changes or at least very minimal ones (e.g. calling
+code changes, or at least very minimal ones (e.g. calling
:func:`os.fspath` at the beginning of code before operating on a
path-like object).
@@ -635,18 +635,18 @@ PYTHONMALLOC environment variable
---------------------------------
The new :envvar:`PYTHONMALLOC` environment variable allows setting the Python
-memory allocators and/or install debug hooks.
+memory allocators and installing debug hooks.
It is now possible to install debug hooks on Python memory allocators on Python
compiled in release mode using ``PYTHONMALLOC=debug``. Effects of debug hooks:
* Newly allocated memory is filled with the byte ``0xCB``
* Freed memory is filled with the byte ``0xDB``
-* Detect violations of Python memory allocator API. For example,
+* Detect violations of the Python memory allocator API. For example,
:c:func:`PyObject_Free` called on a memory block allocated by
:c:func:`PyMem_Malloc`.
-* Detect write before the start of the buffer (buffer underflow)
-* Detect write after the end of the buffer (buffer overflow)
+* Detect writes before the start of a buffer (buffer underflows)
+* Detect writes after the end of a buffer (buffer overflows)
* Check that the :term:`GIL <global interpreter lock>` is held when allocator
functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and
:c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called.
@@ -658,8 +658,8 @@ memory allocators.
It is now also possible to force the usage of the :c:func:`malloc` allocator of
the C library for all Python memory allocations using ``PYTHONMALLOC=malloc``.
-It helps to use external memory debuggers like Valgrind on a Python compiled in
-release mode.
+This is helpful when using external memory debuggers like Valgrind on
+a Python compiled in release mode.
On error, the debug hooks on Python memory allocators now use the
:mod:`tracemalloc` module to get the traceback where a memory block was
@@ -754,7 +754,7 @@ Some smaller changes made to the core Python language are:
* Import now raises the new exception :exc:`ModuleNotFoundError`
(subclass of :exc:`ImportError`) when it cannot find a module. Code
- that current checks for ImportError (in try-except) will still work.
+ that currently checks for ImportError (in try-except) will still work.
(Contributed by Eric Snow in :issue:`15767`.)
* Class methods relying on zero-argument ``super()`` will now work correctly
@@ -810,7 +810,7 @@ Contributed by Victor Stinner in :issue:`26146`.
asyncio
-------
-Starting with Python 3.6 the ``asyncio`` is no longer provisional and its
+Starting with Python 3.6 the ``asyncio`` module is no longer provisional and its
API is considered stable.
Notable changes in the :mod:`asyncio` module since Python 3.5.0
@@ -871,7 +871,7 @@ Notable changes in the :mod:`asyncio` module since Python 3.5.0
* :meth:`Future.set_exception <asyncio.futures.Future.set_exception>`
will now raise :exc:`TypeError` when passed an instance of
- :exc:`StopIteration` exception.
+ the :exc:`StopIteration` exception.
(Contributed by Chris Angelico in :issue:`26221`.)
* New :meth:`Loop.connect_accepted_socket() <asyncio.BaseEventLoop.connect_accepted_socket>`
@@ -909,7 +909,7 @@ added to represent sized iterable container classes.
(Contributed by Ivan Levkivskyi, docs by Neil Girdhar in :issue:`27598`.)
The new :class:`~collections.abc.Reversible` abstract base class represents
-iterable classes that also provide the :meth:`__reversed__`.
+iterable classes that also provide the :meth:`__reversed__` method.
(Contributed by Ivan Levkivskyi in :issue:`25987`.)
The new :class:`~collections.abc.AsyncGenerator` abstract base class represents
@@ -932,7 +932,7 @@ Recursive :class:`collections.deque` instances can now be pickled.
concurrent.futures
------------------
-The :class:`ThreadPoolExecutor <concurrent.futures.thread.ThreadPoolExecutor`
+The :class:`ThreadPoolExecutor <concurrent.futures.ThreadPoolExecutor>`
class constructor now accepts an optional *thread_name_prefix* argument
to make it possible to customize the names of the threads created by the
pool.
@@ -998,7 +998,7 @@ distutils
The ``default_format`` attribute has been removed from
:class:`distutils.command.sdist.sdist` and the ``formats``
attribute defaults to ``['gztar']``. Although not anticipated,
-Any code relying on the presence of ``default_format`` may
+any code relying on the presence of ``default_format`` may
need to be adapted. See :issue:`27819` for more details.
@@ -1027,7 +1027,7 @@ for the new policies it is :class:`~email.message.EmailMessage`.
encodings
---------
-On Windows, added the ``'oem'`` encoding to use ``CP_OEMCP`` and the ``'ansi'``
+On Windows, added the ``'oem'`` encoding to use ``CP_OEMCP``, and the ``'ansi'``
alias for the existing ``'mbcs'`` encoding, which uses the ``CP_ACP`` code page.
(Contributed by Steve Dower in :issue:`27959`.)
@@ -1192,7 +1192,7 @@ multiprocessing
os
--
-See the summary for :ref:`PEP 519 <whatsnew36-pep519>` for details on how the
+See the summary of :ref:`PEP 519 <whatsnew36-pep519>` for details on how the
:mod:`os` and :mod:`os.path` modules now support
:term:`path-like objects <path-like object>`.
@@ -1219,7 +1219,7 @@ pathlib
:mod:`pathlib` now supports :term:`path-like objects <path-like object>`.
(Contributed by Brett Cannon in :issue:`27186`.)
-See the summary for :ref:`PEP 519 <whatsnew36-pep519>` for details.
+See the summary of :ref:`PEP 519 <whatsnew36-pep519>` for details.
pdb
@@ -1232,7 +1232,7 @@ to control whether ``.pdbrc`` files should be read.
pickle
------
-Objects that need calling ``__new__`` with keyword arguments can now be pickled
+Objects that need ``__new__`` called with keyword arguments can now be pickled
using :ref:`pickle protocols <pickle-protocols>` older than protocol version 4.
Protocol version 4 already supports this case. (Contributed by Serhiy
Storchaka in :issue:`24164`.)
@@ -1241,7 +1241,7 @@ Storchaka in :issue:`24164`.)
pickletools
-----------
-:func:`pickletools.dis()` now outputs implicit memo index for the
+:func:`pickletools.dis()` now outputs the implicit memo index for the
``MEMOIZE`` opcode.
(Contributed by Serhiy Storchaka in :issue:`25382`.)
@@ -1278,7 +1278,7 @@ Match object groups can be accessed by ``__getitem__``, which is
equivalent to ``group()``. So ``mo['name']`` is now equivalent to
``mo.group('name')``. (Contributed by Eric Smith in :issue:`24454`.)
-:class:`~re.Match` objects in the now support
+:class:`~re.Match` objects now support
:meth:`index-like objects <object.__index__>` as group
indices.
(Contributed by Jeroen Demeyer and Xiang Zhang in :issue:`27177`.)
@@ -1338,7 +1338,7 @@ The :meth:`~socket.socket.getsockopt` constants ``SO_DOMAIN``,
The :meth:`~socket.socket.setsockopt` now supports the
``setsockopt(level, optname, None, optlen: int)`` form.
-(Contributed by Christian Heimes in issue:`27744`.)
+(Contributed by Christian Heimes in :issue:`27744`.)
The socket module now supports the address family
:data:`~socket.AF_ALG` to interface with Linux Kernel crypto API. ``ALG_*``,
@@ -1415,9 +1415,9 @@ subprocess
:class:`subprocess.Popen` destructor now emits a :exc:`ResourceWarning` warning
if the child process is still running. Use the context manager protocol (``with
-proc: ...``) or call explicitly the :meth:`~subprocess.Popen.wait` method to
-read the exit status of the child process (Contributed by Victor Stinner in
-:issue:`26741`).
+proc: ...``) or explicitly call the :meth:`~subprocess.Popen.wait` method to
+read the exit status of the child process. (Contributed by Victor Stinner in
+:issue:`26741`.)
The :class:`subprocess.Popen` constructor and all functions that pass arguments
through to it now accept *encoding* and *errors* arguments. Specifying either
@@ -1625,8 +1625,8 @@ A new optional *source* parameter has been added to the
:class:`warnings.WarningMessage` (contributed by Victor Stinner in
:issue:`26568` and :issue:`26567`).
-When a :exc:`ResourceWarning` warning is logged, the :mod:`tracemalloc` is now
-used to try to retrieve the traceback where the detroyed object was allocated.
+When a :exc:`ResourceWarning` warning is logged, the :mod:`tracemalloc` module is now
+used to try to retrieve the traceback where the destroyed object was allocated.
Example with the script ``example.py``::
@@ -1648,9 +1648,9 @@ Output of the command ``python3.6 -Wd -X tracemalloc=5 example.py``::
File "example.py", lineno 6
f = func()
-The "Object allocated at" traceback is new and only displayed if
+The "Object allocated at" traceback is new and is only displayed if
:mod:`tracemalloc` is tracing Python memory allocations and if the
-:mod:`warnings` was already imported.
+:mod:`warnings` module was already imported.
winreg
@@ -1672,7 +1672,7 @@ xmlrpc.client
-------------
The :mod:`xmlrpc.client` module now supports unmarshalling
-additional data types used by Apache XML-RPC implementation
+additional data types used by the Apache XML-RPC implementation
for numerics and ``None``.
(Contributed by Serhiy Storchaka in :issue:`26885`.)
@@ -1703,16 +1703,16 @@ Xiang Zhang in :issue:`16764` respectively.)
Optimizations
=============
-* Python interpreter now uses 16-bit wordcode instead of bytecode which
+* The Python interpreter now uses a 16-bit wordcode instead of bytecode which
made a number of opcode optimizations possible.
(Contributed by Demur Rumed with input and reviews from
Serhiy Storchaka and Victor Stinner in :issue:`26647` and :issue:`28050`.)
-* The :class:`Future <asyncio.futures.Future>` now has an optimized
+* The :class:`Future <asyncio.futures.Future>` class now has an optimized
C implementation.
(Contributed by Yury Selivanov and INADA Naoki in :issue:`26801`.)
-* The :class:`Task <asyncio.tasks.Task>` now has an optimized
+* The :class:`Task <asyncio.tasks.Task>` class now has an optimized
C implementation. (Contributed by Yury Selivanov in :issue:`28544`.)
* Various implementation improvements in the :mod:`typing` module
@@ -1758,7 +1758,7 @@ Optimizations
deserializing many small objects (Contributed by Victor Stinner in
:issue:`27056`).
-- Passing :term:`keyword arguments <keyword argument>` to a function has an
+* Passing :term:`keyword arguments <keyword argument>` to a function has an
overhead in comparison with passing :term:`positional arguments
<positional argument>`. Now in extension functions implemented with using
Argument Clinic this overhead is significantly decreased.
@@ -1791,7 +1791,7 @@ Build and C API Changes
For more information, see :pep:`7` and :issue:`17884`.
* Cross-compiling CPython with the Android NDK and the Android API level set to
- 21 (Android 5.0 Lollilop) or greater, runs successfully. While Android is not
+ 21 (Android 5.0 Lollilop) or greater runs successfully. While Android is not
yet a supported platform, the Python test suite runs on the Android emulator
with only about 16 tests failures. See the Android meta-issue :issue:`26865`.
@@ -1821,7 +1821,7 @@ Build and C API Changes
(Contributed by Eric Snow in :issue:`15767`.)
* The new :c:func:`PyErr_ResourceWarning` function can be used to generate
- the :exc:`ResourceWarning` providing the source of the resource allocation.
+ a :exc:`ResourceWarning` providing the source of the resource allocation.
(Contributed by Victor Stinner in :issue:`26567`.)
* The new :c:func:`PyOS_FSPath` function returns the file system
@@ -1977,7 +1977,7 @@ Deprecated functions and types of the C API
Undocumented functions :c:func:`PyUnicode_AsEncodedObject`,
:c:func:`PyUnicode_AsDecodedObject`, :c:func:`PyUnicode_AsEncodedUnicode`
and :c:func:`PyUnicode_AsDecodedUnicode` are deprecated now.
-Use :ref:`generic codec based API <codec-registry>` instead.
+Use the :ref:`generic codec based API <codec-registry>` instead.
Deprecated Build Options
@@ -2054,7 +2054,7 @@ Changes in the Python API
with ``'+'``.
(Contributed by Jeff Balogh and John O'Connor in :issue:`2091`.)
-* :mod:`sqlite3` no longer implicitly commit an open transaction before DDL
+* :mod:`sqlite3` no longer implicitly commits an open transaction before DDL
statements.
* On Linux, :func:`os.urandom` now blocks until the system urandom entropy pool
@@ -2067,12 +2067,12 @@ Changes in the Python API
argument is not set. Previously only ``NULL`` was returned.
* The format of the ``co_lnotab`` attribute of code objects changed to support
- negative line number delta. By default, Python does not emit bytecode with
- negative line number delta. Functions using ``frame.f_lineno``,
+ a negative line number delta. By default, Python does not emit bytecode with
+ a negative line number delta. Functions using ``frame.f_lineno``,
``PyFrame_GetLineNumber()`` or ``PyCode_Addr2Line()`` are not affected.
- Functions decoding directly ``co_lnotab`` should be updated to use a signed
- 8-bit integer type for the line number delta, but it's only required to
- support applications using negative line number delta. See
+ Functions directly decoding ``co_lnotab`` should be updated to use a signed
+ 8-bit integer type for the line number delta, but this is only required to
+ support applications using a negative line number delta. See
``Objects/lnotab_notes.txt`` for the ``co_lnotab`` format and how to decode
it, and see the :pep:`511` for the rationale.
@@ -2124,7 +2124,7 @@ Changes in the Python API
an error (e.g. ``EBADF``) was reported by the underlying system call.
(Contributed by Martin Panter in :issue:`26685`.)
-* The *decode_data* argument for :class:`smtpd.SMTPChannel` and
+* The *decode_data* argument for the :class:`smtpd.SMTPChannel` and
:class:`smtpd.SMTPServer` constructors is now ``False`` by default.
This means that the argument passed to
:meth:`~smtpd.SMTPServer.process_message` is now a bytes object by
@@ -2204,15 +2204,15 @@ Changes in the Python API
(Contributed by Ramchandra Apte in :issue:`17211`.)
* :func:`re.sub` now raises an error for invalid numerical group
- reference in replacement template even if the pattern is not
- found in the string. Error message for invalid group reference
+ references in replacement templates even if the pattern is not
+ found in the string. The error message for invalid group references
now includes the group index and the position of the reference.
(Contributed by SilentGhost, Serhiy Storchaka in :issue:`25953`.)
* :class:`zipfile.ZipFile` will now raise :exc:`NotImplementedError` for
unrecognized compression values. Previously a plain :exc:`RuntimeError`
- was raised. Additionally, calling :class:`~zipfile.ZipFile` methods or
- on a closed ZipFile or calling :meth:`~zipfile.ZipFile.write` methods
+ was raised. Additionally, calling :class:`~zipfile.ZipFile` methods
+ on a closed ZipFile or calling the :meth:`~zipfile.ZipFile.write` method
on a ZipFile created with mode ``'r'`` will raise a :exc:`ValueError`.
Previously, a :exc:`RuntimeError` was raised in those scenarios.
@@ -2220,8 +2220,8 @@ Changes in the Python API
Changes in the C API
--------------------
-* :c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc allocator
- <pymalloc>` rather than system :c:func:`malloc`. Applications calling
+* The :c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc allocator
+ <pymalloc>` rather than the system :c:func:`malloc`. Applications calling
:c:func:`PyMem_Malloc` without holding the GIL can now crash. Set the
:envvar:`PYTHONMALLOC` environment variable to ``debug`` to validate the
usage of memory allocators in your application. See :issue:`26249`.