mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
Python 3.8.0b1
This commit is contained in:
@@ -36,7 +36,7 @@ import suspicious
|
||||
|
||||
|
||||
ISSUE_URI = 'https://bugs.python.org/issue%s'
|
||||
SOURCE_URI = 'https://github.com/python/cpython/tree/master/%s'
|
||||
SOURCE_URI = 'https://github.com/python/cpython/tree/3.8/%s'
|
||||
|
||||
# monkey-patch reST parser to disable alphabetic and roman enumerated lists
|
||||
from docutils.parsers.rst.states import Body
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 8
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||
#define PY_RELEASE_SERIAL 4
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
||||
#define PY_RELEASE_SERIAL 1
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.8.0a4+"
|
||||
#define PY_VERSION "3.8.0b1"
|
||||
/*--end constants--*/
|
||||
|
||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Autogenerated by Sphinx on Wed May 29 01:18:52 2019
|
||||
# Autogenerated by Sphinx on Tue Jun 4 19:40:37 2019
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
@@ -357,12 +357,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'a variable or attribute annotation and an optional assignment\n'
|
||||
'statement:\n'
|
||||
'\n'
|
||||
' annotated_assignment_stmt ::= augtarget ":" expression ["=" '
|
||||
'expression]\n'
|
||||
' annotated_assignment_stmt ::= augtarget ":" expression\n'
|
||||
' ["=" (starred_expression | '
|
||||
'yield_expression)]\n'
|
||||
'\n'
|
||||
'The difference from normal Assignment statements is that only '
|
||||
'single\n'
|
||||
'target and only single right hand side value is allowed.\n'
|
||||
'target is allowed.\n'
|
||||
'\n'
|
||||
'For simple names as assignment targets, if in class or module '
|
||||
'scope,\n'
|
||||
@@ -409,7 +410,14 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'standard\n'
|
||||
' syntax for type annotations that can be used in static '
|
||||
'analysis\n'
|
||||
' tools and IDEs.\n',
|
||||
' tools and IDEs.\n'
|
||||
'\n'
|
||||
'Changed in version 3.8: Now annotated assignments allow same\n'
|
||||
'expressions in the right hand side as the regular '
|
||||
'assignments.\n'
|
||||
'Previously, some expressions (like un-parenthesized tuple '
|
||||
'expressions)\n'
|
||||
'caused a syntax error.\n',
|
||||
'async': 'Coroutines\n'
|
||||
'**********\n'
|
||||
'\n'
|
||||
@@ -2026,21 +2034,22 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
'For user-defined classes which do not define "__contains__()" '
|
||||
'but do\n'
|
||||
'define "__iter__()", "x in y" is "True" if some value "z" '
|
||||
'with "x ==\n'
|
||||
'z" is produced while iterating over "y". If an exception is '
|
||||
'raised\n'
|
||||
'during the iteration, it is as if "in" raised that '
|
||||
'exception.\n'
|
||||
'define "__iter__()", "x in y" is "True" if some value "z", '
|
||||
'for which\n'
|
||||
'the expression "x is z or x == z" is true, is produced while '
|
||||
'iterating\n'
|
||||
'over "y". If an exception is raised during the iteration, it '
|
||||
'is as if\n'
|
||||
'"in" raised that exception.\n'
|
||||
'\n'
|
||||
'Lastly, the old-style iteration protocol is tried: if a class '
|
||||
'defines\n'
|
||||
'"__getitem__()", "x in y" is "True" if and only if there is a '
|
||||
'non-\n'
|
||||
'negative integer index *i* such that "x == y[i]", and all '
|
||||
'lower\n'
|
||||
'integer indices do not raise "IndexError" exception. (If any '
|
||||
'other\n'
|
||||
'negative integer index *i* such that "x is y[i] or x == '
|
||||
'y[i]", and no\n'
|
||||
'lower integer index raises the "IndexError" exception. (If '
|
||||
'any other\n'
|
||||
'exception is raised, it is as if "in" raised that '
|
||||
'exception).\n'
|
||||
'\n'
|
||||
@@ -5081,7 +5090,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'Meaning '
|
||||
'|\n'
|
||||
' '
|
||||
'|===========|============================================================|\n'
|
||||
'+===========+============================================================+\n'
|
||||
' | "\'<\'" | Forces the field to be left-aligned '
|
||||
'within the available |\n'
|
||||
' | | space (this is the default for most '
|
||||
@@ -5130,7 +5139,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'Meaning '
|
||||
'|\n'
|
||||
' '
|
||||
'|===========|============================================================|\n'
|
||||
'+===========+============================================================+\n'
|
||||
' | "\'+\'" | indicates that a sign should be used for '
|
||||
'both positive as |\n'
|
||||
' | | well as negative '
|
||||
@@ -5234,7 +5243,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'Meaning '
|
||||
'|\n'
|
||||
' '
|
||||
'|===========|============================================================|\n'
|
||||
'+===========+============================================================+\n'
|
||||
' | "\'s\'" | String format. This is the default type '
|
||||
'for strings and |\n'
|
||||
' | | may be '
|
||||
@@ -5254,7 +5263,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'Meaning '
|
||||
'|\n'
|
||||
' '
|
||||
'|===========|============================================================|\n'
|
||||
'+===========+============================================================+\n'
|
||||
' | "\'b\'" | Binary format. Outputs the number in '
|
||||
'base 2. |\n'
|
||||
' '
|
||||
@@ -5316,7 +5325,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'Meaning '
|
||||
'|\n'
|
||||
' '
|
||||
'|===========|============================================================|\n'
|
||||
'+===========+============================================================+\n'
|
||||
' | "\'e\'" | Exponent notation. Prints the number in '
|
||||
'scientific |\n'
|
||||
' | | notation using the letter ‘e’ to indicate '
|
||||
@@ -6334,14 +6343,16 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'"False" otherwise.\n'
|
||||
'\n'
|
||||
'For user-defined classes which do not define "__contains__()" but do\n'
|
||||
'define "__iter__()", "x in y" is "True" if some value "z" with "x ==\n'
|
||||
'z" is produced while iterating over "y". If an exception is raised\n'
|
||||
'during the iteration, it is as if "in" raised that exception.\n'
|
||||
'define "__iter__()", "x in y" is "True" if some value "z", for which\n'
|
||||
'the expression "x is z or x == z" is true, is produced while '
|
||||
'iterating\n'
|
||||
'over "y". If an exception is raised during the iteration, it is as if\n'
|
||||
'"in" raised that exception.\n'
|
||||
'\n'
|
||||
'Lastly, the old-style iteration protocol is tried: if a class defines\n'
|
||||
'"__getitem__()", "x in y" is "True" if and only if there is a non-\n'
|
||||
'negative integer index *i* such that "x == y[i]", and all lower\n'
|
||||
'integer indices do not raise "IndexError" exception. (If any other\n'
|
||||
'negative integer index *i* such that "x is y[i] or x == y[i]", and no\n'
|
||||
'lower integer index raises the "IndexError" exception. (If any other\n'
|
||||
'exception is raised, it is as if "in" raised that exception).\n'
|
||||
'\n'
|
||||
'The operator "not in" is defined to have the inverse truth value of\n'
|
||||
@@ -6850,11 +6861,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'numeric\n'
|
||||
' object is an integer type. Must return an integer.\n'
|
||||
'\n'
|
||||
' Note: In order to have a coherent integer type class, '
|
||||
'when\n'
|
||||
' "__index__()" is defined "__int__()" should also be '
|
||||
'defined, and\n'
|
||||
' both should return the same value.\n'
|
||||
' If "__int__()", "__float__()" and "__complex__()" are '
|
||||
'not defined\n'
|
||||
' then corresponding built-in functions "int()", "float()" '
|
||||
'and\n'
|
||||
' "complex()" fall back to "__index__()".\n'
|
||||
'\n'
|
||||
'object.__round__(self[, ndigits])\n'
|
||||
'object.__trunc__(self)\n'
|
||||
@@ -7025,7 +7036,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
'| Operator | '
|
||||
'Description |\n'
|
||||
'|=================================================|=======================================|\n'
|
||||
'+=================================================+=======================================+\n'
|
||||
'| "lambda" | '
|
||||
'Lambda expression |\n'
|
||||
'+-------------------------------------------------+---------------------------------------+\n'
|
||||
@@ -8716,7 +8727,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' in:\n'
|
||||
'\n'
|
||||
' class Philosopher:\n'
|
||||
' def __init_subclass__(cls, default_name, '
|
||||
' def __init_subclass__(cls, /, default_name, '
|
||||
'**kwargs):\n'
|
||||
' super().__init_subclass__(**kwargs)\n'
|
||||
' cls.default_name = default_name\n'
|
||||
@@ -9469,11 +9480,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'numeric\n'
|
||||
' object is an integer type. Must return an integer.\n'
|
||||
'\n'
|
||||
' Note: In order to have a coherent integer type class, '
|
||||
'when\n'
|
||||
' "__index__()" is defined "__int__()" should also be '
|
||||
'defined, and\n'
|
||||
' both should return the same value.\n'
|
||||
' If "__int__()", "__float__()" and "__complex__()" are not '
|
||||
'defined\n'
|
||||
' then corresponding built-in functions "int()", "float()" '
|
||||
'and\n'
|
||||
' "complex()" fall back to "__index__()".\n'
|
||||
'\n'
|
||||
'object.__round__(self[, ndigits])\n'
|
||||
'object.__trunc__(self)\n'
|
||||
@@ -10269,7 +10280,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' | Representation | '
|
||||
'Description |\n'
|
||||
' '
|
||||
'|=========================|===============================|\n'
|
||||
'+=========================+===============================+\n'
|
||||
' | "\\n" | Line '
|
||||
'Feed |\n'
|
||||
' '
|
||||
@@ -10608,7 +10619,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'+-------------------+-----------------------------------+---------+\n'
|
||||
'| Escape Sequence | Meaning | Notes '
|
||||
'|\n'
|
||||
'|===================|===================================|=========|\n'
|
||||
'+===================+===================================+=========+\n'
|
||||
'| "\\newline" | Backslash and newline ignored '
|
||||
'| |\n'
|
||||
'+-------------------+-----------------------------------+---------+\n'
|
||||
@@ -10654,7 +10665,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'+-------------------+-----------------------------------+---------+\n'
|
||||
'| Escape Sequence | Meaning | Notes '
|
||||
'|\n'
|
||||
'|===================|===================================|=========|\n'
|
||||
'+===================+===================================+=========+\n'
|
||||
'| "\\N{name}" | Character named *name* in the | '
|
||||
'(4) |\n'
|
||||
'| | Unicode database | '
|
||||
@@ -11292,7 +11303,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
' | Attribute | Meaning '
|
||||
'| |\n'
|
||||
' '
|
||||
'|===========================|=================================|=============|\n'
|
||||
'+===========================+=================================+=============+\n'
|
||||
' | "__doc__" | The function’s documentation '
|
||||
'| Writable |\n'
|
||||
' | | string, or "None" if '
|
||||
@@ -11769,33 +11780,36 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'\n'
|
||||
' Special read-only attributes: "co_name" gives the function '
|
||||
'name;\n'
|
||||
' "co_argcount" is the number of positional arguments '
|
||||
'(including\n'
|
||||
' arguments with default values); "co_nlocals" is the number '
|
||||
'of\n'
|
||||
' local variables used by the function (including arguments);\n'
|
||||
' "co_varnames" is a tuple containing the names of the local\n'
|
||||
' variables (starting with the argument names); "co_cellvars" '
|
||||
'is a\n'
|
||||
' tuple containing the names of local variables that are\n'
|
||||
' referenced by nested functions; "co_freevars" is a tuple\n'
|
||||
' containing the names of free variables; "co_code" is a '
|
||||
'string\n'
|
||||
' representing the sequence of bytecode instructions; '
|
||||
'"co_consts"\n'
|
||||
' is a tuple containing the literals used by the bytecode;\n'
|
||||
' "co_names" is a tuple containing the names used by the '
|
||||
'bytecode;\n'
|
||||
' "co_filename" is the filename from which the code was '
|
||||
'compiled;\n'
|
||||
' "co_firstlineno" is the first line number of the function;\n'
|
||||
' "co_lnotab" is a string encoding the mapping from bytecode\n'
|
||||
' offsets to line numbers (for details see the source code of '
|
||||
' "co_argcount" is the total number of positional arguments\n'
|
||||
' (including positional-only arguments and arguments with '
|
||||
'default\n'
|
||||
' values); "co_posonlyargcount" is the number of '
|
||||
'positional-only\n'
|
||||
' arguments (including arguments with default values);\n'
|
||||
' "co_kwonlyargcount" is the number of keyword-only arguments\n'
|
||||
' (including arguments with default values); "co_nlocals" is '
|
||||
'the\n'
|
||||
' interpreter); "co_stacksize" is the required stack size\n'
|
||||
' (including local variables); "co_flags" is an integer '
|
||||
'encoding a\n'
|
||||
' number of flags for the interpreter.\n'
|
||||
' number of local variables used by the function (including\n'
|
||||
' arguments); "co_varnames" is a tuple containing the names of '
|
||||
'the\n'
|
||||
' local variables (starting with the argument names);\n'
|
||||
' "co_cellvars" is a tuple containing the names of local '
|
||||
'variables\n'
|
||||
' that are referenced by nested functions; "co_freevars" is a\n'
|
||||
' tuple containing the names of free variables; "co_code" is a\n'
|
||||
' string representing the sequence of bytecode instructions;\n'
|
||||
' "co_consts" is a tuple containing the literals used by the\n'
|
||||
' bytecode; "co_names" is a tuple containing the names used by '
|
||||
'the\n'
|
||||
' bytecode; "co_filename" is the filename from which the code '
|
||||
'was\n'
|
||||
' compiled; "co_firstlineno" is the first line number of the\n'
|
||||
' function; "co_lnotab" is a string encoding the mapping from\n'
|
||||
' bytecode offsets to line numbers (for details see the source\n'
|
||||
' code of the interpreter); "co_stacksize" is the required '
|
||||
'stack\n'
|
||||
' size (including local variables); "co_flags" is an integer\n'
|
||||
' encoding a number of flags for the interpreter.\n'
|
||||
'\n'
|
||||
' The following flag bits are defined for "co_flags": bit '
|
||||
'"0x04"\n'
|
||||
@@ -12563,7 +12577,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'+----------------------------+----------------------------------+------------+\n'
|
||||
'| Operation | Result '
|
||||
'| Notes |\n'
|
||||
'|============================|==================================|============|\n'
|
||||
'+============================+==================================+============+\n'
|
||||
'| "x in s" | "True" if an item of *s* is '
|
||||
'| (1) |\n'
|
||||
'| | equal to *x*, else "False" '
|
||||
@@ -12792,7 +12806,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'+--------------------------------+----------------------------------+-----------------------+\n'
|
||||
'| Operation | '
|
||||
'Result | Notes |\n'
|
||||
'|================================|==================================|=======================|\n'
|
||||
'+================================+==================================+=======================+\n'
|
||||
'| "s[i] = x" | item *i* of *s* is replaced '
|
||||
'by | |\n'
|
||||
'| | '
|
||||
@@ -13254,7 +13268,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||
'| Operation | '
|
||||
'Result | Notes '
|
||||
'|\n'
|
||||
'|================================|==================================|=======================|\n'
|
||||
'+================================+==================================+=======================+\n'
|
||||
'| "s[i] = x" | item *i* of *s* is '
|
||||
'replaced by | |\n'
|
||||
'| | '
|
||||
|
||||
2052
Misc/NEWS.d/3.8.0b1.rst
Normal file
2052
Misc/NEWS.d/3.8.0b1.rst
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
"make install" now runs compileall in parallel.
|
||||
@@ -1,16 +0,0 @@
|
||||
To embed Python into an application, a new ``--embed`` option must be passed to
|
||||
``python3-config --libs --embed`` to get ``-lpython3.8`` (link the application
|
||||
to libpython). To support both 3.8 and older, try ``python3-config --libs
|
||||
--embed`` first and fallback to ``python3-config --libs`` (without ``--embed``)
|
||||
if the previous command fails.
|
||||
|
||||
Add a pkg-config ``python-3.8-embed`` module to embed Python into an
|
||||
application: ``pkg-config python-3.8-embed --libs`` includes ``-lpython3.8``.
|
||||
To support both 3.8 and older, try ``pkg-config python-X.Y-embed --libs`` first
|
||||
and fallback to ``pkg-config python-X.Y --libs`` (without ``--embed``) if the
|
||||
previous command fails (replace ``X.Y`` with the Python version).
|
||||
|
||||
On the other hand, ``pkg-config python3.8 --libs`` no longer contains
|
||||
``-lpython3.8``. C extensions must not be linked to libpython (except on
|
||||
Android, case handled by the script); this change is backward incompatible on
|
||||
purpose.
|
||||
@@ -1,2 +0,0 @@
|
||||
The :c:func:`PyEval_ReInitThreads` function has been removed from the C API.
|
||||
It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` instead.
|
||||
@@ -1,3 +0,0 @@
|
||||
Add new type flag ``Py_TPFLAGS_METHOD_DESCRIPTOR`` for objects behaving like
|
||||
unbound methods. These are objects supporting the optimization given by the
|
||||
``LOAD_METHOD``/``CALL_METHOD`` opcodes. See PEP 590.
|
||||
@@ -1,3 +0,0 @@
|
||||
``Py_Main()`` now returns the exitcode rather than calling
|
||||
``Py_Exit(exitcode)`` when calling ``PyErr_Print()`` if the current
|
||||
exception type is ``SystemExit``.
|
||||
@@ -1,2 +0,0 @@
|
||||
Implement :pep:`590`: Vectorcall: a fast calling protocol for CPython.
|
||||
This is a new protocol to optimize calls of custom callable objects.
|
||||
@@ -1,4 +0,0 @@
|
||||
Update :c:func:`PyObject_CallMethodObjArgs` and ``_PyObject_CallMethodIdObjArgs``
|
||||
to use ``_PyObject_GetMethod`` to avoid creating a bound method object in many
|
||||
cases.
|
||||
Patch by Michael J. Sullivan.
|
||||
@@ -1,2 +0,0 @@
|
||||
Fix crashes when attempting to use the *modulo* parameter when ``__ipow__``
|
||||
is implemented in C.
|
||||
@@ -1 +0,0 @@
|
||||
Implement the :pep:`587` "Python Initialization Configuration".
|
||||
@@ -1,2 +0,0 @@
|
||||
Port binascii to PEP 489 multiphase initialization.
|
||||
Patch by Marcel Plch.
|
||||
@@ -1 +0,0 @@
|
||||
Remove cross-version binary compatibility requirement in tp_flags.
|
||||
@@ -1 +0,0 @@
|
||||
Expose :func:`copy_file_range` as a low level API in the :mod:`os` module.
|
||||
@@ -1,2 +0,0 @@
|
||||
Do not clear :data:`sys.flags` and :data:`sys.float_info` during shutdown.
|
||||
Patch by Zackery Spytz.
|
||||
@@ -1,3 +0,0 @@
|
||||
Added new trashcan macros to deal with a double deallocation that could occur
|
||||
when the `tp_dealloc` of a subclass calls the `tp_dealloc` of a base class
|
||||
and that base class uses the trashcan mechanism. Patch by Jeroen Demeyer.
|
||||
@@ -1 +0,0 @@
|
||||
Added fix for broken symlinks in combination with pathlib
|
||||
@@ -1 +0,0 @@
|
||||
Add native thread ID (TID) to threading.Thread objects (supported platforms: Windows, FreeBSD, Linux, macOS)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user