mirror of
https://github.com/python/cpython.git
synced 2026-02-13 19:04:37 +00:00
Python 3.10.1
This commit is contained in:
parent
1528d249a5
commit
2cd268a3a9
153 changed files with 1884 additions and 477 deletions
|
|
@ -18,12 +18,12 @@
|
|||
/*--start constants--*/
|
||||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 10
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_MICRO_VERSION 1
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
|
||||
#define PY_RELEASE_SERIAL 0
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.10.0+"
|
||||
#define PY_VERSION "3.10.1"
|
||||
/*--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 Mon Oct 4 18:28:12 2021
|
||||
# Autogenerated by Sphinx on Mon Dec 6 17:57:38 2021
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
|
|
@ -3339,9 +3339,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'The same keyword should not be repeated in class patterns.\n'
|
||||
'\n'
|
||||
'The following is the logical flow for matching a mapping '
|
||||
'pattern\n'
|
||||
'against a subject value:\n'
|
||||
'The following is the logical flow for matching a class pattern '
|
||||
'against\n'
|
||||
'a subject value:\n'
|
||||
'\n'
|
||||
'1. If "name_or_attr" is not an instance of the builtin "type" , '
|
||||
'raise\n'
|
||||
|
|
@ -5488,20 +5488,32 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'binding\n'
|
||||
'operations.\n'
|
||||
'\n'
|
||||
'The following constructs bind names: formal parameters to '
|
||||
'functions,\n'
|
||||
'"import" statements, class and function definitions (these bind '
|
||||
'the\n'
|
||||
'class or function name in the defining block), and targets that '
|
||||
'are\n'
|
||||
'identifiers if occurring in an assignment, "for" loop header, '
|
||||
'or after\n'
|
||||
'"as" in a "with" statement or "except" clause. The "import" '
|
||||
'statement\n'
|
||||
'of the form "from ... import *" binds all names defined in the\n'
|
||||
'imported module, except those beginning with an underscore. '
|
||||
'This form\n'
|
||||
'may only be used at the module level.\n'
|
||||
'The following constructs bind names:\n'
|
||||
'\n'
|
||||
'* formal parameters to functions,\n'
|
||||
'\n'
|
||||
'* class definitions,\n'
|
||||
'\n'
|
||||
'* function definitions,\n'
|
||||
'\n'
|
||||
'* assignment expressions,\n'
|
||||
'\n'
|
||||
'* targets that are identifiers if occurring in an assignment:\n'
|
||||
'\n'
|
||||
' * "for" loop header,\n'
|
||||
'\n'
|
||||
' * after "as" in a "with" statement, "except" clause or in the '
|
||||
'as-\n'
|
||||
' pattern in structural pattern matching,\n'
|
||||
'\n'
|
||||
' * in a capture pattern in structural pattern matching\n'
|
||||
'\n'
|
||||
'* "import" statements.\n'
|
||||
'\n'
|
||||
'The "import" statement of the form "from ... import *" binds '
|
||||
'all names\n'
|
||||
'defined in the imported module, except those beginning with an\n'
|
||||
'underscore. This form may only be used at the module level.\n'
|
||||
'\n'
|
||||
'A target occurring in a "del" statement is also considered '
|
||||
'bound for\n'
|
||||
|
|
@ -5574,9 +5586,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'operations.\n'
|
||||
'\n'
|
||||
'If the "global" statement occurs within a block, all uses of '
|
||||
'the name\n'
|
||||
'specified in the statement refer to the binding of that name in '
|
||||
'the\n'
|
||||
'the names\n'
|
||||
'specified in the statement refer to the bindings of those names '
|
||||
'in the\n'
|
||||
'top-level namespace. Names are resolved in the top-level '
|
||||
'namespace by\n'
|
||||
'searching the global namespace, i.e. the namespace of the '
|
||||
|
|
@ -5585,9 +5597,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'namespace\n'
|
||||
'of the module "builtins". The global namespace is searched '
|
||||
'first. If\n'
|
||||
'the name is not found there, the builtins namespace is '
|
||||
'searched. The\n'
|
||||
'"global" statement must precede all uses of the name.\n'
|
||||
'the names are not found there, the builtins namespace is '
|
||||
'searched.\n'
|
||||
'The "global" statement must precede all uses of the listed '
|
||||
'names.\n'
|
||||
'\n'
|
||||
'The "global" statement has the same scope as a name binding '
|
||||
'operation\n'
|
||||
|
|
@ -6943,22 +6956,31 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'trailing underscore characters:\n'
|
||||
'\n'
|
||||
'"_*"\n'
|
||||
' Not imported by "from module import *". The special '
|
||||
'identifier "_"\n'
|
||||
' is used in the interactive interpreter to store the result '
|
||||
'of the\n'
|
||||
' last evaluation; it is stored in the "builtins" module. '
|
||||
'When not\n'
|
||||
' in interactive mode, "_" has no special meaning and is not '
|
||||
'defined.\n'
|
||||
' See section The import statement.\n'
|
||||
' Not imported by "from module import *".\n'
|
||||
'\n'
|
||||
'"_"\n'
|
||||
' In a "case" pattern within a "match" statement, "_" is a '
|
||||
'soft\n'
|
||||
' keyword that denotes a wildcard.\n'
|
||||
'\n'
|
||||
' Separately, the interactive interpreter makes the result of '
|
||||
'the\n'
|
||||
' last evaluation available in the variable "_". (It is '
|
||||
'stored in the\n'
|
||||
' "builtins" module, alongside built-in functions like '
|
||||
'"print".)\n'
|
||||
'\n'
|
||||
' Elsewhere, "_" is a regular identifier. It is often used to '
|
||||
'name\n'
|
||||
' “special” items, but it is not special to Python itself.\n'
|
||||
'\n'
|
||||
' Note:\n'
|
||||
'\n'
|
||||
' The name "_" is often used in conjunction with\n'
|
||||
' internationalization; refer to the documentation for the\n'
|
||||
' "gettext" module for more information on this '
|
||||
'convention.\n'
|
||||
'convention.It is\n'
|
||||
' also commonly used for unused variables.\n'
|
||||
'\n'
|
||||
'"__*__"\n'
|
||||
' System-defined names, informally known as “dunder” names. '
|
||||
|
|
@ -7113,15 +7135,23 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'trailing underscore characters:\n'
|
||||
'\n'
|
||||
'"_*"\n'
|
||||
' Not imported by "from module import *". The special '
|
||||
'identifier "_"\n'
|
||||
' is used in the interactive interpreter to store the result '
|
||||
' Not imported by "from module import *".\n'
|
||||
'\n'
|
||||
'"_"\n'
|
||||
' In a "case" pattern within a "match" statement, "_" is a '
|
||||
'soft\n'
|
||||
' keyword that denotes a wildcard.\n'
|
||||
'\n'
|
||||
' Separately, the interactive interpreter makes the result '
|
||||
'of the\n'
|
||||
' last evaluation; it is stored in the "builtins" module. '
|
||||
'When not\n'
|
||||
' in interactive mode, "_" has no special meaning and is not '
|
||||
'defined.\n'
|
||||
' See section The import statement.\n'
|
||||
' last evaluation available in the variable "_". (It is '
|
||||
'stored in the\n'
|
||||
' "builtins" module, alongside built-in functions like '
|
||||
'"print".)\n'
|
||||
'\n'
|
||||
' Elsewhere, "_" is a regular identifier. It is often used '
|
||||
'to name\n'
|
||||
' “special” items, but it is not special to Python itself.\n'
|
||||
'\n'
|
||||
' Note:\n'
|
||||
'\n'
|
||||
|
|
@ -7129,7 +7159,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' internationalization; refer to the documentation for '
|
||||
'the\n'
|
||||
' "gettext" module for more information on this '
|
||||
'convention.\n'
|
||||
'convention.It is\n'
|
||||
' also commonly used for unused variables.\n'
|
||||
'\n'
|
||||
'"__*__"\n'
|
||||
' System-defined names, informally known as “dunder” names. '
|
||||
|
|
@ -7590,20 +7621,32 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'*Names* refer to objects. Names are introduced by name binding\n'
|
||||
'operations.\n'
|
||||
'\n'
|
||||
'The following constructs bind names: formal parameters to '
|
||||
'functions,\n'
|
||||
'"import" statements, class and function definitions (these bind '
|
||||
'the\n'
|
||||
'class or function name in the defining block), and targets that '
|
||||
'are\n'
|
||||
'identifiers if occurring in an assignment, "for" loop header, or '
|
||||
'after\n'
|
||||
'"as" in a "with" statement or "except" clause. The "import" '
|
||||
'statement\n'
|
||||
'of the form "from ... import *" binds all names defined in the\n'
|
||||
'imported module, except those beginning with an underscore. This '
|
||||
'form\n'
|
||||
'may only be used at the module level.\n'
|
||||
'The following constructs bind names:\n'
|
||||
'\n'
|
||||
'* formal parameters to functions,\n'
|
||||
'\n'
|
||||
'* class definitions,\n'
|
||||
'\n'
|
||||
'* function definitions,\n'
|
||||
'\n'
|
||||
'* assignment expressions,\n'
|
||||
'\n'
|
||||
'* targets that are identifiers if occurring in an assignment:\n'
|
||||
'\n'
|
||||
' * "for" loop header,\n'
|
||||
'\n'
|
||||
' * after "as" in a "with" statement, "except" clause or in the '
|
||||
'as-\n'
|
||||
' pattern in structural pattern matching,\n'
|
||||
'\n'
|
||||
' * in a capture pattern in structural pattern matching\n'
|
||||
'\n'
|
||||
'* "import" statements.\n'
|
||||
'\n'
|
||||
'The "import" statement of the form "from ... import *" binds all '
|
||||
'names\n'
|
||||
'defined in the imported module, except those beginning with an\n'
|
||||
'underscore. This form may only be used at the module level.\n'
|
||||
'\n'
|
||||
'A target occurring in a "del" statement is also considered bound '
|
||||
'for\n'
|
||||
|
|
@ -7673,8 +7716,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'operations.\n'
|
||||
'\n'
|
||||
'If the "global" statement occurs within a block, all uses of the '
|
||||
'name\n'
|
||||
'specified in the statement refer to the binding of that name in '
|
||||
'names\n'
|
||||
'specified in the statement refer to the bindings of those names in '
|
||||
'the\n'
|
||||
'top-level namespace. Names are resolved in the top-level '
|
||||
'namespace by\n'
|
||||
|
|
@ -7683,9 +7726,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'namespace\n'
|
||||
'of the module "builtins". The global namespace is searched '
|
||||
'first. If\n'
|
||||
'the name is not found there, the builtins namespace is searched. '
|
||||
'The\n'
|
||||
'"global" statement must precede all uses of the name.\n'
|
||||
'the names are not found there, the builtins namespace is '
|
||||
'searched.\n'
|
||||
'The "global" statement must precede all uses of the listed names.\n'
|
||||
'\n'
|
||||
'The "global" statement has the same scope as a name binding '
|
||||
'operation\n'
|
||||
|
|
@ -8020,9 +8063,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' of the object truncated to an "Integral" (typically an '
|
||||
'"int").\n'
|
||||
'\n'
|
||||
' If "__int__()" is not defined then the built-in function '
|
||||
'"int()"\n'
|
||||
' falls back to "__trunc__()".\n',
|
||||
' The built-in function "int()" falls back to '
|
||||
'"__trunc__()" if\n'
|
||||
' neither "__int__()" nor "__index__()" is defined.\n',
|
||||
'objects': 'Objects, values and types\n'
|
||||
'*************************\n'
|
||||
'\n'
|
||||
|
|
@ -8644,22 +8687,24 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'object.__getitem__(self, key)\n'
|
||||
'\n'
|
||||
' Called to implement evaluation of "self[key]". For '
|
||||
'sequence types,\n'
|
||||
' the accepted keys should be integers and slice '
|
||||
'objects. Note that\n'
|
||||
' the special interpretation of negative indexes (if the '
|
||||
'class wishes\n'
|
||||
' to emulate a sequence type) is up to the '
|
||||
'"__getitem__()" method. If\n'
|
||||
' *key* is of an inappropriate type, "TypeError" may be '
|
||||
'raised; if of\n'
|
||||
' a value outside the set of indexes for the sequence '
|
||||
'(after any\n'
|
||||
' special interpretation of negative values), '
|
||||
'"IndexError" should be\n'
|
||||
' raised. For mapping types, if *key* is missing (not in '
|
||||
'*sequence*\n'
|
||||
' types, the accepted keys should be integers and slice '
|
||||
'objects.\n'
|
||||
' Note that the special interpretation of negative '
|
||||
'indexes (if the\n'
|
||||
' class wishes to emulate a *sequence* type) is up to '
|
||||
'the\n'
|
||||
' container), "KeyError" should be raised.\n'
|
||||
' "__getitem__()" method. If *key* is of an inappropriate '
|
||||
'type,\n'
|
||||
' "TypeError" may be raised; if of a value outside the '
|
||||
'set of indexes\n'
|
||||
' for the sequence (after any special interpretation of '
|
||||
'negative\n'
|
||||
' values), "IndexError" should be raised. For *mapping* '
|
||||
'types, if\n'
|
||||
' *key* is missing (not in the container), "KeyError" '
|
||||
'should be\n'
|
||||
' raised.\n'
|
||||
'\n'
|
||||
' Note:\n'
|
||||
'\n'
|
||||
|
|
@ -8669,6 +8714,15 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'of the\n'
|
||||
' sequence.\n'
|
||||
'\n'
|
||||
' Note:\n'
|
||||
'\n'
|
||||
' When subscripting a *class*, the special class '
|
||||
'method\n'
|
||||
' "__class_getitem__()" may be called instead of '
|
||||
'"__getitem__()".\n'
|
||||
' See __class_getitem__ versus __getitem__ for more '
|
||||
'details.\n'
|
||||
'\n'
|
||||
'object.__setitem__(self, key, value)\n'
|
||||
'\n'
|
||||
' Called to implement assignment to "self[key]". Same '
|
||||
|
|
@ -8704,19 +8758,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'object.__iter__(self)\n'
|
||||
'\n'
|
||||
' This method is called when an iterator is required for '
|
||||
'a container.\n'
|
||||
' This method should return a new iterator object that '
|
||||
'can iterate\n'
|
||||
' over all the objects in the container. For mappings, '
|
||||
'it should\n'
|
||||
' iterate over the keys of the container.\n'
|
||||
'\n'
|
||||
' Iterator objects also need to implement this method; '
|
||||
'they are\n'
|
||||
' required to return themselves. For more information on '
|
||||
'iterator\n'
|
||||
' objects, see Iterator Types.\n'
|
||||
' This method is called when an *iterator* is required '
|
||||
'for a\n'
|
||||
' container. This method should return a new iterator '
|
||||
'object that can\n'
|
||||
' iterate over all the objects in the container. For '
|
||||
'mappings, it\n'
|
||||
' should iterate over the keys of the container.\n'
|
||||
'\n'
|
||||
'object.__reversed__(self)\n'
|
||||
'\n'
|
||||
|
|
@ -10294,9 +10342,33 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Emulating generic types\n'
|
||||
'=======================\n'
|
||||
'\n'
|
||||
'One can implement the generic class syntax as specified by '
|
||||
'**PEP 484**\n'
|
||||
'(for example "List[int]") by defining a special method:\n'
|
||||
'When using *type annotations*, it is often useful to '
|
||||
'*parameterize* a\n'
|
||||
'*generic type* using Python’s square-brackets notation. For '
|
||||
'example,\n'
|
||||
'the annotation "list[int]" might be used to signify a "list" '
|
||||
'in which\n'
|
||||
'all the elements are of type "int".\n'
|
||||
'\n'
|
||||
'See also:\n'
|
||||
'\n'
|
||||
' **PEP 484** - Type Hints\n'
|
||||
' Introducing Python’s framework for type annotations\n'
|
||||
'\n'
|
||||
' Generic Alias Types\n'
|
||||
' Documentation for objects representing parameterized '
|
||||
'generic\n'
|
||||
' classes\n'
|
||||
'\n'
|
||||
' Generics, user-defined generics and "typing.Generic"\n'
|
||||
' Documentation on how to implement generic classes that '
|
||||
'can be\n'
|
||||
' parameterized at runtime and understood by static '
|
||||
'type-checkers.\n'
|
||||
'\n'
|
||||
'A class can *generally* only be parameterized if it defines '
|
||||
'the\n'
|
||||
'special class method "__class_getitem__()".\n'
|
||||
'\n'
|
||||
'classmethod object.__class_getitem__(cls, key)\n'
|
||||
'\n'
|
||||
|
|
@ -10304,18 +10376,144 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'generic class\n'
|
||||
' by type arguments found in *key*.\n'
|
||||
'\n'
|
||||
'This method is looked up on the class object itself, and '
|
||||
'when defined\n'
|
||||
'in the class body, this method is implicitly a class '
|
||||
'method. Note,\n'
|
||||
'this mechanism is primarily reserved for use with static '
|
||||
'type hints,\n'
|
||||
'other usage is discouraged.\n'
|
||||
' When defined on a class, "__class_getitem__()" is '
|
||||
'automatically a\n'
|
||||
' class method. As such, there is no need for it to be '
|
||||
'decorated with\n'
|
||||
' "@classmethod" when it is defined.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'The purpose of *__class_getitem__*\n'
|
||||
'----------------------------------\n'
|
||||
'\n'
|
||||
'The purpose of "__class_getitem__()" is to allow runtime\n'
|
||||
'parameterization of standard-library generic classes in '
|
||||
'order to more\n'
|
||||
'easily apply *type hints* to these classes.\n'
|
||||
'\n'
|
||||
'To implement custom generic classes that can be '
|
||||
'parameterized at\n'
|
||||
'runtime and understood by static type-checkers, users should '
|
||||
'either\n'
|
||||
'inherit from a standard library class that already '
|
||||
'implements\n'
|
||||
'"__class_getitem__()", or inherit from "typing.Generic", '
|
||||
'which has its\n'
|
||||
'own implementation of "__class_getitem__()".\n'
|
||||
'\n'
|
||||
'Custom implementations of "__class_getitem__()" on classes '
|
||||
'defined\n'
|
||||
'outside of the standard library may not be understood by '
|
||||
'third-party\n'
|
||||
'type-checkers such as mypy. Using "__class_getitem__()" on '
|
||||
'any class\n'
|
||||
'for purposes other than type hinting is discouraged.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'*__class_getitem__* versus *__getitem__*\n'
|
||||
'----------------------------------------\n'
|
||||
'\n'
|
||||
'Usually, the subscription of an object using square brackets '
|
||||
'will call\n'
|
||||
'the "__getitem__()" instance method defined on the object’s '
|
||||
'class.\n'
|
||||
'However, if the object being subscribed is itself a class, '
|
||||
'the class\n'
|
||||
'method "__class_getitem__()" may be called instead.\n'
|
||||
'"__class_getitem__()" should return a GenericAlias object if '
|
||||
'it is\n'
|
||||
'properly defined.\n'
|
||||
'\n'
|
||||
'Presented with the *expression* "obj[x]", the Python '
|
||||
'interpreter\n'
|
||||
'follows something like the following process to decide '
|
||||
'whether\n'
|
||||
'"__getitem__()" or "__class_getitem__()" should be called:\n'
|
||||
'\n'
|
||||
' from inspect import isclass\n'
|
||||
'\n'
|
||||
' def subscribe(obj, x):\n'
|
||||
' """Return the result of the expression `obj[x]`"""\n'
|
||||
'\n'
|
||||
' class_of_obj = type(obj)\n'
|
||||
'\n'
|
||||
' # If the class of obj defines __getitem__,\n'
|
||||
' # call class_of_obj.__getitem__(obj, x)\n'
|
||||
" if hasattr(class_of_obj, '__getitem__'):\n"
|
||||
' return class_of_obj.__getitem__(obj, x)\n'
|
||||
'\n'
|
||||
' # Else, if obj is a class and defines '
|
||||
'__class_getitem__,\n'
|
||||
' # call obj.__class_getitem__(x)\n'
|
||||
' elif isclass(obj) and hasattr(obj, '
|
||||
"'__class_getitem__'):\n"
|
||||
' return obj.__class_getitem__(x)\n'
|
||||
'\n'
|
||||
' # Else, raise an exception\n'
|
||||
' else:\n'
|
||||
' raise TypeError(\n'
|
||||
' f"\'{class_of_obj.__name__}\' object is not '
|
||||
'subscriptable"\n'
|
||||
' )\n'
|
||||
'\n'
|
||||
'In Python, all classes are themselves instances of other '
|
||||
'classes. The\n'
|
||||
'class of a class is known as that class’s *metaclass*, and '
|
||||
'most\n'
|
||||
'classes have the "type" class as their metaclass. "type" '
|
||||
'does not\n'
|
||||
'define "__getitem__()", meaning that expressions such as '
|
||||
'"list[int]",\n'
|
||||
'"dict[str, float]" and "tuple[str, bytes]" all result in\n'
|
||||
'"__class_getitem__()" being called:\n'
|
||||
'\n'
|
||||
' >>> # list has class "type" as its metaclass, like most '
|
||||
'classes:\n'
|
||||
' >>> type(list)\n'
|
||||
" <class 'type'>\n"
|
||||
' >>> type(dict) == type(list) == type(tuple) == type(str) '
|
||||
'== type(bytes)\n'
|
||||
' True\n'
|
||||
' >>> # "list[int]" calls "list.__class_getitem__(int)"\n'
|
||||
' >>> list[int]\n'
|
||||
' list[int]\n'
|
||||
' >>> # list.__class_getitem__ returns a GenericAlias '
|
||||
'object:\n'
|
||||
' >>> type(list[int])\n'
|
||||
" <class 'types.GenericAlias'>\n"
|
||||
'\n'
|
||||
'However, if a class has a custom metaclass that defines\n'
|
||||
'"__getitem__()", subscribing the class may result in '
|
||||
'different\n'
|
||||
'behaviour. An example of this can be found in the "enum" '
|
||||
'module:\n'
|
||||
'\n'
|
||||
' >>> from enum import Enum\n'
|
||||
' >>> class Menu(Enum):\n'
|
||||
' ... """A breakfast menu"""\n'
|
||||
" ... SPAM = 'spam'\n"
|
||||
" ... BACON = 'bacon'\n"
|
||||
' ...\n'
|
||||
' >>> # Enum classes have a custom metaclass:\n'
|
||||
' >>> type(Menu)\n'
|
||||
" <class 'enum.EnumMeta'>\n"
|
||||
' >>> # EnumMeta defines __getitem__,\n'
|
||||
' >>> # so __class_getitem__ is not called,\n'
|
||||
' >>> # and the result is not a GenericAlias object:\n'
|
||||
" >>> Menu['SPAM']\n"
|
||||
" <Menu.SPAM: 'spam'>\n"
|
||||
" >>> type(Menu['SPAM'])\n"
|
||||
" <enum 'Menu'>\n"
|
||||
'\n'
|
||||
'See also:\n'
|
||||
'\n'
|
||||
' **PEP 560** - Core support for typing module and generic '
|
||||
' **PEP 560** - Core Support for typing module and generic '
|
||||
'types\n'
|
||||
' Introducing "__class_getitem__()", and outlining when '
|
||||
'a\n'
|
||||
' subscription results in "__class_getitem__()" being '
|
||||
'called\n'
|
||||
' instead of "__getitem__()"\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Emulating callable objects\n'
|
||||
|
|
@ -10445,22 +10643,23 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'object.__getitem__(self, key)\n'
|
||||
'\n'
|
||||
' Called to implement evaluation of "self[key]". For '
|
||||
'sequence types,\n'
|
||||
' the accepted keys should be integers and slice objects. '
|
||||
'Note that\n'
|
||||
' the special interpretation of negative indexes (if the '
|
||||
'class wishes\n'
|
||||
' to emulate a sequence type) is up to the "__getitem__()" '
|
||||
'method. If\n'
|
||||
' *key* is of an inappropriate type, "TypeError" may be '
|
||||
'raised; if of\n'
|
||||
' a value outside the set of indexes for the sequence '
|
||||
'(after any\n'
|
||||
' special interpretation of negative values), "IndexError" '
|
||||
'*sequence*\n'
|
||||
' types, the accepted keys should be integers and slice '
|
||||
'objects.\n'
|
||||
' Note that the special interpretation of negative indexes '
|
||||
'(if the\n'
|
||||
' class wishes to emulate a *sequence* type) is up to the\n'
|
||||
' "__getitem__()" method. If *key* is of an inappropriate '
|
||||
'type,\n'
|
||||
' "TypeError" may be raised; if of a value outside the set '
|
||||
'of indexes\n'
|
||||
' for the sequence (after any special interpretation of '
|
||||
'negative\n'
|
||||
' values), "IndexError" should be raised. For *mapping* '
|
||||
'types, if\n'
|
||||
' *key* is missing (not in the container), "KeyError" '
|
||||
'should be\n'
|
||||
' raised. For mapping types, if *key* is missing (not in '
|
||||
'the\n'
|
||||
' container), "KeyError" should be raised.\n'
|
||||
' raised.\n'
|
||||
'\n'
|
||||
' Note:\n'
|
||||
'\n'
|
||||
|
|
@ -10470,6 +10669,14 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'the\n'
|
||||
' sequence.\n'
|
||||
'\n'
|
||||
' Note:\n'
|
||||
'\n'
|
||||
' When subscripting a *class*, the special class method\n'
|
||||
' "__class_getitem__()" may be called instead of '
|
||||
'"__getitem__()".\n'
|
||||
' See __class_getitem__ versus __getitem__ for more '
|
||||
'details.\n'
|
||||
'\n'
|
||||
'object.__setitem__(self, key, value)\n'
|
||||
'\n'
|
||||
' Called to implement assignment to "self[key]". Same note '
|
||||
|
|
@ -10505,19 +10712,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'object.__iter__(self)\n'
|
||||
'\n'
|
||||
' This method is called when an iterator is required for a '
|
||||
'container.\n'
|
||||
' This method should return a new iterator object that can '
|
||||
'iterate\n'
|
||||
' over all the objects in the container. For mappings, it '
|
||||
'should\n'
|
||||
' iterate over the keys of the container.\n'
|
||||
'\n'
|
||||
' Iterator objects also need to implement this method; they '
|
||||
'are\n'
|
||||
' required to return themselves. For more information on '
|
||||
'iterator\n'
|
||||
' objects, see Iterator Types.\n'
|
||||
' This method is called when an *iterator* is required for '
|
||||
'a\n'
|
||||
' container. This method should return a new iterator '
|
||||
'object that can\n'
|
||||
' iterate over all the objects in the container. For '
|
||||
'mappings, it\n'
|
||||
' should iterate over the keys of the container.\n'
|
||||
'\n'
|
||||
'object.__reversed__(self)\n'
|
||||
'\n'
|
||||
|
|
@ -10760,9 +10961,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' of the object truncated to an "Integral" (typically an '
|
||||
'"int").\n'
|
||||
'\n'
|
||||
' If "__int__()" is not defined then the built-in function '
|
||||
'"int()"\n'
|
||||
' falls back to "__trunc__()".\n'
|
||||
' The built-in function "int()" falls back to "__trunc__()" '
|
||||
'if\n'
|
||||
' neither "__int__()" nor "__index__()" is defined.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'With Statement Context Managers\n'
|
||||
|
|
@ -12971,20 +13172,18 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' A function or method which uses the "yield" statement (see\n'
|
||||
' section The yield statement) is called a *generator '
|
||||
'function*.\n'
|
||||
' Such a function, when called, always returns an iterator '
|
||||
'object\n'
|
||||
' which can be used to execute the body of the function: '
|
||||
'calling\n'
|
||||
' the iterator’s "iterator.__next__()" method will cause the\n'
|
||||
' function to execute until it provides a value using the '
|
||||
'"yield"\n'
|
||||
' statement. When the function executes a "return" statement '
|
||||
'or\n'
|
||||
' falls off the end, a "StopIteration" exception is raised and '
|
||||
'the\n'
|
||||
' iterator will have reached the end of the set of values to '
|
||||
'be\n'
|
||||
' returned.\n'
|
||||
' Such a function, when called, always returns an *iterator*\n'
|
||||
' object which can be used to execute the body of the '
|
||||
'function:\n'
|
||||
' calling the iterator’s "iterator.__next__()" method will '
|
||||
'cause\n'
|
||||
' the function to execute until it provides a value using the\n'
|
||||
' "yield" statement. When the function executes a "return"\n'
|
||||
' statement or falls off the end, a "StopIteration" exception '
|
||||
'is\n'
|
||||
' raised and the iterator will have reached the end of the set '
|
||||
'of\n'
|
||||
' values to be returned.\n'
|
||||
'\n'
|
||||
' Coroutine functions\n'
|
||||
' A function or method which is defined using "async def" is\n'
|
||||
|
|
@ -13000,9 +13199,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' which uses the "yield" statement is called a *asynchronous\n'
|
||||
' generator function*. Such a function, when called, returns '
|
||||
'an\n'
|
||||
' asynchronous iterator object which can be used in an "async '
|
||||
'for"\n'
|
||||
' statement to execute the body of the function.\n'
|
||||
' *asynchronous iterator* object which can be used in an '
|
||||
'"async\n'
|
||||
' for" statement to execute the body of the function.\n'
|
||||
'\n'
|
||||
' Calling the asynchronous iterator’s "aiterator.__anext__()"\n'
|
||||
' method will return an *awaitable* which when awaited will\n'
|
||||
|
|
|
|||
1530
Misc/NEWS.d/3.10.1.rst
Normal file
1530
Misc/NEWS.d/3.10.1.rst
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +0,0 @@
|
|||
The ncurses function extended_color_content was introduced in 2017
|
||||
|
||||
(https://invisible-island.net/ncurses/NEWS.html#index-t20170401). The
|
||||
|
||||
ncurses-devel package in CentOS 7 had a older version ncurses resulted in
|
||||
compilation error. For compiling ncurses with extended color support, we
|
||||
verify the version of the ncurses library >= 20170401.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Avoid building with the Windows 11 SDK previews automatically. This may be
|
||||
overridden by setting the ``DefaultWindowsSDKVersion`` environment variable
|
||||
before building.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Prevent ``internal configure error`` when running ``configure``
|
||||
with recent versions of non-Apple clang. Patch by David Bohman.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fixed regression in handling of ``LDFLAGS`` and ``CPPFLAGS`` options
|
||||
where :meth:`argparse.parse_known_args` could interpret an option as
|
||||
one of the built-in command line argument, for example ``-h`` for help.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
The ``configure`` script now checks whether OpenSSL headers and libraries
|
||||
provide required APIs. Most common APIs are verified. The check detects
|
||||
outdated or missing OpenSSL. Failures do not stop configure.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Update :data:`sys.version` to use ``main`` as fallback information.
|
||||
Patch by Jeong YunWon.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Run smelly.py tool from $(srcdir).
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
``Modules/Setup`` now use ``PY_CFLAGS_NODIST`` instead of ``PY_CFLAGS`` to
|
||||
compile shared modules.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
``setup.py`` now uses values from configure script to build the ``_uuid``
|
||||
extension module. Configure now detects util-linux's ``libuuid``, too.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
``setup.py`` now uses ``CC`` from environment first to discover multiarch
|
||||
and cross compile paths.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
Python now compiles on platforms without ``sigset_t``. Several functions
|
||||
in :mod:`signal` are not available when ``sigset_t`` is missing.
|
||||
|
||||
Based on patch by Roman Yurchak for pyodide.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
``make regen-all`` now produces the same output when run from a directory
|
||||
other than the source tree: when building Python out of the source tree.
|
||||
pegen now strips directory of the "generated by pygen from <FILENAME>" header
|
||||
Patch by Victor Stinner.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Update ``config.guess`` to 2021-06-03 and ``config.sub`` to 2021-08-14.
|
||||
``Makefile`` now has an ``update-config`` target to make updating more
|
||||
convenient.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
CI now verifies that autoconf files have been regenerated with a current and
|
||||
unpatched autoconf package.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Remove ``crypt.h`` include from the public ``Python.h`` header.
|
||||
|
|
@ -1 +0,0 @@
|
|||
:meth:`BufferedReader.peek` no longer raises :exc:`ValueError` when the entire file has already been buffered.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Restore the private C API function :func:`_PyImport_FindExtensionObject`. It
|
||||
will be removed in Python 3.11.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix Python.h to build C extensions with Xcode: remove a relative include
|
||||
from ``Include/cpython/pystate.h``.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Compiler now removes trailing unused constants from co_consts.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
When the interpreter renders an exception, its name now has a complete qualname. Previously only the class name was concatenated to the module name, which sometimes resulted in an incorrect full name being displayed.
|
||||
|
||||
(This issue impacted only the C code exception rendering, the :mod:`traceback` module was using qualname already).
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix issue where ``Protocol.__init__`` raises ``RecursionError`` when it's
|
||||
called directly or via ``super()``. Patch provided by Yurii Karabas.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Extensions that indicate they use global state (by setting ``m_size`` to -1)
|
||||
can again be used in multiple interpreters. This reverts to behavior of
|
||||
Python 3.8.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Added fallback to extension modules with '.sl' suffix on HP-UX
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
Release the GIL while performing ``isatty`` system calls on arbitrary file
|
||||
descriptors. In particular, this affects :func:`os.isatty`,
|
||||
:func:`os.device_encoding` and :class:`io.TextIOWrapper`. By extension,
|
||||
:func:`io.open` in text mode is also affected. This change solves
|
||||
a deadlock in :func:`os.isatty`. Patch by Vincent Michel in :issue:`44219`.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix deepcopying of :class:`types.GenericAlias` objects.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix reference leak from descr_check. Patch by Dong-hee Na.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix a crash in the parser when reporting tokenizer errors that occur at the
|
||||
same time unclosed parentheses are detected. Patch by Pablo Galindo.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix parser crash when reporting errors involving invalid continuation
|
||||
characters. Patch by Pablo Galindo.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix a bug in the obmalloc radix tree code. On 64-bit machines, the bug
|
||||
causes the tree to hold 46-bits of virtual addresses, rather than the
|
||||
intended 48-bits.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fixed a crash in ``issubclass()`` from infinite recursion when searching pathological ``__bases__`` tuples.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
:data:`sys.stdlib_module_names` now contains the macOS-specific module
|
||||
:mod:`_scproxy`.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Improve the :exc:`SyntaxError` message when using ``True``, ``None`` or
|
||||
``False`` as keywords in a function call. Patch by Pablo Galindo.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix a compiler hang when attempting to optimize certain jump patterns.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix computation of error location for invalid continuation characters in the
|
||||
parser. Patch by Pablo Galindo.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix crash when :func:`os.fork` is called with an active non-default
|
||||
memory allocator.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix a segfault when the parser fails without reading any input. Patch by
|
||||
Pablo Galindo
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fixed a bug in the parser that was causing it to not respect :pep:`263`
|
||||
coding cookies when no flags are provided. Patch by Pablo Galindo
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fixed a crash when calling ``.with_traceback(None)`` on ``NameError``. This occurs internally in ``unittest.TestCase.assertRaises()``.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Allow the parser to obtain error lines directly from encoded files. Patch by
|
||||
Pablo Galindo
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix :mod:`traceback` display for exceptions with invalid module name.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Refine the custom syntax error that suggests that a comma may be missing to
|
||||
trigger only when the expressions are detected between parentheses or
|
||||
brackets. Patch by Pablo Galindo
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fail the configure step if the selected compiler doesn't support memory
|
||||
sanitizer. Patch by Pablo Galindo
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Expanded :func:`~dataclasses.astuple` and :func:`~dataclasses.asdict` docs,
|
||||
warning about deepcopy being applied and providing a workaround.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
In the extending chapter of the extending doc, update a paragraph about the
|
||||
global variables containing exception information.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
:mod:`collections.abc` documentation has been expanded to explicitly cover
|
||||
how instance and subclass checks work, with additional doctest examples and
|
||||
an exhaustive list of ABCs which test membership purely by presence of the
|
||||
right :term:`special method`\s. Patch by Raymond Hettinger.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Remove extra documentation listing methods in ``difflib``. It was rendering
|
||||
twice in pydoc and was outdated in some places.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Add Programming FAQ entry explaining that int literal attribute access
|
||||
requires either a space after or parentheses around the literal.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Add protocol description to the :class:`importlib.abc.Traversable`
|
||||
documentation.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add note about :pep:`585` in :mod:`collections.abc`.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
Mention in the documentation of :ref:`Built-in Exceptions
|
||||
<bltin-exceptions>` that inheriting from multiple exception types in a
|
||||
single subclass is not recommended due to possible memory layout
|
||||
incompatibility.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Update the documentation to note that CPython does not consistently
|
||||
require iterators to define ``__iter__``.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add ``level`` argument to ``multiprocessing.log_to_stderr`` function docs.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Add a new "relevant PEPs" section to the top of the documentation for the
|
||||
``typing`` module. Patch by Alex Waygood.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Amend the docs on ``GenericAlias`` objects to clarify that non-container
|
||||
classes can also implement ``__class_getitem__``. Patch contributed by Alex
|
||||
Waygood.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Improve documentation for :func:`functools.singledispatch` and
|
||||
:class:`functools.singledispatchmethod`.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Update the docstring of the :class:`type` built-in to remove a redundant
|
||||
line and to mention keyword arguments for the constructor.
|
||||
|
|
@ -1 +0,0 @@
|
|||
``socket.socket`` documentation is corrected to a class from a function.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Link doc for sys.prefix to sysconfig doc on installation paths.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Properly marked-up grammar tokens in the documentation are now clickable and
|
||||
take you to the definition of a given piece of grammar. Patch by Arthur
|
||||
Milchior.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Make completion boxes appear on Ubuntu again.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
On Windows, change exit/quit message to suggest Ctrl-D, which works, instead
|
||||
of <Ctrl-Z Return>, which does not work in IDLE.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Add context keywords 'case' and 'match' to completions list.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Avoid a possible *"RuntimeError: dictionary changed size during iteration"*
|
||||
when adjusting the process count of :class:`ProcessPoolExecutor`.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Ensure deprecation warning from :func:`assertDictContainsSubset` points at
|
||||
calling code - by Anthony Sottile.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix an edge case of :class:`ExitStack` and :class:`AsyncExitStack` exception
|
||||
chaining. They will now match ``with`` block behavior when ``__context__`` is
|
||||
explicitly set to ``None`` when the exception is in flight.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
tarfile.open raises :exc:`~tarfile.ReadError` when a zlib error occurs
|
||||
during file extraction.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix a potential deadlock at shutdown of forked children when using :mod:`concurrent.futures` module
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fixed an error raised in :mod:`argparse` help display when help for an
|
||||
option is set to 1+ blank spaces or when *choices* arg is an empty container.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Improve the speed and accuracy of statistics.pvariance().
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
:func:`typing.get_type_hints` now works with :data:`~typing.Final` wrapped in
|
||||
:class:`~typing.ForwardRef`.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Calling :func:`mimetypes.guess_all_extensions` with ``strict=False`` no
|
||||
longer affects the result of the following call with ``strict=True``.
|
||||
Also, mutating the returned list no longer affects the global state.
|
||||
|
|
@ -1 +0,0 @@
|
|||
When tracing a tkinter variable used by a ttk OptionMenu, callbacks are no longer made twice.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix typo: ``importlib.find_loader`` is really slated for removal in Python 3.12 not 3.10, like the others in GH-25169.
|
||||
|
||||
Patch by Hugo van Kemenade.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
Fix the ``tempfile._infer_return_type`` function so that the ``dir``
|
||||
argument of the :mod:`tempfile` functions accepts an object implementing the
|
||||
``os.PathLike`` protocol.
|
||||
|
||||
Patch by Kyungmin Lee.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fix stack buffer overflow in parsing J1939 network address.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fixed a regression in :func:`~shutil.copyfile`, :func:`~shutil.copy`,
|
||||
:func:`~shutil.copy2` raising :exc:`FileNotFoundError` when source is a
|
||||
directory, which should raise :exc:`IsADirectoryError`
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Have zipimport.zipimporter.find_spec() not raise an exception when the underlying zip
|
||||
file has been deleted and the internal cache has been reset via
|
||||
invalidate_cache().
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix an issue where argparse would not preserve values in a provided namespace
|
||||
when using a subparser with defaults.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
:meth:`unittest.TestCase.debug` raises now a :class:`unittest.SkipTest` if
|
||||
the class or the test method are decorated with the skipping decorator.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix :meth:`unittest.IsolatedAsyncioTestCase.debug`: it runs now asynchronous
|
||||
methods and callbacks.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
Fix a race condition in the :meth:`Thread.join() <threading.Thread.join>`
|
||||
method of the :mod:`threading` module. If the function is interrupted by a
|
||||
signal and the signal handler raises an exception, make sure that the thread
|
||||
remains in a consistent state to prevent a deadlock. Patch by Victor
|
||||
Stinner.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix the :func:`threading._shutdown` function when the :mod:`threading` module
|
||||
was imported first from a thread different than the main thread: no longer log
|
||||
an error at Python exit.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Fixed :class:`http.client.HTTPConnection` to work properly in OSs that don't support the ``TCP_NODELAY`` socket option.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
On Unix, if the ``sem_clockwait()`` function is available in the C library
|
||||
(glibc 2.30 and newer), the :meth:`threading.Lock.acquire` method now uses the
|
||||
monotonic clock (:data:`time.CLOCK_MONOTONIC`) for the timeout, rather than
|
||||
using the system clock (:data:`time.CLOCK_REALTIME`), to not be affected by
|
||||
system clock changes. Patch by Victor Stinner.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix freed memory access in :class:`pyexpat.xmlparser` when building it with an
|
||||
installed expat library <= 2.2.0.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Update bundled pip to 21.2.4 and setuptools to 58.1.0
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Improve error message of :class:`csv.Dialect` when initializing.
|
||||
Patch by Vajrasky Kok and Dong-hee Na.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix clang rpath issue in :mod:`distutils`. The UnixCCompiler now uses
|
||||
correct clang option to add a runtime library directory (rpath) to a shared
|
||||
library.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Make :mod:`xmlrpc.client` more robust to C runtimes where the underlying C
|
||||
``strftime`` function results in a ``ValueError`` when testing for year
|
||||
formatting options.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Prevent use-after-free in asyncio. Make sure the cached running loop holder gets cleared on dealloc to prevent use-after-free in get_running_loop
|
||||
|
|
@ -1 +0,0 @@
|
|||
Make :func:`inspect.getmodule` catch ``FileNotFoundError`` raised by :'func:`inspect.getabsfile`, and return ``None`` to indicate that the module could not be determined.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fix bug in the :mod:`doctest` module that caused it to fail if a docstring
|
||||
included an example with a ``classmethod`` ``property``. Patch by Alex
|
||||
Waygood.
|
||||
|
|
@ -1 +0,0 @@
|
|||
Correct interfaces on DegenerateFiles.Path.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix use of :class:`asyncio.Condition` with explicit :class:`asyncio.Lock` objects, which was a regression due to removal of explicit loop arguments.
|
||||
Patch by Joongi Kim.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix the behaviour of :func:`traceback.print_exc` when displaying the caret
|
||||
when the ``end_offset`` in the exception is set to 0. Patch by Pablo Galindo
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Fixed :func:`email.utils.parsedate_tz` crashing with
|
||||
:exc:`UnboundLocalError` on certain invalid input instead of returning
|
||||
``None``. Patch by Ben Hoyt.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Fix incremental decoder and stream reader in the "unicode-escape" codec.
|
||||
Previously they failed if the escape sequence was split.
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue