Skip to content
Snippets Groups Projects
Unverified Commit 6e02691f authored by Łukasz Langa's avatar Łukasz Langa
Browse files

Python 3.9.0a4

parent eb8ac57a
No related branches found
No related tags found
No related merge requests found
Showing
with 966 additions and 53 deletions
......@@ -20,10 +20,10 @@
#define PY_MINOR_VERSION 9
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 3
#define PY_RELEASE_SERIAL 4
/* Version as a string */
#define PY_VERSION "3.9.0a3+"
#define PY_VERSION "3.9.0a4"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
......
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Fri Jan 24 22:03:37 2020
# Autogenerated by Sphinx on Tue Feb 25 13:20:31 2020
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
......@@ -5291,9 +5291,12 @@
'Changed in version 3.6: Added the "\'_\'" option (see also '
'**PEP 515**).\n'
'\n'
'*width* is a decimal integer defining the minimum field '
'width. If not\n'
'specified, then the field width will be determined by the '
'*width* is a decimal integer defining the minimum total '
'field width,\n'
'including any prefixes, separators, and other formatting '
'characters.\n'
'If not specified, then the field width will be determined '
'by the\n'
'content.\n'
'\n'
'When no explicit alignment is given, preceding the *width* '
......@@ -9005,11 +9008,17 @@
'bases,\n'
'**kwds)" (where the additional keyword arguments, if any, '
'come from\n'
'the class definition).\n'
'the class definition). The "__prepare__" method should be '
'implemented\n'
'as a "classmethod()". The namespace returned by '
'"__prepare__" is\n'
'passed in to "__new__", but when the final class object is '
'created the\n'
'namespace is copied into a new "dict".\n'
'\n'
'If the metaclass has no "__prepare__" attribute, then the '
'class\n'
'namespace is initialised as an empty ordered mapping.\n'
'namespace is initialised as an empty "dict()".\n'
'\n'
'See also:\n'
'\n'
......
This diff is collapsed.
Remove ``COUNT_ALLOCS`` special build.
The Vectorcall API (PEP 590) was made public, adding the functions
``PyObject_Vectorcall``, ``PyObject_VectorcallMethod``,
``PyVectorcall_Function``, ``PyObject_CallOneArg``,
``PyObject_CallMethodNoArgs``, ``PyObject_CallMethodOneArg``,
``PyObject_FastCallDict``, and the flag ``Py_TPFLAGS_HAVE_VECTORCALL``.
Fix to clear the interpreter state only after clearing module globals to
guarantee module state access from C Extensions during runtime destruction
The :c:func:`PyThreadState_Clear` function now calls the
:c:member:`PyThreadState.on_delete` callback. Previously, that happened in
:c:func:`PyThreadState_Delete`.
Exclude trashcan mechanism from the limited C API: it requires access to
PyTypeObject and PyThreadState structure fields, whereas these structures
are opaque in the limited C API.
In the limited C API, ``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` are
now defined as aliases to :c:func:`PyObject_Init` and
:c:func:`PyObject_InitVar` to make their implementation opaque. It avoids to
leak implementation details in the limited C API. Exclude the following
functions from the limited C API: ``_Py_NewReference()``,
``_Py_ForgetReference()``, ``_PyTraceMalloc_NewReference()`` and
``_Py_GetRefTotal()``.
Convert :c:func:`PyType_HasFeature`, :c:func:`PyType_Check` and
:c:func:`PyType_CheckExact` macros to static inline functions.
Add a :c:func:`Py_SET_REFCNT` function to set the reference counter of an
object.
Add :c:func:`Py_SET_TYPE` function to set the type of an object.
:c:func:`PyUnicode_IsIdentifier` does not call :c:func:`Py_FatalError`
anymore if the string is not ready.
Add :c:func:`Py_SET_SIZE` function to set the size of an object.
Move the ``dtoa.h`` header file to the internal C API as ``pycore_dtoa.h``:
it only contains private functions (prefixed by ``_Py``). The :mod:`math` and
:mod:`cmath` modules must now be compiled with the ``Py_BUILD_CORE`` macro
defined.
Move the ``bytes_methods.h`` header file to the internal C API as
``pycore_bytes_methods.h``: it only contains private symbols (prefixed by
``_Py``), except of the ``PyDoc_STRVAR_shared()`` macro.
Optimized the idiom for assignment a temporary variable in comprehensions.
Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment
``y = expr``.
:class:`dict` (and :class:`collections.UserDict`) objects now support PEP 584's merge (``|``) and update (``|=``) operators.
Patch by Brandt Bucher.
Speed up calls to ``range()`` by about 30%, by using the
PEP 590 ``vectorcall`` calling convention. Patch by Mark Shannon.
Fix DTrace build issues on FreeBSD. Patch by David Carlier.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment