Merge tag 'v3.9.0a1'

This commit is contained in:
Łukasz Langa 2019-11-20 02:05:28 +01:00
commit 1c5a71a7dd
No known key found for this signature in database
GPG Key ID: B26995E310250568
573 changed files with 6113 additions and 1382 deletions

View File

@ -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 0
#define PY_RELEASE_SERIAL 1
/* Version as a string */
#define PY_VERSION "3.9.0a0"
#define PY_VERSION "3.9.0a1"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Tue Jun 4 19:40:37 2019
# Autogenerated by Sphinx on Tue Nov 19 11:42:25 2019
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@ -744,10 +744,11 @@ topics = {'assert': 'The "assert" statement\n'
'returned.\n'
'\n'
'The "__dir__" function should accept no arguments, and '
'return a list\n'
'of strings that represents the names accessible on '
'module. If present,\n'
'this function overrides the standard "dir()" search on a '
'return a\n'
'sequence of strings that represents the names accessible '
'on module. If\n'
'present, this function overrides the standard "dir()" '
'search on a\n'
'module.\n'
'\n'
'For a more fine grained customization of the module '
@ -808,21 +809,34 @@ topics = {'assert': 'The "assert" statement\n'
'whose name is\n'
'the key of the property in the owner class "__dict__".\n'
'\n'
'object.__get__(self, instance, owner)\n'
'object.__get__(self, instance, owner=None)\n'
'\n'
' Called to get the attribute of the owner class (class '
'attribute\n'
' access) or of an instance of that class (instance '
'attribute\n'
' access). *owner* is always the owner class, while '
'*instance* is the\n'
' instance that the attribute was accessed through, or '
'"None" when\n'
' the attribute is accessed through the *owner*. This '
'method should\n'
' return the (computed) attribute value or raise an '
'"AttributeError"\n'
' exception.\n'
' access). The optional *owner* argument is the owner '
'class, while\n'
' *instance* is the instance that the attribute was '
'accessed through,\n'
' or "None" when the attribute is accessed through the '
'*owner*.\n'
'\n'
' This method should return the computed attribute '
'value or raise an\n'
' "AttributeError" exception.\n'
'\n'
' **PEP 252** specifies that "__get__()" is callable '
'with one or two\n'
' arguments. Pythons own built-in descriptors support '
'this\n'
' specification; however, it is likely that some '
'third-party tools\n'
' have descriptors that require both arguments. '
'Pythons own\n'
' "__getattribute__()" implementation always passes in '
'both arguments\n'
' whether they are required or not.\n'
'\n'
'object.__set__(self, instance, value)\n'
'\n'
@ -830,6 +844,12 @@ topics = {'assert': 'The "assert" statement\n'
'of the owner\n'
' class to a new value, *value*.\n'
'\n'
' Note, adding "__set__()" or "__delete__()" changes '
'the kind of\n'
' descriptor to a “data descriptor”. See Invoking '
'Descriptors for\n'
' more details.\n'
'\n'
'object.__delete__(self, instance)\n'
'\n'
' Called to delete the attribute on an instance '
@ -938,12 +958,13 @@ topics = {'assert': 'The "assert" statement\n'
'define both\n'
'"__get__()" and "__set__()", while non-data descriptors '
'have just the\n'
'"__get__()" method. Data descriptors with "__set__()" '
'and "__get__()"\n'
'defined always override a redefinition in an instance '
'dictionary. In\n'
'contrast, non-data descriptors can be overridden by '
'instances.\n'
'"__get__()" method. Data descriptors with "__get__()" '
'and "__set__()"\n'
'(and/or "__delete__()") defined always override a '
'redefinition in an\n'
'instance dictionary. In contrast, non-data descriptors '
'can be\n'
'overridden by instances.\n'
'\n'
'Python methods (including "staticmethod()" and '
'"classmethod()") are\n'
@ -1070,7 +1091,13 @@ topics = {'assert': 'The "assert" statement\n'
'attributes created by\n'
' slots (the other bases must have empty slot layouts) - '
'violations\n'
' raise "TypeError".\n',
' raise "TypeError".\n'
'\n'
'* If an iterator is used for *__slots__* then a '
'descriptor is\n'
' created for each of the iterators values. However, '
'the *__slots__*\n'
' attribute will be an empty iterator.\n',
'attribute-references': 'Attribute references\n'
'********************\n'
'\n'
@ -1829,6 +1856,12 @@ topics = {'assert': 'The "assert" statement\n'
'all false.\n'
' This behavior is compliant with IEEE 754.\n'
'\n'
'* "None" and "NotImplemented" are singletons. **PEP 8** '
'advises\n'
' that comparisons for singletons should always be done with '
'"is" or\n'
' "is not", never the equality operators.\n'
'\n'
'* Binary sequences (instances of "bytes" or "bytearray") can '
'be\n'
' compared within and across their types. They compare\n'
@ -1854,38 +1887,13 @@ topics = {'assert': 'The "assert" statement\n'
' these types raises "TypeError".\n'
'\n'
' Sequences compare lexicographically using comparison of\n'
' corresponding elements, whereby reflexivity of the elements '
'is\n'
' enforced.\n'
'\n'
' In enforcing reflexivity of elements, the comparison of '
'collections\n'
' assumes that for a collection element "x", "x == x" is '
'always true.\n'
' Based on that assumption, element identity is compared '
'first, and\n'
' element comparison is performed only for distinct '
'elements. This\n'
' approach yields the same result as a strict element '
'comparison\n'
' would, if the compared elements are reflexive. For '
'non-reflexive\n'
' elements, the result is different than for strict element\n'
' comparison, and may be surprising: The non-reflexive '
'not-a-number\n'
' values for example result in the following comparison '
'behavior when\n'
' used in a list:\n'
'\n'
" >>> nan = float('NaN')\n"
' >>> nan is nan\n'
' True\n'
' >>> nan == nan\n'
' False <-- the defined non-reflexive '
'behavior of NaN\n'
' >>> [nan] == [nan]\n'
' True <-- list enforces reflexivity and '
'tests identity first\n'
' corresponding elements. The built-in containers typically '
'assume\n'
' identical objects are equal to themselves. That lets them '
'bypass\n'
' equality tests for identical objects to improve performance '
'and to\n'
' maintain their internal invariants.\n'
'\n'
' Lexicographical comparison between built-in collections '
'works as\n'
@ -3126,13 +3134,15 @@ topics = {'assert': 'The "assert" statement\n'
'returning\n'
' it.\n'
'\n'
' If "__new__()" returns an instance of *cls*, then the '
'new\n'
' instances "__init__()" method will be invoked like\n'
' "__init__(self[, ...])", where *self* is the new '
'instance and the\n'
' remaining arguments are the same as were passed to '
'"__new__()".\n'
' If "__new__()" is invoked during object construction and '
'it returns\n'
' an instance or subclass of *cls*, then the new '
'instances\n'
' "__init__()" method will be invoked like '
'"__init__(self[, ...])",\n'
' where *self* is the new instance and the remaining '
'arguments are\n'
' the same as were passed to the object constructor.\n'
'\n'
' If "__new__()" does not return an instance of *cls*, '
'then the new\n'
@ -3500,10 +3510,10 @@ topics = {'assert': 'The "assert" statement\n'
' hashable by an "isinstance(obj, '
'collections.abc.Hashable)" call.\n'
'\n'
' Note: By default, the "__hash__()" values of str, bytes '
'and\n'
' datetime objects are “salted” with an unpredictable '
'random value.\n'
' Note: By default, the "__hash__()" values of str and '
'bytes\n'
' objects are “salted” with an unpredictable random '
'value.\n'
' Although they remain constant within an individual '
'Python\n'
' process, they are not predictable between repeated '
@ -3758,6 +3768,8 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
" import pdb; pdb.Pdb(skip=['django.*']).set_trace()\n"
'\n'
' Raises an auditing event "pdb.Pdb" with no arguments.\n'
'\n'
' New in version 3.1: The *skip* argument.\n'
'\n'
' New in version 3.2: The *nosigint* argument. Previously, a '
@ -4289,7 +4301,14 @@ topics = {'assert': 'The "assert" statement\n'
'section The standard type hierarchy. (To summarize, the key type\n'
'should be *hashable*, which excludes all mutable objects.) Clashes\n'
'between duplicate keys are not detected; the last datum (textually\n'
'rightmost in the display) stored for a given key value prevails.\n',
'rightmost in the display) stored for a given key value prevails.\n'
'\n'
'Changed in version 3.8: Prior to Python 3.8, in dict '
'comprehensions,\n'
'the evaluation order of key and value was not well-defined. In\n'
'CPython, the value was evaluated before the key. Starting with '
'3.8,\n'
'the key is evaluated before the value, as proposed by **PEP 572**.\n',
'dynamic-features': 'Interaction with dynamic features\n'
'*********************************\n'
'\n'
@ -4430,9 +4449,13 @@ topics = {'assert': 'The "assert" statement\n'
'(a\n'
'command specified on the interpreter command line with the '
'"-c"\n'
'option) is a code block. The string argument passed to the '
'built-in\n'
'functions "eval()" and "exec()" is a code block.\n'
'option) is a code block. A module run as a top level script (as '
'module\n'
'"__main__") from the command line using a "-m" argument is also '
'a code\n'
'block. The string argument passed to the built-in functions '
'"eval()"\n'
'and "exec()" is a code block.\n'
'\n'
'A code block is executed in an *execution frame*. A frame '
'contains\n'
@ -5090,7 +5113,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 '
@ -5139,7 +5162,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 '
@ -5243,7 +5266,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 '
@ -5263,7 +5286,7 @@ topics = {'assert': 'The "assert" statement\n'
'Meaning '
'|\n'
' '
'+===========+============================================================+\n'
'|===========|============================================================|\n'
' | "\'b\'" | Binary format. Outputs the number in '
'base 2. |\n'
' '
@ -5325,7 +5348,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 '
@ -5364,30 +5387,34 @@ topics = {'assert': 'The "assert" statement\n'
'the result |\n'
' | | formatted with presentation type "\'e\'" '
'and precision "p-1" |\n'
' | | would have exponent "exp". Then if "-4 <= '
'exp < p", the |\n'
' | | number is formatted with presentation type '
'"\'f\'" and |\n'
' | | precision "p-1-exp". Otherwise, the '
'number is formatted |\n'
' | | with presentation type "\'e\'" and '
'precision "p-1". In both |\n'
' | | cases insignificant trailing zeros are '
'removed from the |\n'
' | | would have exponent "exp". Then, if "m <= '
'exp < p", where |\n'
' | | "m" is -4 for floats and -6 for '
'"Decimals", the number is |\n'
' | | formatted with presentation type "\'f\'" '
'and precision |\n'
' | | "p-1-exp". Otherwise, the number is '
'formatted with |\n'
' | | presentation type "\'e\'" and precision '
'"p-1". In both cases |\n'
' | | insignificant trailing zeros are removed '
'from the |\n'
' | | significand, and the decimal point is also '
'removed if |\n'
' | | there are no remaining digits following '
'it. Positive and |\n'
' | | negative infinity, positive and negative '
'zero, and nans, |\n'
' | | are formatted as "inf", "-inf", "0", "-0" '
'and "nan" |\n'
' | | respectively, regardless of the '
'precision. A precision of |\n'
' | | "0" is treated as equivalent to a '
'precision of "1". The |\n'
' | | default precision is '
'"6". |\n'
'it, unless the |\n'
' | | "\'#\'" option is used. Positive and '
'negative infinity, |\n'
' | | positive and negative zero, and nans, are '
'formatted as |\n'
' | | "inf", "-inf", "0", "-0" and "nan" '
'respectively, |\n'
' | | regardless of the precision. A precision '
'of "0" is |\n'
' | | treated as equivalent to a precision of '
'"1". The default |\n'
' | | precision is '
'"6". |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | "\'G\'" | General format. Same as "\'g\'" except '
@ -6212,6 +6239,10 @@ topics = {'assert': 'The "assert" statement\n'
'that\n'
'determine dynamically the modules to be loaded.\n'
'\n'
'Raises an auditing event "import" with arguments "module", '
'"filename",\n'
'"sys.path", "sys.meta_path", "sys.path_hooks".\n'
'\n'
'\n'
'Future statements\n'
'=================\n'
@ -7036,7 +7067,10 @@ topics = {'assert': 'The "assert" statement\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| Operator | '
'Description |\n'
'+=================================================+=======================================+\n'
'|=================================================|=======================================|\n'
'| ":=" | '
'Assignment expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "lambda" | '
'Lambda expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
@ -7093,10 +7127,10 @@ topics = {'assert': 'The "assert" statement\n'
'| "x(arguments...)", "x.attribute" | '
'attribute reference |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "(expressions...)", "[expressions...]", "{key: | '
'Binding or tuple display, list |\n'
'| value...}", "{expressions...}" | '
'display, dictionary display, set |\n'
'| "(expressions...)", "[expressions...]", "{key: | '
'Binding or parenthesized expression, |\n'
'| value...}", "{expressions...}" | list '
'display, dictionary display, set |\n'
'| | '
'display |\n'
'+-------------------------------------------------+---------------------------------------+\n'
@ -7432,9 +7466,9 @@ topics = {'assert': 'The "assert" statement\n'
'to allow\n'
'efficient iteration through the container; for mappings, '
'"__iter__()"\n'
'should be the same as "keys()"; for sequences, it should '
'iterate\n'
'through the values.\n'
'should iterate through the objects keys; for sequences, '
'it should\n'
'iterate through the values.\n'
'\n'
'object.__len__(self)\n'
'\n'
@ -7464,7 +7498,11 @@ topics = {'assert': 'The "assert" statement\n'
' estimated length for the object (which may be greater '
'or less than\n'
' the actual length). The length must be an integer ">=" '
'0. This\n'
'0. The\n'
' return value may also be "NotImplemented", which is '
'treated the\n'
' same as if the "__length_hint__" method didnt exist at '
'all. This\n'
' method is purely an optimization and is never required '
'for\n'
' correctness.\n'
@ -7582,12 +7620,12 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The membership test operators ("in" and "not in") are '
'normally\n'
'implemented as an iteration through a sequence. However, '
'implemented as an iteration through a container. However, '
'container\n'
'objects can supply the following special method with a '
'more efficient\n'
'implementation, which also does not require the object be '
'a sequence.\n'
'iterable.\n'
'\n'
'object.__contains__(self, item)\n'
'\n'
@ -7832,13 +7870,15 @@ topics = {'assert': 'The "assert" statement\n'
'returning\n'
' it.\n'
'\n'
' If "__new__()" returns an instance of *cls*, then the '
'new\n'
' instances "__init__()" method will be invoked like\n'
' "__init__(self[, ...])", where *self* is the new instance '
'and the\n'
' remaining arguments are the same as were passed to '
'"__new__()".\n'
' If "__new__()" is invoked during object construction and '
'it returns\n'
' an instance or subclass of *cls*, then the new '
'instances\n'
' "__init__()" method will be invoked like "__init__(self[, '
'...])",\n'
' where *self* is the new instance and the remaining '
'arguments are\n'
' the same as were passed to the object constructor.\n'
'\n'
' If "__new__()" does not return an instance of *cls*, then '
'the new\n'
@ -8203,10 +8243,10 @@ topics = {'assert': 'The "assert" statement\n'
' hashable by an "isinstance(obj, '
'collections.abc.Hashable)" call.\n'
'\n'
' Note: By default, the "__hash__()" values of str, bytes '
'and\n'
' datetime objects are “salted” with an unpredictable '
'random value.\n'
' Note: By default, the "__hash__()" values of str and '
'bytes\n'
' objects are “salted” with an unpredictable random '
'value.\n'
' Although they remain constant within an individual '
'Python\n'
' process, they are not predictable between repeated '
@ -8367,10 +8407,11 @@ topics = {'assert': 'The "assert" statement\n'
'returned.\n'
'\n'
'The "__dir__" function should accept no arguments, and '
'return a list\n'
'of strings that represents the names accessible on module. '
'If present,\n'
'this function overrides the standard "dir()" search on a '
'return a\n'
'sequence of strings that represents the names accessible on '
'module. If\n'
'present, this function overrides the standard "dir()" search '
'on a\n'
'module.\n'
'\n'
'For a more fine grained customization of the module behavior '
@ -8431,21 +8472,34 @@ topics = {'assert': 'The "assert" statement\n'
'whose name is\n'
'the key of the property in the owner class "__dict__".\n'
'\n'
'object.__get__(self, instance, owner)\n'
'object.__get__(self, instance, owner=None)\n'
'\n'
' Called to get the attribute of the owner class (class '
'attribute\n'
' access) or of an instance of that class (instance '
'attribute\n'
' access). *owner* is always the owner class, while '
'*instance* is the\n'
' instance that the attribute was accessed through, or '
'"None" when\n'
' the attribute is accessed through the *owner*. This '
'method should\n'
' return the (computed) attribute value or raise an '
'"AttributeError"\n'
' exception.\n'
' access). The optional *owner* argument is the owner '
'class, while\n'
' *instance* is the instance that the attribute was '
'accessed through,\n'
' or "None" when the attribute is accessed through the '
'*owner*.\n'
'\n'
' This method should return the computed attribute value or '
'raise an\n'
' "AttributeError" exception.\n'
'\n'
' **PEP 252** specifies that "__get__()" is callable with '
'one or two\n'
' arguments. Pythons own built-in descriptors support '
'this\n'
' specification; however, it is likely that some '
'third-party tools\n'
' have descriptors that require both arguments. Pythons '
'own\n'
' "__getattribute__()" implementation always passes in both '
'arguments\n'
' whether they are required or not.\n'
'\n'
'object.__set__(self, instance, value)\n'
'\n'
@ -8453,6 +8507,12 @@ topics = {'assert': 'The "assert" statement\n'
'the owner\n'
' class to a new value, *value*.\n'
'\n'
' Note, adding "__set__()" or "__delete__()" changes the '
'kind of\n'
' descriptor to a “data descriptor”. See Invoking '
'Descriptors for\n'
' more details.\n'
'\n'
'object.__delete__(self, instance)\n'
'\n'
' Called to delete the attribute on an instance *instance* '
@ -8559,12 +8619,13 @@ topics = {'assert': 'The "assert" statement\n'
'both\n'
'"__get__()" and "__set__()", while non-data descriptors have '
'just the\n'
'"__get__()" method. Data descriptors with "__set__()" and '
'"__get__()"\n'
'defined always override a redefinition in an instance '
'dictionary. In\n'
'contrast, non-data descriptors can be overridden by '
'instances.\n'
'"__get__()" method. Data descriptors with "__get__()" and '
'"__set__()"\n'
'(and/or "__delete__()") defined always override a '
'redefinition in an\n'
'instance dictionary. In contrast, non-data descriptors can '
'be\n'
'overridden by instances.\n'
'\n'
'Python methods (including "staticmethod()" and '
'"classmethod()") are\n'
@ -8691,6 +8752,12 @@ topics = {'assert': 'The "assert" statement\n'
'violations\n'
' raise "TypeError".\n'
'\n'
'* If an iterator is used for *__slots__* then a descriptor '
'is\n'
' created for each of the iterators values. However, the '
'*__slots__*\n'
' attribute will be an empty iterator.\n'
'\n'
'\n'
'Customizing class creation\n'
'==========================\n'
@ -9136,9 +9203,9 @@ topics = {'assert': 'The "assert" statement\n'
'allow\n'
'efficient iteration through the container; for mappings, '
'"__iter__()"\n'
'should be the same as "keys()"; for sequences, it should '
'iterate\n'
'through the values.\n'
'should iterate through the objects keys; for sequences, it '
'should\n'
'iterate through the values.\n'
'\n'
'object.__len__(self)\n'
'\n'
@ -9167,7 +9234,11 @@ topics = {'assert': 'The "assert" statement\n'
' estimated length for the object (which may be greater or '
'less than\n'
' the actual length). The length must be an integer ">=" 0. '
'This\n'
'The\n'
' return value may also be "NotImplemented", which is '
'treated the\n'
' same as if the "__length_hint__" method didnt exist at '
'all. This\n'
' method is purely an optimization and is never required '
'for\n'
' correctness.\n'
@ -9285,12 +9356,12 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The membership test operators ("in" and "not in") are '
'normally\n'
'implemented as an iteration through a sequence. However, '
'implemented as an iteration through a container. However, '
'container\n'
'objects can supply the following special method with a more '
'efficient\n'
'implementation, which also does not require the object be a '
'sequence.\n'
'implementation, which also does not require the object be '
'iterable.\n'
'\n'
'object.__contains__(self, item)\n'
'\n'
@ -9756,9 +9827,21 @@ topics = {'assert': 'The "assert" statement\n'
'For a list\n'
' of possible encodings, see section Standard Encodings.\n'
'\n'
' By default, the *errors* argument is not checked for '
'best\n'
' performances, but only used at the first encoding '
'error. Enable the\n'
' development mode ("-X" "dev" option), or use a debug '
'build, to\n'
' check *errors*.\n'
'\n'
' Changed in version 3.1: Support for keyword arguments '
'added.\n'
'\n'
' Changed in version 3.9: The *errors* is now checked in '
'development\n'
' mode and in debug mode.\n'
'\n'
'str.endswith(suffix[, start[, end]])\n'
'\n'
' Return "True" if the string ends with the specified '
@ -9894,20 +9977,20 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'str.isalnum()\n'
'\n'
' Return true if all characters in the string are '
' Return "True" if all characters in the string are '
'alphanumeric and\n'
' there is at least one character, false otherwise. A '
'character "c"\n'
' is alphanumeric if one of the following returns '
' there is at least one character, "False" otherwise. A '
'character\n'
' "c" is alphanumeric if one of the following returns '
'"True":\n'
' "c.isalpha()", "c.isdecimal()", "c.isdigit()", or '
'"c.isnumeric()".\n'
'\n'
'str.isalpha()\n'
'\n'
' Return true if all characters in the string are '
' Return "True" if all characters in the string are '
'alphabetic and\n'
' there is at least one character, false otherwise. '
' there is at least one character, "False" otherwise. '
'Alphabetic\n'
' characters are those characters defined in the Unicode '
'character\n'
@ -9921,45 +10004,46 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'str.isascii()\n'
'\n'
' Return true if the string is empty or all characters in '
'the string\n'
' are ASCII, false otherwise. ASCII characters have code '
'points in\n'
' the range U+0000-U+007F.\n'
' Return "True" if the string is empty or all characters '
'in the\n'
' string are ASCII, "False" otherwise. ASCII characters '
'have code\n'
' points in the range U+0000-U+007F.\n'
'\n'
' New in version 3.7.\n'
'\n'
'str.isdecimal()\n'
'\n'
' Return true if all characters in the string are decimal '
'characters\n'
' and there is at least one character, false otherwise. '
'Decimal\n'
' characters are those that can be used to form numbers '
'in base 10,\n'
' e.g. U+0660, ARABIC-INDIC DIGIT ZERO. Formally a '
'decimal character\n'
' is a character in the Unicode General Category “Nd”.\n'
' Return "True" if all characters in the string are '
'decimal\n'
' characters and there is at least one character, "False" '
'otherwise.\n'
' Decimal characters are those that can be used to form '
'numbers in\n'
' base 10, e.g. U+0660, ARABIC-INDIC DIGIT ZERO. '
'Formally a decimal\n'
' character is a character in the Unicode General '
'Category “Nd”.\n'
'\n'
'str.isdigit()\n'
'\n'
' Return true if all characters in the string are digits '
'and there is\n'
' at least one character, false otherwise. Digits '
'include decimal\n'
' characters and digits that need special handling, such '
'as the\n'
' compatibility superscript digits. This covers digits '
'which cannot\n'
' be used to form numbers in base 10, like the Kharosthi '
'numbers.\n'
' Formally, a digit is a character that has the property '
'value\n'
' Numeric_Type=Digit or Numeric_Type=Decimal.\n'
' Return "True" if all characters in the string are '
'digits and there\n'
' is at least one character, "False" otherwise. Digits '
'include\n'
' decimal characters and digits that need special '
'handling, such as\n'
' the compatibility superscript digits. This covers '
'digits which\n'
' cannot be used to form numbers in base 10, like the '
'Kharosthi\n'
' numbers. Formally, a digit is a character that has the '
'property\n'
' value Numeric_Type=Digit or Numeric_Type=Decimal.\n'
'\n'
'str.isidentifier()\n'
'\n'
' Return true if the string is a valid identifier '
' Return "True" if the string is a valid identifier '
'according to the\n'
' language definition, section Identifiers and keywords.\n'
'\n'
@ -9978,32 +10062,33 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'str.islower()\n'
'\n'
' Return true if all cased characters [4] in the string '
'are lowercase\n'
' and there is at least one cased character, false '
'otherwise.\n'
' Return "True" if all cased characters [4] in the string '
'are\n'
' lowercase and there is at least one cased character, '
'"False"\n'
' otherwise.\n'
'\n'
'str.isnumeric()\n'
'\n'
' Return true if all characters in the string are numeric '
'characters,\n'
' and there is at least one character, false otherwise. '
'Numeric\n'
' characters include digit characters, and all characters '
'that have\n'
' the Unicode numeric value property, e.g. U+2155, VULGAR '
'FRACTION\n'
' ONE FIFTH. Formally, numeric characters are those with '
'the\n'
' property value Numeric_Type=Digit, Numeric_Type=Decimal '
'or\n'
' Return "True" if all characters in the string are '
'numeric\n'
' characters, and there is at least one character, '
'"False" otherwise.\n'
' Numeric characters include digit characters, and all '
'characters\n'
' that have the Unicode numeric value property, e.g. '
'U+2155, VULGAR\n'
' FRACTION ONE FIFTH. Formally, numeric characters are '
'those with\n'
' the property value Numeric_Type=Digit, '
'Numeric_Type=Decimal or\n'
' Numeric_Type=Numeric.\n'
'\n'
'str.isprintable()\n'
'\n'
' Return true if all characters in the string are '
' Return "True" if all characters in the string are '
'printable or the\n'
' string is empty, false otherwise. Nonprintable '
' string is empty, "False" otherwise. Nonprintable '
'characters are\n'
' those characters defined in the Unicode character '
'database as\n'
@ -10019,32 +10104,45 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'str.isspace()\n'
'\n'
' Return true if there are only whitespace characters in '
'the string\n'
' and there is at least one character, false otherwise. '
'Whitespace\n'
' characters are those characters defined in the Unicode '
'character\n'
' database as “Other” or “Separator” and those with '
'bidirectional\n'
' property being one of “WS”, “B”, or “S”.\n'
' Return "True" if there are only whitespace characters '
'in the string\n'
' and there is at least one character, "False" '
'otherwise.\n'
'\n'
' A character is *whitespace* if in the Unicode character '
'database\n'
' (see "unicodedata"), either its general category is '
'"Zs"\n'
' (“Separator, space”), or its bidirectional class is one '
'of "WS",\n'
' "B", or "S".\n'
'\n'
'str.istitle()\n'
'\n'
' Return true if the string is a titlecased string and '
' Return "True" if the string is a titlecased string and '
'there is at\n'
' least one character, for example uppercase characters '
'may only\n'
' follow uncased characters and lowercase characters only '
'cased ones.\n'
' Return false otherwise.\n'
' Return "False" otherwise.\n'
'\n'
'str.isupper()\n'
'\n'
' Return true if all cased characters [4] in the string '
'are uppercase\n'
' and there is at least one cased character, false '
'otherwise.\n'
' Return "True" if all cased characters [4] in the string '
'are\n'
' uppercase and there is at least one cased character, '
'"False"\n'
' otherwise.\n'
'\n'
" >>> 'BANANA'.isupper()\n"
' True\n'
" >>> 'banana'.isupper()\n"
' False\n'
" >>> 'baNana'.isupper()\n"
' False\n'
" >>> ' '.isupper()\n"
' False\n'
'\n'
'str.join(iterable)\n'
'\n'
@ -10280,7 +10378,7 @@ topics = {'assert': 'The "assert" statement\n'
' | Representation | '
'Description |\n'
' '
'+=========================+===============================+\n'
'|=========================|===============================|\n'
' | "\\n" | Line '
'Feed |\n'
' '
@ -10619,7 +10717,7 @@ topics = {'assert': 'The "assert" statement\n'
'+-------------------+-----------------------------------+---------+\n'
'| Escape Sequence | Meaning | Notes '
'|\n'
'+===================+===================================+=========+\n'
'|===================|===================================|=========|\n'
'| "\\newline" | Backslash and newline ignored '
'| |\n'
'+-------------------+-----------------------------------+---------+\n'
@ -10665,7 +10763,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 | '
@ -10716,13 +10814,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' Changed in version 3.6: Unrecognized escape sequences produce '
'a\n'
' "DeprecationWarning".\n'
'\n'
' Changed in version 3.8: Unrecognized escape sequences produce '
' "DeprecationWarning". In a future Python version they will be '
'a\n'
' "SyntaxWarning". In some future version of Python they will '
'be a\n'
' "SyntaxError".\n'
' "SyntaxWarning" and eventually a "SyntaxError".\n'
'\n'
'Even in a raw literal, quotes can be escaped with a backslash, '
'but the\n'
@ -11303,7 +11397,7 @@ topics = {'assert': 'The "assert" statement\n'
' | Attribute | Meaning '
'| |\n'
' '
'+===========================+=================================+=============+\n'
'|===========================|=================================|=============|\n'
' | "__doc__" | The functions documentation '
'| Writable |\n'
' | | string, or "None" if '
@ -12106,7 +12200,8 @@ topics = {'assert': 'The "assert" statement\n'
" >>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))\n"
" >>> d = dict([('two', 2), ('one', 1), ('three', 3)])\n"
" >>> e = dict({'three': 3, 'one': 1, 'two': 2})\n"
' >>> a == b == c == d == e\n'
" >>> f = dict({'one': 1, 'three': 3}, two=2)\n"
' >>> a == b == c == d == e == f\n'
' True\n'
'\n'
' Providing keyword arguments as in the first example only '
@ -12119,6 +12214,11 @@ topics = {'assert': 'The "assert" statement\n'
'therefore,\n'
' custom mapping types should support too):\n'
'\n'
' list(d)\n'
'\n'
' Return a list of all the keys used in the dictionary '
'*d*.\n'
'\n'
' len(d)\n'
'\n'
' Return the number of items in the dictionary *d*.\n'
@ -12287,11 +12387,21 @@ topics = {'assert': 'The "assert" statement\n'
'the\n'
' documentation of view objects.\n'
'\n'
' An equality comparison between one "dict.values()" '
'view and\n'
' another will always return "False". This also applies '
'when\n'
' comparing "dict.values()" to itself:\n'
'\n'
" >>> d = {'a': 1}\n"
' >>> d.values() == d.values()\n'
' False\n'
'\n'
' Dictionaries compare equal if and only if they have the '
'same "(key,\n'
' value)" pairs. Order comparisons (<, <=, >=, >) '
'raise\n'
' "TypeError".\n'
' value)" pairs (regardless of ordering). Order comparisons '
'(<,\n'
' <=, >=, >) raise "TypeError".\n'
'\n'
' Dictionaries preserve insertion order. Note that '
'updating a key\n'
@ -12577,7 +12687,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" '
@ -12806,7 +12916,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'
'| | '
@ -13268,7 +13378,7 @@ topics = {'assert': 'The "assert" statement\n'
'| Operation | '
'Result | Notes '
'|\n'
'+================================+==================================+=======================+\n'
'|================================|==================================|=======================|\n'
'| "s[i] = x" | item *i* of *s* is '
'replaced by | |\n'
'| | '

5772
Misc/NEWS.d/3.9.0a1.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +0,0 @@
Update optional extension module detection for AIX.
ossaudiodev and spwd are not applicable for AIX, and
are no longer reported as missing.
3rd-party packaging of ncurses (with ASIS support)
conflicts with officially supported AIX curses library,
so configure AIX to use libcurses.a. However, skip
trying to build _curses_panel.
patch by M Felt

View File

@ -1 +0,0 @@
Enables use of SSE2 instructions in Windows 32-bit build.

View File

@ -1,3 +0,0 @@
Many ``PyRun_XXX()`` functions like :c:func:`PyRun_String` were no longer
exported in ``libpython38.dll`` by mistake. Export them again to fix the ABI
compatibility.

View File

@ -1,2 +0,0 @@
``make install`` no longer installs ``wininst-*.exe`` files used by
distutils bdist_wininst: bdist_wininst only works on Windows.

View File

@ -1,9 +0,0 @@
Reduce the number of unit tests run for the PGO generation task. This
speeds up the task by a factor of about 15x. Running the full unit test
suite is slow. This change may result in a slightly less optimized build
since not as many code branches will be executed. If you are willing to
wait for the much slower build, the old behavior can be restored using
'./configure [..] PROFILE_TASK="-m test --pgo-extended"'. We make no
guarantees as to which PGO task set produces a faster build. Users who
care should run their own relevant benchmarks as results can depend on
the environment, workload, and compiler tool chain.

View File

@ -1,3 +0,0 @@
Mark some individual tests to skip when --pgo is used. The tests marked
increase the PGO task time significantly and likely don't help improve
optimization of the final executable.

View File

@ -1,3 +0,0 @@
Change "clean" makefile target to also clean the program guided optimization
(PGO) data. Previously you would have to use "make clean" and "make
profile-removal", or "make clobber".

View File

@ -1,2 +0,0 @@
The :file:`.gitignore` file no longer applies to any files that are in fact
tracked in the Git repository. Patch by Greg Price.

View File

@ -1,6 +0,0 @@
The :file:`Tools/unicode/makeunicodedata.py` script, which is used for
converting information from the Unicode Character Database into generated
code and data used by the methods of :class:`str` and by the
:mod:`unicodedata` module, now handles each character's data as a
``dataclass`` with named attributes, rather than a length-18 list of
different fields.

View File

@ -1,5 +0,0 @@
The :file:`.gitignore` file systematically keeps "rooted", with a
non-trailing slash, all the rules that are meant to apply to files in a
specific place in the repo. Previously, when the intended file to ignore
happened to be at the root of the repo, we'd most often accidentally also
ignore files and directories with the same name anywhere in the tree.

View File

@ -1,2 +0,0 @@
Locate ``llvm-profdata`` and ``llvm-ar`` binaries using ``AC_PATH_TOOL``
rather than ``AC_PATH_TARGET_TOOL``.

View File

@ -1,2 +0,0 @@
In Solaris family, we must be sure to use ``-D_REENTRANT``.
Patch by Jesús Cea Avión.

View File

@ -1,2 +0,0 @@
Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks
atomic_uintptr_t type which is needed by Python.

View File

@ -1,2 +0,0 @@
Misc/python-config.in now uses `getvar()` for all still existing `sysconfig.get_config_var()` calls.
Patch by Joannah Nanjekye.

View File

@ -1 +0,0 @@
Fix _hashlib build when Blake2 is disabled, but OpenSSL supports it.

View File

@ -1,2 +0,0 @@
On Windows, build scripts will now recognize and use python.exe from an
active virtual env.

View File

@ -1,2 +0,0 @@
Use singular/plural noun in error message when instantiating an abstract
class with non-overriden abstract method(s).

View File

@ -1,2 +0,0 @@
Convert posixmodule.c statically allocated types ``DirEntryType`` and
``ScandirIteratorType`` to heap-allocated types.

View File

@ -1 +0,0 @@
Fix the cast on error in :c:func:`PyLong_AsUnsignedLongLongMask()`.

View File

@ -1,6 +0,0 @@
Add a new public :c:func:`PyObject_CallNoArgs` function to the C API: call a
callable Python object without any arguments. It is the most efficient way to
call a callback without any argument. On x86-64, for example,
``PyObject_CallFunctionObjArgs(func, NULL)`` allocates 960 bytes on the stack
per call, whereas ``PyObject_CallNoArgs(func)`` only allocates 624 bytes per
call.

View File

@ -1 +0,0 @@
Fix dtrace issue introduce by bpo-36842

View File

@ -1,3 +0,0 @@
The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create
code objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount*
parameter for indicating the number of positonal-only arguments.

View File

@ -1 +0,0 @@
The :const:`METH_FASTCALL` calling convention has been documented.

View File

@ -1,2 +0,0 @@
Add fast functions for calling methods: :c:func:`_PyObject_VectorcallMethod`,
:c:func:`_PyObject_CallMethodNoArgs` and :c:func:`_PyObject_CallMethodOneArg`.

View File

@ -1 +0,0 @@
Add :func:`PyConfig_SetWideStringList` function.

View File

@ -1,2 +0,0 @@
Add new function ``_PyObject_CallOneArg`` for calling an object with one
positional argument.

View File

@ -1 +0,0 @@
Exclude Python-ast.h, ast.h and asdl.h from the limited API.

View File

@ -1,3 +0,0 @@
The vectorcall protocol is now enabled for ``type`` objects: set
``tp_vectorcall`` to a vectorcall function to be used instead of ``tp_new``
and ``tp_init`` when calling the class itself.

View File

@ -1,2 +0,0 @@
The vectorcall protocol now requires that the caller passes only strings as
keyword names.

View File

@ -1 +0,0 @@
``PyCFunction_Call`` is now a deprecated alias of :c:func:`PyObject_Call`.

View File

@ -1,3 +0,0 @@
The functions ``PyEval_CallObject``, ``PyEval_CallFunction``,
``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated.
Use :c:func:`PyObject_Call` and its variants instead.

View File

@ -1,2 +0,0 @@
Add :c:func:`_PyObject_FunctionStr` to get a user-friendly string representation
of a function-like object. Patch by Jeroen Demeyer.

View File

@ -1,2 +0,0 @@
Fix subtype_dealloc to suppress the type decref when the base type is a C
heap type

View File

@ -1 +0,0 @@
Fix a crash in ``PySys_SetArgvEx(0, NULL, 0)``.

View File

@ -1,2 +0,0 @@
Options added by ``PySys_AddXOption()`` are now handled the same way than
``PyConfig.xoptions`` and command line ``-X`` options.

View File

@ -1,4 +0,0 @@
The C function ``PyGen_NeedsFinalizing`` has been removed. It was not
documented, tested or used anywhere within CPython after the implementation
of :pep:`442`. Patch by Joannah Nanjekye.
(Patch by Joannah Nanjekye)

View File

@ -1,2 +0,0 @@
Make dict and weakref offsets opaque for C heap types by passing the offsets
through PyMemberDef

View File

@ -1 +0,0 @@
The :c:func:`Py_UNREACHABLE` macro now calls :c:func:`Py_FatalError`.

View File

@ -1,3 +0,0 @@
Python ignored arguments passed to :c:func:`Py_SetPath`,
:c:func:`Py_SetPythonHome` and :c:func:`Py_SetProgramName`: fix Python
initialization to use specified arguments.

View File

@ -1,3 +0,0 @@
:c:func:`Py_SetPath` now sets :data:`sys.executable` to the program full
path (:c:func:`Py_GetProgramFullPath`) rather than to the program name
(:c:func:`Py_GetProgramName`).

View File

@ -1 +0,0 @@
Update audioop extension module to use the stable ABI (PEP-384). Patch by Tyler Kieft.

View File

@ -1 +0,0 @@
Revert the removal of PyThreadState_DeleteCurrent() with documentation.

View File

@ -1,3 +0,0 @@
The ``_PyObject_CheckConsistency()`` function is now also available in release
mode. For example, it can be used to debug a crash in the ``visit_decref()``
function of the GC.

View File

@ -1,3 +0,0 @@
Fix a crash in :class:`weakref.proxy` objects due to incorrect lifetime
management when calling some associated methods that may delete the last
reference to object being referenced by the proxy. Patch by Pablo Galindo.

View File

@ -1,3 +0,0 @@
Fixed possible leak in :c:func:`PyArg_Parse` and similar functions for
format units ``"es#"`` and ``"et#"`` when the macro
:c:macro:`PY_SSIZE_T_CLEAN` is not defined.

View File

@ -1,2 +0,0 @@
The global variable :c:data:`PyStructSequence_UnnamedField` is now a
constant and refers to a constant string.

View File

@ -1,5 +0,0 @@
Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall`
as regular functions for the limited API. Previously, there were defined as
macros, but these macros didn't work with the limited API which cannot access
``PyThreadState.recursion_depth`` field. Remove ``_Py_CheckRecursionLimit``
from the stable ABI.

View File

@ -1 +0,0 @@
Reëxport some function compatibility wrappers for macros in ``pythonrun.h``.

View File

@ -1,2 +0,0 @@
Prohibit parallel running of aclose() / asend() / athrow(). Fix ag_running
to reflect the actual running status of the AG.

View File

@ -1,2 +0,0 @@
Improve speed of dictview intersection by directly using set intersection
logic. Patch by David Su.

View File

@ -1,3 +0,0 @@
The :class:`classmethod` decorator can now wrap other descriptors
such as property objects. Adapted from a patch written by Graham
Dumpleton.

View File

@ -1,3 +0,0 @@
Updated encodings:
- Removed the "tis260" encoding, which was an alias for the nonexistent "tactis" codec.
- Added "mac_centeuro" as an alias for the mac_latin2 encoding.

View File

@ -1,2 +0,0 @@
``pdb.Pdb`` supports ~/.pdbrc in Windows 7. Patch by Tim Hopper and Dan
Lidral-Porter.

View File

@ -1 +0,0 @@
Add ``--upgrade-deps`` to venv module. Patch by Cooper Ry Lees

View File

@ -1 +0,0 @@
:func:`sum` has been optimized for boolean values.

View File

@ -1,2 +0,0 @@
Add :func:`threading.get_native_id` support for AIX.
Patch by M. Felt

View File

@ -1 +0,0 @@
:func:`threading.get_native_id` now also supports NetBSD.

View File

@ -1,2 +0,0 @@
The slot ``tp_vectorcall_offset`` is inherited unconditionally to support
``super().__call__()`` when the base class uses vectorcall.

View File

@ -1 +0,0 @@
Slot functions optimize any callable with ``Py_TPFLAGS_METHOD_DESCRIPTOR`` instead of only instances of ``function``.

View File

@ -1,3 +0,0 @@
Implement :c:func:`PyBuffer_SizeFromFormat()` function (previously
documented but not implemented): call :func:`struct.calcsize`.
Patch by Joannah Nanjekye.

View File

@ -1 +0,0 @@
Remove erroneous optimization for empty set differences.

View File

@ -1,2 +0,0 @@
Handle correctly negative line offsets in the peephole optimizer. Patch by
Pablo Galindo.

View File

@ -1,2 +0,0 @@
Implemented separate vectorcall functions for every calling convention of
builtin functions and methods. This improves performance for calls.

View File

@ -1,2 +0,0 @@
The dispatching of type slots to special methods (for example calling
``__mul__`` when doing ``x * y``) has been made faster.

View File

@ -1 +0,0 @@
Python's small object allocator (``obmalloc.c``) now allows (no more than) one empty arena to remain available for immediate reuse, without returning it to the OS. This prevents thrashing in simple loops where an arena could be created and destroyed anew on each iteration.

View File

@ -1,3 +0,0 @@
Python now gets the absolute path of the script filename specified on the
command line (ex: "python3 script.py"): the __file__ attribute of the __main__
module and sys.path[0] become an absolute path, rather than a relative path.

View File

@ -1,2 +0,0 @@
Fix a bug in the peephole optimizer that was not treating correctly constant
conditions with binary operators. Patch by Pablo Galindo.

View File

@ -1 +0,0 @@
Remove an unnecssary Py_XINCREF in classobject.c.

View File

@ -1 +0,0 @@
Fix the :c:func:`PySys_Audit` call in :class:`mmap.mmap`.

View File

@ -1,2 +0,0 @@
Reverse evaluation order of key: value in dict comprehensions as proposed in PEP 572.
I.e. in ``{k: v for ...}``, ``k`` will be evaluated before ``v``.

View File

@ -1,3 +0,0 @@
:func:`open`, :func:`io.open`, :func:`codecs.open` and
:class:`fileinput.FileInput` no longer accept ``'U'`` ("universal newline") in
the file mode. This flag was deprecated since Python 3.3.

View File

@ -1,2 +0,0 @@
Improved support of the surrogatepass error handler in the UTF-8 and UTF-16
incremental decoders.

View File

@ -1,2 +0,0 @@
Optimized decoding short ASCII string with UTF-8 and ascii codecs.
``b"foo".decode()`` is about 15% faster. Patch by Inada Naoki.

View File

@ -1,7 +0,0 @@
In development mode and in debug build, *encoding* and *errors* arguments are
now checked on string encoding and decoding operations. Examples: :func:`open`,
:meth:`str.encode` and :meth:`bytes.decode`.
By default, for best performances, the *errors* argument is only checked at the
first encoding/decoding error, and the *encoding* argument is sometimes ignored
for empty strings.

View File

@ -1,4 +0,0 @@
Remove ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions.
They were deprecated since Python 3.2. Use :func:`sys.getswitchinterval` and
:func:`sys.setswitchinterval` instead. Remove also ``check_interval`` field of
the ``PyInterpreterState`` structure.

View File

@ -1,3 +0,0 @@
The undocumented ``sys.callstats()`` function has been removed. Since Python
3.7, it was deprecated and always returned ``None``. It required a special
build option ``CALL_PROFILE`` which was already removed in Python 3.7.

View File

@ -1,2 +0,0 @@
:meth:`bytearray.extend` now correctly handles errors that arise during iteration.
Patch by Brandt Bucher.

View File

@ -1 +0,0 @@
Fix ``SyntaxError`` indicator printing too many spaces for multi-line strings - by Anthony Sottile.

View File

@ -1,3 +0,0 @@
Fix :func:`sys.excepthook` and :c:func:`PyErr_Display` if a filename is a
bytes string. For example, for a SyntaxError exception where the filename
attribute is a bytes string.

View File

@ -1,3 +0,0 @@
Compute allocated pymalloc blocks inside _Py_GetAllocatedBlocks(). This
slows down _Py_GetAllocatedBlocks() but gives a small speedup to
_PyObject_Malloc() and _PyObject_Free().

View File

@ -1 +0,0 @@
Optimized pymalloc for non PGO build.

View File

@ -1,2 +0,0 @@
Swap the positions of the *posonlyargs* and *args* parameters in the
constructor of :class:`ast.parameters` nodes.

View File

@ -1,3 +0,0 @@
When adding a wrapper descriptor from one class to a different class
(for example, setting ``__add__ = str.__add__`` on an ``int`` subclass),
an exception is correctly raised when the operator is called.

View File

@ -1 +0,0 @@
Update differing exception between :meth:`builtins.__import__` and :meth:`importlib.__import__`.

View File

@ -1,3 +0,0 @@
Fixed minor inconsistency in :meth:`list.__contains__`,
:meth:`tuple.__contains__` and a few other places. The collection's item is
now always at the left and the needle is on the right of ``==``.

View File

@ -1,3 +0,0 @@
Removed object cache (``free_list``) for bound method objects. Temporary
bound method objects are less used than before thanks to the ``LOAD_METHOD``
opcode and the ``_PyObject_VectorcallMethod`` C API.

View File

@ -1,3 +0,0 @@
The :keyword:`assert` statement now works properly if the
:exc:`AssertionError` exception is being shadowed.
Patch by Zackery Spytz.

View File

@ -1,2 +0,0 @@
Decoding bytes objects larger than 2GiB is faster and no longer fails when a
multibyte characters spans a chunk boundary.

View File

@ -1 +0,0 @@
Fix potential use of uninitialized memory in :func:`os.wait3`.

View File

@ -1,7 +0,0 @@
:pep:`572`: As described in the PEP, assignment expressions now raise
:exc:`SyntaxError` when their interaction with comprehension scoping results
in an ambiguous target scope.
The ``TargetScopeError`` subclass originally proposed by the PEP has been
removed in favour of just raising regular syntax errors for the disallowed
cases.

View File

@ -1,3 +0,0 @@
Reverted :issue:`32912`: emitting :exc:`SyntaxWarning` instead of
:exc:`DeprecationWarning` for invalid escape sequences in string and bytes
literals.

View File

@ -1,2 +0,0 @@
Ensure explicit relative imports from interactive sessions and scripts (having no parent package) always raise ImportError, rather than treating the current module as the package.
Patch by Ben Lewis.

View File

@ -1,3 +0,0 @@
Slightly improve performance of :c:func:`PyLong_FromUnsignedLong`,
:c:func:`PyLong_FromUnsignedLongLong` and :c:func:`PyLong_FromSize_t`.
Patch by Sergey Fedoseev.

View File

@ -1,2 +0,0 @@
Fix handling of negative indices in :c:member:`~PySequenceMethods.sq_item`
of :class:`bytearray`. Patch by Sergey Fedoseev.

View File

@ -1,2 +0,0 @@
Improve import error message for partially initialized module on circular
``from`` imports - by Anthony Sottile.

View File

@ -1,3 +0,0 @@
Fixed compilation of :keyword:`break` and :keyword:`continue` in the
:keyword:`finally` block when the corresponding :keyword:`try` block
contains :keyword:`return` with a non-constant value.

View File

@ -1 +0,0 @@
Fix :func:`codecs.lookup` to normalize the encoding name the same way than :func:`encodings.normalize_encoding`, except that :func:`codecs.lookup` also converts the name to lower case.

Some files were not shown because too many files have changed in this diff Show More