mirror of https://github.com/python/cpython
Python 3.11.0a4
This commit is contained in:
parent
1a4d1c1c9b
commit
9471106fd5
|
@ -20,10 +20,10 @@
|
||||||
#define PY_MINOR_VERSION 11
|
#define PY_MINOR_VERSION 11
|
||||||
#define PY_MICRO_VERSION 0
|
#define PY_MICRO_VERSION 0
|
||||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||||
#define PY_RELEASE_SERIAL 3
|
#define PY_RELEASE_SERIAL 4
|
||||||
|
|
||||||
/* Version as a string */
|
/* Version as a string */
|
||||||
#define PY_VERSION "3.11.0a3+"
|
#define PY_VERSION "3.11.0a4"
|
||||||
/*--end constants--*/
|
/*--end constants--*/
|
||||||
|
|
||||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Autogenerated by Sphinx on Wed Dec 8 22:23:59 2021
|
# Autogenerated by Sphinx on Thu Jan 13 19:37:48 2022
|
||||||
topics = {'assert': 'The "assert" statement\n'
|
topics = {'assert': 'The "assert" statement\n'
|
||||||
'**********************\n'
|
'**********************\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -1142,11 +1142,17 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' “variable-length” built-in types such as "int", '
|
' “variable-length” built-in types such as "int", '
|
||||||
'"bytes" and "tuple".\n'
|
'"bytes" and "tuple".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* Any non-string iterable may be assigned to '
|
'* Any non-string *iterable* may be assigned to '
|
||||||
'*__slots__*. Mappings may\n'
|
'*__slots__*.\n'
|
||||||
' also be used; however, in the future, special meaning '
|
'\n'
|
||||||
'may be\n'
|
'* If a "dictionary" is used to assign *__slots__*, the '
|
||||||
' assigned to the values corresponding to each key.\n'
|
'dictionary keys\n'
|
||||||
|
' will be used as the slot names. The values of the '
|
||||||
|
'dictionary can be\n'
|
||||||
|
' used to provide per-attribute docstrings that will be '
|
||||||
|
'recognised by\n'
|
||||||
|
' "inspect.getdoc()" and displayed in the output of '
|
||||||
|
'"help()".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* "__class__" assignment works only if both classes have '
|
'* "__class__" assignment works only if both classes have '
|
||||||
'the same\n'
|
'the same\n'
|
||||||
|
@ -2376,33 +2382,6 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, '
|
':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, '
|
||||||
'2]".\n'
|
'2]".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Note:\n'
|
|
||||||
'\n'
|
|
||||||
' There is a subtlety when the sequence is being modified by the '
|
|
||||||
'loop\n'
|
|
||||||
' (this can only occur for mutable sequences, e.g. lists). An\n'
|
|
||||||
' internal counter is used to keep track of which item is used '
|
|
||||||
'next,\n'
|
|
||||||
' and this is incremented on each iteration. When this counter '
|
|
||||||
'has\n'
|
|
||||||
' reached the length of the sequence the loop terminates. This '
|
|
||||||
'means\n'
|
|
||||||
' that if the suite deletes the current (or a previous) item '
|
|
||||||
'from the\n'
|
|
||||||
' sequence, the next item will be skipped (since it gets the '
|
|
||||||
'index of\n'
|
|
||||||
' the current item which has already been treated). Likewise, '
|
|
||||||
'if the\n'
|
|
||||||
' suite inserts an item in the sequence before the current item, '
|
|
||||||
'the\n'
|
|
||||||
' current item will be treated again the next time through the '
|
|
||||||
'loop.\n'
|
|
||||||
' This can lead to nasty bugs that can be avoided by making a\n'
|
|
||||||
' temporary copy using a slice of the whole sequence, e.g.,\n'
|
|
||||||
'\n'
|
|
||||||
' for x in a[:]:\n'
|
|
||||||
' if x < 0: a.remove(x)\n'
|
|
||||||
'\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'The "try" statement\n'
|
'The "try" statement\n'
|
||||||
'===================\n'
|
'===================\n'
|
||||||
|
@ -2411,13 +2390,18 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'code\n'
|
'code\n'
|
||||||
'for a group of statements:\n'
|
'for a group of statements:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' try_stmt ::= try1_stmt | try2_stmt\n'
|
' try_stmt ::= try1_stmt | try2_stmt | try3_stmt\n'
|
||||||
' try1_stmt ::= "try" ":" suite\n'
|
' try1_stmt ::= "try" ":" suite\n'
|
||||||
' ("except" [expression ["as" identifier]] ":" '
|
' ("except" [expression ["as" identifier]] ":" '
|
||||||
'suite)+\n'
|
'suite)+\n'
|
||||||
' ["else" ":" suite]\n'
|
' ["else" ":" suite]\n'
|
||||||
' ["finally" ":" suite]\n'
|
' ["finally" ":" suite]\n'
|
||||||
' try2_stmt ::= "try" ":" suite\n'
|
' try2_stmt ::= "try" ":" suite\n'
|
||||||
|
' ("except" "*" expression ["as" identifier] ":" '
|
||||||
|
'suite)+\n'
|
||||||
|
' ["else" ":" suite]\n'
|
||||||
|
' ["finally" ":" suite]\n'
|
||||||
|
' try3_stmt ::= "try" ":" suite\n'
|
||||||
' "finally" ":" suite\n'
|
' "finally" ":" suite\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The "except" clause(s) specify one or more exception handlers. '
|
'The "except" clause(s) specify one or more exception handlers. '
|
||||||
|
@ -2534,6 +2518,60 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' >>> print(sys.exc_info())\n'
|
' >>> print(sys.exc_info())\n'
|
||||||
' (None, None, None)\n'
|
' (None, None, None)\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
'The "except*" clause(s) are used for handling "ExceptionGroup`s. '
|
||||||
|
'The\n'
|
||||||
|
'exception type for matching is interpreted as in the case of\n'
|
||||||
|
':keyword:`except", but in the case of exception groups we can '
|
||||||
|
'have\n'
|
||||||
|
'partial matches when the type matches some of the exceptions in '
|
||||||
|
'the\n'
|
||||||
|
'group. This means that multiple except* clauses can execute, '
|
||||||
|
'each\n'
|
||||||
|
'handling part of the exception group. Each clause executes once '
|
||||||
|
'and\n'
|
||||||
|
'handles an exception group of all matching exceptions. Each '
|
||||||
|
'exception\n'
|
||||||
|
'in the group is handled by at most one except* clause, the first '
|
||||||
|
'that\n'
|
||||||
|
'matches it.\n'
|
||||||
|
'\n'
|
||||||
|
' >>> try:\n'
|
||||||
|
' ... raise ExceptionGroup("eg",\n'
|
||||||
|
' ... [ValueError(1), TypeError(2), OSError(3), '
|
||||||
|
'OSError(4)])\n'
|
||||||
|
' ... except* TypeError as e:\n'
|
||||||
|
" ... print(f'caught {type(e)} with nested "
|
||||||
|
"{e.exceptions}')\n"
|
||||||
|
' ... except* OSError as e:\n'
|
||||||
|
" ... print(f'caught {type(e)} with nested "
|
||||||
|
"{e.exceptions}')\n"
|
||||||
|
' ...\n'
|
||||||
|
" caught <class 'ExceptionGroup'> with nested (TypeError(2),)\n"
|
||||||
|
" caught <class 'ExceptionGroup'> with nested (OSError(3), "
|
||||||
|
'OSError(4))\n'
|
||||||
|
' + Exception Group Traceback (most recent call last):\n'
|
||||||
|
' | File "<stdin>", line 2, in <module>\n'
|
||||||
|
' | ExceptionGroup: eg\n'
|
||||||
|
' +-+---------------- 1 ----------------\n'
|
||||||
|
' | ValueError: 1\n'
|
||||||
|
' +------------------------------------\n'
|
||||||
|
' >>>\n'
|
||||||
|
'\n'
|
||||||
|
' Any remaining exceptions that were not handled by any except* '
|
||||||
|
'clause\n'
|
||||||
|
' are re-raised at the end, combined into an exception group '
|
||||||
|
'along with\n'
|
||||||
|
' all exceptions that were raised from within except* clauses.\n'
|
||||||
|
'\n'
|
||||||
|
' An except* clause must have a matching type, and this type '
|
||||||
|
'cannot be a\n'
|
||||||
|
' subclass of :exc:`BaseExceptionGroup`. It is not possible to '
|
||||||
|
'mix except\n'
|
||||||
|
' and except* in the same :keyword:`try`. :keyword:`break`,\n'
|
||||||
|
' :keyword:`continue` and :keyword:`return` cannot appear in an '
|
||||||
|
'except*\n'
|
||||||
|
' clause.\n'
|
||||||
|
'\n'
|
||||||
'The optional "else" clause is executed if the control flow '
|
'The optional "else" clause is executed if the control flow '
|
||||||
'leaves the\n'
|
'leaves the\n'
|
||||||
'"try" suite, no exception was raised, and no "return", '
|
'"try" suite, no exception was raised, and no "return", '
|
||||||
|
@ -4620,17 +4658,16 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'debugger will pause execution just before the first line of the\n'
|
'debugger will pause execution just before the first line of the\n'
|
||||||
'module.\n'
|
'module.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The typical usage to break into the debugger from a running '
|
'The typical usage to break into the debugger is to insert:\n'
|
||||||
'program is\n'
|
|
||||||
'to insert\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' import pdb; pdb.set_trace()\n'
|
' import pdb; pdb.set_trace()\n'
|
||||||
'\n'
|
'\n'
|
||||||
'at the location you want to break into the debugger. You can '
|
'at the location you want to break into the debugger, and then '
|
||||||
'then\n'
|
'run the\n'
|
||||||
'step through the code following this statement, and continue '
|
'program. You can then step through the code following this '
|
||||||
'running\n'
|
'statement,\n'
|
||||||
'without the debugger using the "continue" command.\n'
|
'and continue running without the debugger using the "continue"\n'
|
||||||
|
'command.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.7: The built-in "breakpoint()", when called '
|
'New in version 3.7: The built-in "breakpoint()", when called '
|
||||||
'with\n'
|
'with\n'
|
||||||
|
@ -5897,30 +5934,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'all by the loop. Hint: the built-in function "range()" returns an\n'
|
'all by the loop. Hint: the built-in function "range()" returns an\n'
|
||||||
'iterator of integers suitable to emulate the effect of Pascal’s "for '
|
'iterator of integers suitable to emulate the effect of Pascal’s "for '
|
||||||
'i\n'
|
'i\n'
|
||||||
':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, 2]".\n'
|
':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, 2]".\n',
|
||||||
'\n'
|
|
||||||
'Note:\n'
|
|
||||||
'\n'
|
|
||||||
' There is a subtlety when the sequence is being modified by the '
|
|
||||||
'loop\n'
|
|
||||||
' (this can only occur for mutable sequences, e.g. lists). An\n'
|
|
||||||
' internal counter is used to keep track of which item is used next,\n'
|
|
||||||
' and this is incremented on each iteration. When this counter has\n'
|
|
||||||
' reached the length of the sequence the loop terminates. This '
|
|
||||||
'means\n'
|
|
||||||
' that if the suite deletes the current (or a previous) item from '
|
|
||||||
'the\n'
|
|
||||||
' sequence, the next item will be skipped (since it gets the index '
|
|
||||||
'of\n'
|
|
||||||
' the current item which has already been treated). Likewise, if '
|
|
||||||
'the\n'
|
|
||||||
' suite inserts an item in the sequence before the current item, the\n'
|
|
||||||
' current item will be treated again the next time through the loop.\n'
|
|
||||||
' This can lead to nasty bugs that can be avoided by making a\n'
|
|
||||||
' temporary copy using a slice of the whole sequence, e.g.,\n'
|
|
||||||
'\n'
|
|
||||||
' for x in a[:]:\n'
|
|
||||||
' if x < 0: a.remove(x)\n',
|
|
||||||
'formatstrings': 'Format String Syntax\n'
|
'formatstrings': 'Format String Syntax\n'
|
||||||
'********************\n'
|
'********************\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -9934,11 +9948,16 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' “variable-length” built-in types such as "int", "bytes" '
|
' “variable-length” built-in types such as "int", "bytes" '
|
||||||
'and "tuple".\n'
|
'and "tuple".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* Any non-string iterable may be assigned to *__slots__*. '
|
'* Any non-string *iterable* may be assigned to *__slots__*.\n'
|
||||||
'Mappings may\n'
|
'\n'
|
||||||
' also be used; however, in the future, special meaning may '
|
'* If a "dictionary" is used to assign *__slots__*, the '
|
||||||
'be\n'
|
'dictionary keys\n'
|
||||||
' assigned to the values corresponding to each key.\n'
|
' will be used as the slot names. The values of the '
|
||||||
|
'dictionary can be\n'
|
||||||
|
' used to provide per-attribute docstrings that will be '
|
||||||
|
'recognised by\n'
|
||||||
|
' "inspect.getdoc()" and displayed in the output of '
|
||||||
|
'"help()".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* "__class__" assignment works only if both classes have the '
|
'* "__class__" assignment works only if both classes have the '
|
||||||
'same\n'
|
'same\n'
|
||||||
|
@ -11504,9 +11523,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' >>> from keyword import iskeyword\n'
|
' >>> from keyword import iskeyword\n'
|
||||||
'\n'
|
'\n'
|
||||||
" >>> 'hello'.isidentifier(), iskeyword('hello')\n"
|
" >>> 'hello'.isidentifier(), iskeyword('hello')\n"
|
||||||
' True, False\n'
|
' (True, False)\n'
|
||||||
" >>> 'def'.isidentifier(), iskeyword('def')\n"
|
" >>> 'def'.isidentifier(), iskeyword('def')\n"
|
||||||
' True, True\n'
|
' (True, True)\n'
|
||||||
'\n'
|
'\n'
|
||||||
'str.islower()\n'
|
'str.islower()\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -11857,7 +11876,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
" >>> ' 1 2 3 '.split()\n"
|
" >>> ' 1 2 3 '.split()\n"
|
||||||
" ['1', '2', '3']\n"
|
" ['1', '2', '3']\n"
|
||||||
'\n'
|
'\n'
|
||||||
'str.splitlines([keepends])\n'
|
'str.splitlines(keepends=False)\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Return a list of the lines in the string, breaking at '
|
' Return a list of the lines in the string, breaking at '
|
||||||
'line\n'
|
'line\n'
|
||||||
|
@ -12432,13 +12451,18 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'The "try" statement specifies exception handlers and/or cleanup code\n'
|
'The "try" statement specifies exception handlers and/or cleanup code\n'
|
||||||
'for a group of statements:\n'
|
'for a group of statements:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' try_stmt ::= try1_stmt | try2_stmt\n'
|
' try_stmt ::= try1_stmt | try2_stmt | try3_stmt\n'
|
||||||
' try1_stmt ::= "try" ":" suite\n'
|
' try1_stmt ::= "try" ":" suite\n'
|
||||||
' ("except" [expression ["as" identifier]] ":" '
|
' ("except" [expression ["as" identifier]] ":" '
|
||||||
'suite)+\n'
|
'suite)+\n'
|
||||||
' ["else" ":" suite]\n'
|
' ["else" ":" suite]\n'
|
||||||
' ["finally" ":" suite]\n'
|
' ["finally" ":" suite]\n'
|
||||||
' try2_stmt ::= "try" ":" suite\n'
|
' try2_stmt ::= "try" ":" suite\n'
|
||||||
|
' ("except" "*" expression ["as" identifier] ":" '
|
||||||
|
'suite)+\n'
|
||||||
|
' ["else" ":" suite]\n'
|
||||||
|
' ["finally" ":" suite]\n'
|
||||||
|
' try3_stmt ::= "try" ":" suite\n'
|
||||||
' "finally" ":" suite\n'
|
' "finally" ":" suite\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The "except" clause(s) specify one or more exception handlers. When '
|
'The "except" clause(s) specify one or more exception handlers. When '
|
||||||
|
@ -12538,6 +12562,53 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' >>> print(sys.exc_info())\n'
|
' >>> print(sys.exc_info())\n'
|
||||||
' (None, None, None)\n'
|
' (None, None, None)\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
'The "except*" clause(s) are used for handling "ExceptionGroup`s. The\n'
|
||||||
|
'exception type for matching is interpreted as in the case of\n'
|
||||||
|
':keyword:`except", but in the case of exception groups we can have\n'
|
||||||
|
'partial matches when the type matches some of the exceptions in the\n'
|
||||||
|
'group. This means that multiple except* clauses can execute, each\n'
|
||||||
|
'handling part of the exception group. Each clause executes once and\n'
|
||||||
|
'handles an exception group of all matching exceptions. Each '
|
||||||
|
'exception\n'
|
||||||
|
'in the group is handled by at most one except* clause, the first '
|
||||||
|
'that\n'
|
||||||
|
'matches it.\n'
|
||||||
|
'\n'
|
||||||
|
' >>> try:\n'
|
||||||
|
' ... raise ExceptionGroup("eg",\n'
|
||||||
|
' ... [ValueError(1), TypeError(2), OSError(3), '
|
||||||
|
'OSError(4)])\n'
|
||||||
|
' ... except* TypeError as e:\n'
|
||||||
|
" ... print(f'caught {type(e)} with nested {e.exceptions}')\n"
|
||||||
|
' ... except* OSError as e:\n'
|
||||||
|
" ... print(f'caught {type(e)} with nested {e.exceptions}')\n"
|
||||||
|
' ...\n'
|
||||||
|
" caught <class 'ExceptionGroup'> with nested (TypeError(2),)\n"
|
||||||
|
" caught <class 'ExceptionGroup'> with nested (OSError(3), "
|
||||||
|
'OSError(4))\n'
|
||||||
|
' + Exception Group Traceback (most recent call last):\n'
|
||||||
|
' | File "<stdin>", line 2, in <module>\n'
|
||||||
|
' | ExceptionGroup: eg\n'
|
||||||
|
' +-+---------------- 1 ----------------\n'
|
||||||
|
' | ValueError: 1\n'
|
||||||
|
' +------------------------------------\n'
|
||||||
|
' >>>\n'
|
||||||
|
'\n'
|
||||||
|
' Any remaining exceptions that were not handled by any except* '
|
||||||
|
'clause\n'
|
||||||
|
' are re-raised at the end, combined into an exception group along '
|
||||||
|
'with\n'
|
||||||
|
' all exceptions that were raised from within except* clauses.\n'
|
||||||
|
'\n'
|
||||||
|
' An except* clause must have a matching type, and this type cannot '
|
||||||
|
'be a\n'
|
||||||
|
' subclass of :exc:`BaseExceptionGroup`. It is not possible to mix '
|
||||||
|
'except\n'
|
||||||
|
' and except* in the same :keyword:`try`. :keyword:`break`,\n'
|
||||||
|
' :keyword:`continue` and :keyword:`return` cannot appear in an '
|
||||||
|
'except*\n'
|
||||||
|
' clause.\n'
|
||||||
|
'\n'
|
||||||
'The optional "else" clause is executed if the control flow leaves '
|
'The optional "else" clause is executed if the control flow leaves '
|
||||||
'the\n'
|
'the\n'
|
||||||
'"try" suite, no exception was raised, and no "return", "continue", '
|
'"try" suite, no exception was raised, and no "return", "continue", '
|
||||||
|
@ -13814,9 +13885,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'"dict"\n'
|
'"dict"\n'
|
||||||
'constructor.\n'
|
'constructor.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'class dict(**kwarg)\n'
|
'class dict(**kwargs)\n'
|
||||||
'class dict(mapping, **kwarg)\n'
|
'class dict(mapping, **kwargs)\n'
|
||||||
'class dict(iterable, **kwarg)\n'
|
'class dict(iterable, **kwargs)\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Return a new dictionary initialized from an optional '
|
' Return a new dictionary initialized from an optional '
|
||||||
'positional\n'
|
'positional\n'
|
||||||
|
@ -14466,6 +14537,14 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'Comparisons in\n'
|
'Comparisons in\n'
|
||||||
'the language reference.)\n'
|
'the language reference.)\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
'Forward and reversed iterators over mutable sequences access '
|
||||||
|
'values\n'
|
||||||
|
'using an index. That index will continue to march forward (or\n'
|
||||||
|
'backward) even if the underlying sequence is mutated. The '
|
||||||
|
'iterator\n'
|
||||||
|
'terminates only when an "IndexError" or a "StopIteration" is\n'
|
||||||
|
'encountered (or when the index drops below zero).\n'
|
||||||
|
'\n'
|
||||||
'Notes:\n'
|
'Notes:\n'
|
||||||
'\n'
|
'\n'
|
||||||
'1. While the "in" and "not in" operations are used only for '
|
'1. While the "in" and "not in" operations are used only for '
|
||||||
|
@ -14937,7 +15016,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
' The arguments to the range constructor must be integers '
|
' The arguments to the range constructor must be integers '
|
||||||
'(either\n'
|
'(either\n'
|
||||||
' built-in "int" or any object that implements the "__index__"\n'
|
' built-in "int" or any object that implements the '
|
||||||
|
'"__index__()"\n'
|
||||||
' special method). If the *step* argument is omitted, it '
|
' special method). If the *step* argument is omitted, it '
|
||||||
'defaults to\n'
|
'defaults to\n'
|
||||||
' "1". If the *start* argument is omitted, it defaults to "0". '
|
' "1". If the *start* argument is omitted, it defaults to "0". '
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +0,0 @@
|
||||||
Use pure Python ``freeze_module`` for all but importlib bootstrap files.
|
|
||||||
``--with-freeze-module`` :program:`configure` option is no longer needed for
|
|
||||||
cross builds.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:program:`makesetup` no longer builds extensions that have been marked as
|
|
||||||
*disabled*. This allows users to disable modules in ``Modules/Setup.local``.
|
|
|
@ -1 +0,0 @@
|
||||||
A new directory ``Tools/wasm`` contains WebAssembly-related helpers like ``config.site`` override for wasm32-emscripten, wasm assets generator to bundle the stdlib, and a README.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add a --with-pystats configure option to turn on internal statistics
|
|
||||||
gathering.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Automatically detect or install bootstrap Python runtime when building from
|
|
||||||
Visual Studio.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Updated OpenSSL to 1.1.1m in Windows builds, macOS installer builds, and CI.
|
|
||||||
Patch by Kumar Aditya.
|
|
|
@ -1 +0,0 @@
|
||||||
``configure`` no longer sets ``MULTIARCH`` on FreeBSD platforms.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed a regression in ``configure`` check for :func:`select.epoll`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Added and fixed ``#ifdef HAVE_FEATURE`` checks for functionality that is not
|
|
||||||
available on WASI platform.
|
|
|
@ -1,2 +0,0 @@
|
||||||
The ``configure`` script has a new option ``--with-emscripten-target`` to
|
|
||||||
select browser or node as Emscripten build target.
|
|
|
@ -1,5 +0,0 @@
|
||||||
When Python is built without :option:`--enable-shared`, the ``python``
|
|
||||||
program is now linked to object files, rather than being linked to the Python
|
|
||||||
static library (libpython.a), to make sure that all symbols are exported.
|
|
||||||
Previously, the linker omitted some symbols like the :c:func:`Py_FrozenMain`
|
|
||||||
function. Patch by Victor Stinner.
|
|
|
@ -1,2 +0,0 @@
|
||||||
When Python is configured with :option:`--without-static-libpython`, the Python
|
|
||||||
static library (libpython.a) is no longer built. Patch by Victor Stinner.
|
|
|
@ -1,3 +0,0 @@
|
||||||
The :c:func:`PyUnicode_CHECK_INTERNED` macro has been excluded from the limited
|
|
||||||
C API. It was never usable there, because it used internal structures which are
|
|
||||||
not available in the limited C API. Patch by Victor Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
Replaced deprecated usage of :c:func:`PyImport_ImportModuleNoBlock` with :c:func:`PyImport_ImportModule` in stdlib modules. Patch by Kumar Aditya.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Document that the *no_block* argument to :c:func:`PyCapsule_Import` is a
|
|
||||||
no-op now.
|
|
|
@ -1 +0,0 @@
|
||||||
:c:func:`PyBuffer_GetPointer`, :c:func:`PyBuffer_FromContiguous`, :c:func:`PyBuffer_ToContiguous` and :c:func:`PyMemoryView_FromBuffer` now take buffer info by ``const Py_buffer *`` instead of ``Py_buffer *``, as they do not need mutability. :c:func:`PyBuffer_FromContiguous` also now takes the source buffer as ``const void *``, and similarly :c:func:`PyBuffer_GetPointer` takes the strides as ``const Py_ssize_t *``.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a bug in :c:func:`PyFunction_GetAnnotations` that caused it to return a ``tuple`` instead of a ``dict``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Added the :c:data:`Py_Version` constant which bears the same value as
|
|
||||||
:c:macro:`PY_VERSION_HEX`. Patch by Gabriele N. Tornetta.
|
|
|
@ -1 +0,0 @@
|
||||||
Revert changes in ``set.__init__``. Subclass of :class:`set` needs to define a ``__init__()`` method if it defines a ``__new__()`` method with additional keyword parameters.
|
|
|
@ -1 +0,0 @@
|
||||||
Complete the :pep:`654` implementation: add ``except*``.
|
|
|
@ -1,4 +0,0 @@
|
||||||
The main interpreter in _PyRuntimeState.interpreters is now statically
|
|
||||||
allocated (as part of _PyRuntime). Likewise for the initial thread state of
|
|
||||||
each interpreter. This means less allocation during runtime init, as well
|
|
||||||
as better memory locality for these key state objects.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix bug where the built-in :func:`compile` function did not always raise a
|
|
||||||
:exc:`SyntaxError` when passed multiple statements in 'single' mode. Patch by
|
|
||||||
Weipeng Hong.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Specialize the CALL_FUNCTION instruction for calls to builtin types with a
|
|
||||||
single argument. Speeds up ``range(x)``, ``list(x)``, and specifically
|
|
||||||
``type(obj)``.
|
|
|
@ -1 +0,0 @@
|
||||||
Improve compatibility of the :mod:`curses` module with NetBSD curses.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix a crash in the :mod:`atexit` module involving functions that unregister
|
|
||||||
themselves before raising exceptions. Patch by Pablo Galindo.
|
|
|
@ -1 +0,0 @@
|
||||||
Deepfreeze :mod:`runpy`, patch by Kumar Aditya.
|
|
|
@ -1 +0,0 @@
|
||||||
Add :opcode:`POP_JUMP_IF_NOT_NONE` and :opcode:`POP_JUMP_IF_NONE` opcodes to speed up conditional jumps.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix a bug where the line numbers given in a traceback when a decorator
|
|
||||||
application raised an exception were wrong.
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fixes parsing of :file:`._pth` files on startup so that single-character
|
|
||||||
paths are correctly read.
|
|
|
@ -1 +0,0 @@
|
||||||
Ensure :file:`._pth` files work as intended on platforms other than Windows.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve the location of the caret in :exc:`SyntaxError` exceptions emitted
|
|
||||||
by the symbol table. Patch by Pablo Galindo.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix parser error when parsing non-utf8 characters in source files. Patch by
|
|
||||||
Pablo Galindo.
|
|
|
@ -1 +0,0 @@
|
||||||
The code called from :c:func:`_PyErr_Display` was refactored to improve error handling. It now exits immediately upon an unrecoverable error.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Remove the ``YIELD_FROM`` instruction and replace it with the ``SEND``
|
|
||||||
instruction which performs the same operation, but without the loop.
|
|
|
@ -1,8 +0,0 @@
|
||||||
Replace the four call bytecode instructions which one pre-call instruction
|
|
||||||
and two call instructions.
|
|
||||||
|
|
||||||
Removes ``CALL_FUNCTION``, ``CALL_FUNCTION_KW``, ``CALL_METHOD`` and
|
|
||||||
``CALL_METHOD_KW``.
|
|
||||||
|
|
||||||
Adds ``CALL_NO_KW`` and ``CALL_KW`` call instructions, and
|
|
||||||
``PRECALL_METHOD`` prefix for pairing with ``LOAD_METHOD``.
|
|
|
@ -1 +0,0 @@
|
||||||
The interpreter state's representation of handled exceptions (a.k.a exc_info, or _PyErr_StackItem) now has only the ``exc_value`` field, ``exc_type`` and ``exc_traceback`` have been removed as their values can be derived from ``exc_value``.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix bug where :meth:`ExceptionGroup.split` and :meth:`ExceptionGroup.subgroup` did not copy the exception group's ``__note__`` field to the parts.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add a maximum recursion check to the PEG parser to avoid stack overflow.
|
|
||||||
Patch by Pablo Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Speed up shifting operation involving integers less than
|
|
||||||
:c:macro:`PyLong_BASE`. Patch by Xinhang Xu.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix iterator cache mechanism of :class:`OrderedDict`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Remove :opcode:`POP_EXCEPT_AND_RERAISE` and replace it by an equivalent
|
|
||||||
sequence of other opcodes.
|
|
|
@ -1 +0,0 @@
|
||||||
:opcode:`PREP_RERAISE_STAR` no longer pushes ``lasti`` to the stack.
|
|
|
@ -1 +0,0 @@
|
||||||
Certain sequence multiplication operations like ``[0] * 1_000`` are now faster due to reference-counting optimizations. Patch by Dennis Sweeney.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove the ``GEN_START`` opcode.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Correct the error message for unclosed parentheses when the tokenizer
|
|
||||||
doesn't reach the end of the source when the error is reported. Patch by
|
|
||||||
Pablo Galindo
|
|
|
@ -1 +0,0 @@
|
||||||
Fix the regression of os.path.normpath("A/../../B") not returning expected "../B" but "B".
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add RESUME opcode. This is a logical no-op. It is emitted by the compiler
|
|
||||||
anywhere a Python function can be entered. It is used by the interpreter to
|
|
||||||
perform tracing and optimizer checks.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Fix a regression when a type method like ``__init__()`` is modified in a
|
|
||||||
subinterpreter. Fix a regression in ``_PyUnicode_EqualToASCIIId()`` and type
|
|
||||||
``update_slot()``. Revert the change which made the Unicode dictionary of
|
|
||||||
interned strings compatible with subinterpreters: the internal interned
|
|
||||||
dictionary is shared again by all interpreters. Patch by Victor Stinner.
|
|
|
@ -1,2 +0,0 @@
|
||||||
We always expect the "use_frozen_modules" config to be set, now that
|
|
||||||
getpath.c was rewritten in pure Python and the logic improved.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix the line number of tokenizer errors inside f-strings. Patch by Pablo
|
|
||||||
Galindo.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fixed an interpreter crash on bootup with multiple PythonPaths set in
|
|
||||||
the Windows registry. Patch by Derzsi Dániel.
|
|
|
@ -1,2 +0,0 @@
|
||||||
ASDL declaration of ``FormattedValue`` has changed to reflect ``conversion``
|
|
||||||
field is not optional.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Remove spurious "call" event when creating a lambda function that was
|
|
||||||
accidentally introduced in 3.11a4.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Do not set line number of instruction storing doc-string. Fixes regression
|
|
||||||
introduced in 3.11 alpha.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix a crash in the parser when retrieving the error text for multi-line
|
|
||||||
f-strings expressions that do not start in the first line of the string.
|
|
||||||
Patch by Pablo Galindo
|
|
|
@ -1 +0,0 @@
|
||||||
Fix memory leak in PyEval_EvalCodeEx.
|
|
|
@ -1,5 +0,0 @@
|
||||||
:c:func:`Py_EndInterpreter` now explicitly untracks all objects currently
|
|
||||||
tracked by the GC. Previously, if an object was used later by another
|
|
||||||
interpreter, calling :c:func:`PyObject_GC_UnTrack` on the object crashed if the
|
|
||||||
previous or the next object of the :c:type:`PyGC_Head` structure became a
|
|
||||||
dangling pointer. Patch by Victor Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
Update the documentation for the :func:`globals` function.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Extracted ``importlib.resources`` and ``importlib.resources.abc`` documentation into
|
|
||||||
separate files.
|
|
|
@ -1 +0,0 @@
|
||||||
State that ``|`` is preferred for readability over ``Union`` in the :mod:`typing` docs.
|
|
|
@ -1 +0,0 @@
|
||||||
Document method :meth:`cmd.Cmd.columnize`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Replace ``concurrent.futures.TimeoutError`` and ``asyncio.TimeoutError``
|
|
||||||
with builtin :exc:`TimeoutError`, keep these names as deprecated aliases.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fetch across rollback no longer raises :exc:`~sqlite3.InterfaceError`. Instead
|
|
||||||
we leave it to the SQLite library to handle these cases.
|
|
||||||
Patch by Erlend E. Aasland.
|
|
|
@ -1 +0,0 @@
|
||||||
Added :data:`signal.SIGSTKFLT` on platforms where this signal is defined.
|
|
|
@ -1 +0,0 @@
|
||||||
Added a :meth:`__repr__` method to :class:`multiprocessing.Event` objects, patch by Kumar Aditya.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Remove namespace package (PEP 420) support from unittest discovery. It was
|
|
||||||
introduced in Python 3.4 but has been broken since Python 3.7.
|
|
|
@ -1,6 +0,0 @@
|
||||||
Change how dataclasses disallows mutable default values. It used to
|
|
||||||
use a list of known types (list, dict, set). Now it disallows
|
|
||||||
unhashable objects to be defaults. It's using unhashability as a
|
|
||||||
proxy for mutability. Patch by Eric V. Smith, idea by Raymond
|
|
||||||
Hettinger.
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
The empty query string, consisting of no query arguments, is now handled
|
|
||||||
correctly in ``urllib.parse.parse_qsl``. This caused problems before when
|
|
||||||
strict parsing was enabled.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:mod:`typing` generic aliases now reveal the class attributes of the
|
|
||||||
original generic class when passed to ``dir()``. This was the behavior up to
|
|
||||||
Python 3.6, but was changed in 3.7-3.9.
|
|
|
@ -1 +0,0 @@
|
||||||
Adding :attr:`F_DUP2FD` and :attr:`F_DUP2FD_CLOEXEC` constants from FreeBSD into the fcntl module.
|
|
|
@ -1 +0,0 @@
|
||||||
Ensure that :func:`math.expm1` does not raise on underflow.
|
|
|
@ -1 +0,0 @@
|
||||||
Add :attr:`__all__` to :mod:`inspect`, patch by Kumar Aditya.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add ability to use ``typing.Union`` and ``types.UnionType`` as dispatch
|
|
||||||
argument to ``functools.singledispatch``. Patch provided by Yurii Karabas.
|
|
|
@ -1,5 +0,0 @@
|
||||||
The ``registry()`` method of :func:`functools.singledispatch` functions
|
|
||||||
checks now the first argument or the first parameter annotation and raises a
|
|
||||||
TypeError if it is not supported. Previously unsupported "types" were
|
|
||||||
ignored (e.g. ``typing.List[int]``) or caused an error at calling time (e.g.
|
|
||||||
``list[int]``).
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix help for the :mod:`signal` module. Some functions (e.g. ``signal()`` and
|
|
||||||
``getsignal()``) were omitted.
|
|
|
@ -1 +0,0 @@
|
||||||
Add allow allow_reuse_port flag in socketserver.
|
|
|
@ -1 +0,0 @@
|
||||||
Functions in the :mod:`traceback` module raise :exc:`TypeError` rather than :exc:`AttributeError` when an exception argument is not of type :exc:`BaseException`.
|
|
|
@ -1 +0,0 @@
|
||||||
:mod:`argparse` raises :exc:`ValueError` with clear message when trying to render usage for an empty mutually-exclusive group. Previously it raised a cryptic :exc:`IndexError`.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Calling :meth:`add_argument_group` on an argument group is deprecated. Calling :meth:`add_argument_group` or :meth:`add_mutually_exclusive_group` on a mutually exclusive group is deprecated.
|
|
||||||
|
|
||||||
These features were never supported and do not always work correctly. The functions exist on the API by accident through inheritance and will be removed in the future.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Print unexpected successes together with failures and errors in summary in
|
|
||||||
:class:`unittest.TextTestResult`.
|
|
|
@ -1,3 +0,0 @@
|
||||||
EntryPoint objects are no longer tuples. Recommended means to access is by
|
|
||||||
attribute ('.name', '.group') or accessor ('.load()'). Access by index is
|
|
||||||
deprecated and will raise deprecation warning.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Honor spec when generating requirement specs with urls and extras
|
|
||||||
(importlib_metadata 4.8.3).
|
|
|
@ -1 +0,0 @@
|
||||||
:func:`concurrent.futures.wait` no longer blocks forever when given duplicate Futures. Patch by Kumar Aditya.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add *include_hidden* parameter to :func:`~glob.glob` and :func:`~glob.iglob` to
|
|
||||||
match hidden files and directories when using special characters like ``*``,
|
|
||||||
``**``, ``?`` and ``[]``.
|
|
|
@ -1 +0,0 @@
|
||||||
Moved importlib.resources and its related functionality to a package.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Refactor tests to test traversable API directly. Includes changes from
|
|
||||||
importlib 5.4.0.
|
|
|
@ -1 +0,0 @@
|
||||||
Added missing error codes to module ``xml.parsers.expat.errors``.
|
|
|
@ -1 +0,0 @@
|
||||||
Deprecate :attr:`webbrowser.MacOSXOSAScript._name` and use ``name`` instead.
|
|
|
@ -1 +0,0 @@
|
||||||
Adding the ``MAP_STACK`` constant for the mmap module.
|
|
|
@ -1 +0,0 @@
|
||||||
Add fast path for ``0 <= k <= n <= 67`` for :func:`math.comb`.
|
|
|
@ -1 +0,0 @@
|
||||||
Adding ``SF_NOCACHE`` sendfile constant for FreeBSD for the posixmodule.
|
|
|
@ -1 +0,0 @@
|
||||||
Reuse ``_winapi`` constants in ``asyncio.windows_events``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve error message when importing :mod:`asyncio.windows_events` on
|
|
||||||
non-Windows.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Added two new variables to *pyvenv.cfg* which is generated by :mod:`venv`
|
|
||||||
module: *executable* for the executable and *command* for the command line used
|
|
||||||
to create the environment.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Optimized the mean, variance, and stdev functions in the statistics module.
|
|
||||||
If the input is an iterator, it is consumed in a single pass rather than
|
|
||||||
eating memory by conversion to a list. The single pass algorithm is about
|
|
||||||
twice as fast as the previous two pass code.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Improve day constants in :mod:`calendar`.
|
|
||||||
|
|
||||||
Now all constants (`MONDAY` ... `SUNDAY`) are documented, tested, and added
|
|
||||||
to ``__all__``.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove special-casing of ``__new__`` in :meth:`enum.Enum.__dir__`.
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue