mirror of
https://github.com/python/cpython.git
synced 2025-08-10 03:49:18 +00:00
Python 3.12.1
This commit is contained in:
parent
c0fc88fa2f
commit
2305ca5144
155 changed files with 1939 additions and 571 deletions
|
@ -18,12 +18,12 @@
|
||||||
/*--start constants--*/
|
/*--start constants--*/
|
||||||
#define PY_MAJOR_VERSION 3
|
#define PY_MAJOR_VERSION 3
|
||||||
#define PY_MINOR_VERSION 12
|
#define PY_MINOR_VERSION 12
|
||||||
#define PY_MICRO_VERSION 0
|
#define PY_MICRO_VERSION 1
|
||||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
|
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
|
||||||
#define PY_RELEASE_SERIAL 0
|
#define PY_RELEASE_SERIAL 0
|
||||||
|
|
||||||
/* Version as a string */
|
/* Version as a string */
|
||||||
#define PY_VERSION "3.12.0+"
|
#define PY_VERSION "3.12.1"
|
||||||
/*--end constants--*/
|
/*--end constants--*/
|
||||||
|
|
||||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Autogenerated by Sphinx on Mon Oct 2 13:45:14 2023
|
# Autogenerated by Sphinx on Thu Dec 7 21:32:35 2023
|
||||||
# as part of the release process.
|
# as part of the release process.
|
||||||
topics = {'assert': 'The "assert" statement\n'
|
topics = {'assert': 'The "assert" statement\n'
|
||||||
'**********************\n'
|
'**********************\n'
|
||||||
|
@ -864,19 +864,25 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'*instance* of the\n'
|
'*instance* of the\n'
|
||||||
' owner class.\n'
|
' owner class.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The attribute "__objclass__" is interpreted by the '
|
'Instances of descriptors may also have the '
|
||||||
'"inspect" module as\n'
|
'"__objclass__" attribute\n'
|
||||||
'specifying the class where this object was defined '
|
'present:\n'
|
||||||
|
'\n'
|
||||||
|
'object.__objclass__\n'
|
||||||
|
'\n'
|
||||||
|
' The attribute "__objclass__" is interpreted by the '
|
||||||
|
'"inspect" module\n'
|
||||||
|
' as specifying the class where this object was defined '
|
||||||
'(setting this\n'
|
'(setting this\n'
|
||||||
'appropriately can assist in runtime introspection of '
|
' appropriately can assist in runtime introspection of '
|
||||||
'dynamic class\n'
|
'dynamic class\n'
|
||||||
'attributes). For callables, it may indicate that an '
|
' attributes). For callables, it may indicate that an '
|
||||||
'instance of the\n'
|
'instance of the\n'
|
||||||
'given type (or a subclass) is expected or required as '
|
' given type (or a subclass) is expected or required as '
|
||||||
'the first\n'
|
'the first\n'
|
||||||
'positional argument (for example, CPython sets this '
|
' positional argument (for example, CPython sets this '
|
||||||
'attribute for\n'
|
'attribute for\n'
|
||||||
'unbound methods that are implemented in C).\n'
|
' unbound methods that are implemented in C).\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Invoking Descriptors\n'
|
'Invoking Descriptors\n'
|
||||||
|
@ -1111,16 +1117,23 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'attribute references, which most objects do. This '
|
'attribute references, which most objects do. This '
|
||||||
'object is then\n'
|
'object is then\n'
|
||||||
'asked to produce the attribute whose name is the '
|
'asked to produce the attribute whose name is the '
|
||||||
'identifier. This\n'
|
'identifier. The type\n'
|
||||||
'production can be customized by overriding the '
|
'and value produced is determined by the object. '
|
||||||
'"__getattr__()" method.\n'
|
'Multiple evaluations\n'
|
||||||
'If this attribute is not available, the exception '
|
'of the same attribute reference may yield different '
|
||||||
'"AttributeError" is\n'
|
'objects.\n'
|
||||||
'raised. Otherwise, the type and value of the object '
|
'\n'
|
||||||
'produced is\n'
|
'This production can be customized by overriding the\n'
|
||||||
'determined by the object. Multiple evaluations of '
|
'"__getattribute__()" method or the "__getattr__()" '
|
||||||
'the same attribute\n'
|
'method. The\n'
|
||||||
'reference may yield different objects.\n',
|
'"__getattribute__()" method is called first and '
|
||||||
|
'either returns a value\n'
|
||||||
|
'or raises "AttributeError" if the attribute is not '
|
||||||
|
'available.\n'
|
||||||
|
'\n'
|
||||||
|
'If an "AttributeError" is raised and the object has '
|
||||||
|
'a "__getattr__()"\n'
|
||||||
|
'method, that method is called as a fallback.\n',
|
||||||
'augassign': 'Augmented assignment statements\n'
|
'augassign': 'Augmented assignment statements\n'
|
||||||
'*******************************\n'
|
'*******************************\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -2812,18 +2825,19 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' bindings made during a successful pattern match outlive the\n'
|
' bindings made during a successful pattern match outlive the\n'
|
||||||
' executed block and can be used after the match statement**.\n'
|
' executed block and can be used after the match statement**.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Note:\n'
|
' Note:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' During failed pattern matches, some subpatterns may '
|
' During failed pattern matches, some subpatterns may '
|
||||||
'succeed.\n'
|
'succeed. Do\n'
|
||||||
' Do not rely on bindings being made for a failed match.\n'
|
' not rely on bindings being made for a failed match. '
|
||||||
' Conversely, do not rely on variables remaining unchanged '
|
'Conversely,\n'
|
||||||
'after\n'
|
' do not rely on variables remaining unchanged after a '
|
||||||
' a failed match. The exact behavior is dependent on\n'
|
'failed\n'
|
||||||
' implementation and may vary. This is an intentional '
|
' match. The exact behavior is dependent on implementation '
|
||||||
'decision\n'
|
'and may\n'
|
||||||
' made to allow different implementations to add '
|
' vary. This is an intentional decision made to allow '
|
||||||
'optimizations.\n'
|
'different\n'
|
||||||
|
' implementations to add optimizations.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'3. If the pattern succeeds, the corresponding guard (if present) '
|
'3. If the pattern succeeds, the corresponding guard (if present) '
|
||||||
'is\n'
|
'is\n'
|
||||||
|
@ -3475,9 +3489,10 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'* convert "P1" to a keyword pattern using "CLS.__match_args__"\n'
|
'* convert "P1" to a keyword pattern using "CLS.__match_args__"\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* For each keyword argument "attr=P2":\n'
|
'* For each keyword argument "attr=P2":\n'
|
||||||
' * "hasattr(<subject>, "attr")"\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' * "P2" matches "<subject>.attr"\n'
|
' * "hasattr(<subject>, "attr")"\n'
|
||||||
|
'\n'
|
||||||
|
' * "P2" matches "<subject>.attr"\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* … and so on for the corresponding keyword argument/pattern '
|
'* … and so on for the corresponding keyword argument/pattern '
|
||||||
'pair.\n'
|
'pair.\n'
|
||||||
|
@ -4230,30 +4245,30 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'[2] In pattern matching, a sequence is defined as one of the\n'
|
'[2] In pattern matching, a sequence is defined as one of the\n'
|
||||||
' following:\n'
|
' following:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * a class that inherits from "collections.abc.Sequence"\n'
|
' * a class that inherits from "collections.abc.Sequence"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * a Python class that has been registered as\n'
|
' * a Python class that has been registered as\n'
|
||||||
' "collections.abc.Sequence"\n'
|
' "collections.abc.Sequence"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * a builtin class that has its (CPython) '
|
' * a builtin class that has its (CPython) '
|
||||||
'"Py_TPFLAGS_SEQUENCE"\n'
|
'"Py_TPFLAGS_SEQUENCE" bit\n'
|
||||||
' bit set\n'
|
' set\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * a class that inherits from any of the above\n'
|
' * a class that inherits from any of the above\n'
|
||||||
'\n'
|
'\n'
|
||||||
' The following standard library classes are sequences:\n'
|
' The following standard library classes are sequences:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * "array.array"\n'
|
' * "array.array"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * "collections.deque"\n'
|
' * "collections.deque"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * "list"\n'
|
' * "list"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * "memoryview"\n'
|
' * "memoryview"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * "range"\n'
|
' * "range"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * "tuple"\n'
|
' * "tuple"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Note:\n'
|
' Note:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -4264,16 +4279,16 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'[3] In pattern matching, a mapping is defined as one of the '
|
'[3] In pattern matching, a mapping is defined as one of the '
|
||||||
'following:\n'
|
'following:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * a class that inherits from "collections.abc.Mapping"\n'
|
' * a class that inherits from "collections.abc.Mapping"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * a Python class that has been registered as\n'
|
' * a Python class that has been registered as\n'
|
||||||
' "collections.abc.Mapping"\n'
|
' "collections.abc.Mapping"\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * a builtin class that has its (CPython) '
|
' * a builtin class that has its (CPython) '
|
||||||
'"Py_TPFLAGS_MAPPING"\n'
|
'"Py_TPFLAGS_MAPPING" bit\n'
|
||||||
' bit set\n'
|
' set\n'
|
||||||
'\n'
|
'\n'
|
||||||
' * a class that inherits from any of the above\n'
|
' * a class that inherits from any of the above\n'
|
||||||
'\n'
|
'\n'
|
||||||
' The standard library classes "dict" and '
|
' The standard library classes "dict" and '
|
||||||
'"types.MappingProxyType"\n'
|
'"types.MappingProxyType"\n'
|
||||||
|
@ -6487,18 +6502,17 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The grammar for a replacement field is as follows:\n'
|
'The grammar for a replacement field is as follows:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' replacement_field ::= "{" [field_name] ["!" '
|
' replacement_field ::= "{" [field_name] ["!" conversion] '
|
||||||
'conversion] [":" format_spec] "}"\n'
|
'[":" format_spec] "}"\n'
|
||||||
' field_name ::= arg_name ("." attribute_name | '
|
' field_name ::= arg_name ("." attribute_name | "[" '
|
||||||
'"[" element_index "]")*\n'
|
'element_index "]")*\n'
|
||||||
' arg_name ::= [identifier | digit+]\n'
|
' arg_name ::= [identifier | digit+]\n'
|
||||||
' attribute_name ::= identifier\n'
|
' attribute_name ::= identifier\n'
|
||||||
' element_index ::= digit+ | index_string\n'
|
' element_index ::= digit+ | index_string\n'
|
||||||
' index_string ::= <any source character except '
|
' index_string ::= <any source character except "]"> '
|
||||||
'"]"> +\n'
|
'+\n'
|
||||||
' conversion ::= "r" | "s" | "a"\n'
|
' conversion ::= "r" | "s" | "a"\n'
|
||||||
' format_spec ::= <described in the next '
|
' format_spec ::= <described in the next section>\n'
|
||||||
'section>\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'In less formal terms, the replacement field can start with '
|
'In less formal terms, the replacement field can start with '
|
||||||
'a\n'
|
'a\n'
|
||||||
|
@ -6684,43 +6698,37 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'The meaning of the various alignment options is as '
|
'The meaning of the various alignment options is as '
|
||||||
'follows:\n'
|
'follows:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
' | Option | '
|
'| Option | '
|
||||||
'Meaning '
|
'Meaning '
|
||||||
'|\n'
|
'|\n'
|
||||||
' '
|
|
||||||
'|===========|============================================================|\n'
|
'|===========|============================================================|\n'
|
||||||
' | "\'<\'" | Forces the field to be left-aligned '
|
'| "\'<\'" | Forces the field to be left-aligned within '
|
||||||
'within the available |\n'
|
'the available |\n'
|
||||||
' | | space (this is the default for most '
|
'| | space (this is the default for most '
|
||||||
'objects). |\n'
|
'objects). |\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
' | "\'>\'" | Forces the field to be right-aligned '
|
'| "\'>\'" | Forces the field to be right-aligned within '
|
||||||
'within the available |\n'
|
'the available |\n'
|
||||||
' | | space (this is the default for '
|
'| | space (this is the default for '
|
||||||
'numbers). |\n'
|
'numbers). |\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
' | "\'=\'" | Forces the padding to be placed after '
|
'| "\'=\'" | Forces the padding to be placed after the '
|
||||||
'the sign (if any) |\n'
|
'sign (if any) |\n'
|
||||||
' | | but before the digits. This is used for '
|
'| | but before the digits. This is used for '
|
||||||
'printing fields |\n'
|
'printing fields |\n'
|
||||||
' | | in the form ‘+000000120’. This alignment '
|
'| | in the form ‘+000000120’. This alignment '
|
||||||
'option is only |\n'
|
'option is only |\n'
|
||||||
' | | valid for numeric types. It becomes the '
|
'| | valid for numeric types. It becomes the '
|
||||||
'default for |\n'
|
'default for |\n'
|
||||||
' | | numbers when ‘0’ immediately precedes the '
|
'| | numbers when ‘0’ immediately precedes the '
|
||||||
'field width. |\n'
|
'field width. |\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
' | "\'^\'" | Forces the field to be centered within '
|
'| "\'^\'" | Forces the field to be centered within the '
|
||||||
'the available |\n'
|
'available |\n'
|
||||||
' | | '
|
'| | '
|
||||||
'space. '
|
'space. '
|
||||||
'|\n'
|
'|\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Note that unless a minimum field width is defined, the '
|
'Note that unless a minimum field width is defined, the '
|
||||||
|
@ -6733,30 +6741,25 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'be one of\n'
|
'be one of\n'
|
||||||
'the following:\n'
|
'the following:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
' | Option | '
|
'| Option | '
|
||||||
'Meaning '
|
'Meaning '
|
||||||
'|\n'
|
'|\n'
|
||||||
' '
|
|
||||||
'|===========|============================================================|\n'
|
'|===========|============================================================|\n'
|
||||||
' | "\'+\'" | indicates that a sign should be used for '
|
'| "\'+\'" | indicates that a sign should be used for '
|
||||||
'both positive as |\n'
|
'both positive as |\n'
|
||||||
' | | well as negative '
|
'| | well as negative '
|
||||||
'numbers. |\n'
|
'numbers. |\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
' | "\'-\'" | indicates that a sign should be used '
|
'| "\'-\'" | indicates that a sign should be used only '
|
||||||
'only for negative |\n'
|
'for negative |\n'
|
||||||
' | | numbers (this is the default '
|
'| | numbers (this is the default '
|
||||||
'behavior). |\n'
|
'behavior). |\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
' | space | indicates that a leading space should be '
|
'| space | indicates that a leading space should be used '
|
||||||
'used on positive |\n'
|
'on positive |\n'
|
||||||
' | | numbers, and a minus sign on negative '
|
'| | numbers, and a minus sign on negative '
|
||||||
'numbers. |\n'
|
'numbers. |\n'
|
||||||
' '
|
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The "\'z\'" option coerces negative zero floating-point '
|
'The "\'z\'" option coerces negative zero floating-point '
|
||||||
|
@ -10438,19 +10441,25 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'of the\n'
|
'of the\n'
|
||||||
' owner class.\n'
|
' owner class.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The attribute "__objclass__" is interpreted by the "inspect" '
|
'Instances of descriptors may also have the "__objclass__" '
|
||||||
'module as\n'
|
'attribute\n'
|
||||||
'specifying the class where this object was defined (setting '
|
'present:\n'
|
||||||
'this\n'
|
'\n'
|
||||||
'appropriately can assist in runtime introspection of dynamic '
|
'object.__objclass__\n'
|
||||||
'class\n'
|
'\n'
|
||||||
'attributes). For callables, it may indicate that an instance '
|
' The attribute "__objclass__" is interpreted by the '
|
||||||
'of the\n'
|
'"inspect" module\n'
|
||||||
'given type (or a subclass) is expected or required as the '
|
' as specifying the class where this object was defined '
|
||||||
|
'(setting this\n'
|
||||||
|
' appropriately can assist in runtime introspection of '
|
||||||
|
'dynamic class\n'
|
||||||
|
' attributes). For callables, it may indicate that an '
|
||||||
|
'instance of the\n'
|
||||||
|
' given type (or a subclass) is expected or required as the '
|
||||||
'first\n'
|
'first\n'
|
||||||
'positional argument (for example, CPython sets this '
|
' positional argument (for example, CPython sets this '
|
||||||
'attribute for\n'
|
'attribute for\n'
|
||||||
'unbound methods that are implemented in C).\n'
|
' unbound methods that are implemented in C).\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Invoking Descriptors\n'
|
'Invoking Descriptors\n'
|
||||||
|
@ -13137,15 +13146,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'bytes\n'
|
'bytes\n'
|
||||||
'literals.\n'
|
'literals.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Changed in version 3.6: Unrecognized escape sequences produce '
|
'Changed in version 3.6: Unrecognized escape sequences produce a\n'
|
||||||
'a\n'
|
'"DeprecationWarning".\n'
|
||||||
' "DeprecationWarning".\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' Changed in version 3.12: Unrecognized escape sequences produce '
|
'Changed in version 3.12: Unrecognized escape sequences produce a\n'
|
||||||
'a\n'
|
'"SyntaxWarning". In a future Python version they will be '
|
||||||
' "SyntaxWarning". In a future Python version they will be '
|
'eventually a\n'
|
||||||
'eventually\n'
|
'"SyntaxError".\n'
|
||||||
' a "SyntaxError".\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'Even in a raw literal, quotes can be escaped with a backslash, '
|
'Even in a raw literal, quotes can be escaped with a backslash, '
|
||||||
'but the\n'
|
'but the\n'
|
||||||
|
@ -14431,43 +14438,106 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'code objects are immutable and contain no references (directly or\n'
|
'code objects are immutable and contain no references (directly or\n'
|
||||||
'indirectly) to mutable objects.\n'
|
'indirectly) to mutable objects.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Special read-only attributes: "co_name" gives the function name;\n'
|
'\n'
|
||||||
'"co_qualname" gives the fully qualified function name; '
|
'Special read-only attributes\n'
|
||||||
'"co_argcount"\n'
|
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
|
||||||
'is the total number of positional arguments (including '
|
'\n'
|
||||||
'positional-only\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'arguments and arguments with default values); "co_posonlyargcount" '
|
'| codeobject.co_name | The function '
|
||||||
'is\n'
|
'name |\n'
|
||||||
'the number of positional-only arguments (including arguments with\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'default values); "co_kwonlyargcount" is the number of keyword-only\n'
|
'| codeobject.co_qualname | The fully '
|
||||||
'arguments (including arguments with default values); "co_nlocals" '
|
'qualified function name |\n'
|
||||||
'is\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'the number of local variables used by the function (including\n'
|
'| codeobject.co_argcount | The total '
|
||||||
'arguments); "co_varnames" is a tuple containing the names of the '
|
'number of positional *parameters* |\n'
|
||||||
'local\n'
|
'| | (including '
|
||||||
'variables (starting with the argument names); "co_cellvars" is a '
|
'positional-only parameters and |\n'
|
||||||
'tuple\n'
|
'| | parameters '
|
||||||
'containing the names of local variables that are referenced by '
|
'with default values) that the function |\n'
|
||||||
'nested\n'
|
'| | '
|
||||||
'functions; "co_freevars" is a tuple containing the names of free\n'
|
'has |\n'
|
||||||
'variables; "co_code" is a string representing the sequence of '
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'bytecode\n'
|
'| codeobject.co_posonlyargcount | The number '
|
||||||
'instructions; "co_consts" is a tuple containing the literals used '
|
'of positional-only *parameters* |\n'
|
||||||
'by\n'
|
'| | (including '
|
||||||
'the bytecode; "co_names" is a tuple containing the names used by '
|
'arguments with default values) that the |\n'
|
||||||
'the\n'
|
'| | function '
|
||||||
'bytecode; "co_filename" is the filename from which the code was\n'
|
'has |\n'
|
||||||
'compiled; "co_firstlineno" is the first line number of the '
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'function;\n'
|
'| codeobject.co_kwonlyargcount | The number '
|
||||||
'"co_lnotab" is a string encoding the mapping from bytecode offsets '
|
'of keyword-only *parameters* (including |\n'
|
||||||
'to\n'
|
'| | arguments '
|
||||||
'line numbers (for details see the source code of the interpreter, '
|
'with default values) that the function |\n'
|
||||||
'is\n'
|
'| | '
|
||||||
'deprecated since 3.12 and may be removed in 3.14); "co_stacksize" '
|
'has |\n'
|
||||||
'is\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'the required stack size; "co_flags" is an integer encoding a number '
|
'| codeobject.co_nlocals | The number '
|
||||||
'of\n'
|
'of local variables used by the function |\n'
|
||||||
'flags for the interpreter.\n'
|
'| | (including '
|
||||||
|
'parameters) |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_varnames | A "tuple" '
|
||||||
|
'containing the names of the local |\n'
|
||||||
|
'| | variables in '
|
||||||
|
'the function (starting with the |\n'
|
||||||
|
'| | parameter '
|
||||||
|
'names) |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_cellvars | A "tuple" '
|
||||||
|
'containing the names of local variables |\n'
|
||||||
|
'| | that are '
|
||||||
|
'referenced by nested functions inside the |\n'
|
||||||
|
'| | '
|
||||||
|
'function |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_freevars | A "tuple" '
|
||||||
|
'containing the names of free variables |\n'
|
||||||
|
'| | in the '
|
||||||
|
'function |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_code | A string '
|
||||||
|
'representing the sequence of *bytecode* |\n'
|
||||||
|
'| | instructions '
|
||||||
|
'in the function |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_consts | A "tuple" '
|
||||||
|
'containing the literals used by the |\n'
|
||||||
|
'| | *bytecode* '
|
||||||
|
'in the function |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_names | A "tuple" '
|
||||||
|
'containing the names used by the |\n'
|
||||||
|
'| | *bytecode* '
|
||||||
|
'in the function |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_filename | The name of '
|
||||||
|
'the file from which the code was |\n'
|
||||||
|
'| | '
|
||||||
|
'compiled |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_firstlineno | The line '
|
||||||
|
'number of the first line of the function |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_lnotab | A string '
|
||||||
|
'encoding the mapping from *bytecode* |\n'
|
||||||
|
'| | offsets to '
|
||||||
|
'line numbers. For details, see the |\n'
|
||||||
|
'| | source code '
|
||||||
|
'of the interpreter. Deprecated since |\n'
|
||||||
|
'| | version '
|
||||||
|
'3.12: This attribute of code objects is |\n'
|
||||||
|
'| | deprecated, '
|
||||||
|
'and may be removed in Python 3.14. |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_stacksize | The required '
|
||||||
|
'stack size of the code object |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| codeobject.co_flags | An "integer" '
|
||||||
|
'encoding a number of flags for the |\n'
|
||||||
|
'| | '
|
||||||
|
'interpreter. |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The following flag bits are defined for "co_flags": bit "0x04" is '
|
'The following flag bits are defined for "co_flags": bit "0x04" is '
|
||||||
'set\n'
|
'set\n'
|
||||||
|
@ -14476,7 +14546,9 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'number of positional arguments; bit "0x08" is set if the function '
|
'number of positional arguments; bit "0x08" is set if the function '
|
||||||
'uses\n'
|
'uses\n'
|
||||||
'the "**keywords" syntax to accept arbitrary keyword arguments; bit\n'
|
'the "**keywords" syntax to accept arbitrary keyword arguments; bit\n'
|
||||||
'"0x20" is set if the function is a generator.\n'
|
'"0x20" is set if the function is a generator. See Code Objects Bit\n'
|
||||||
|
'Flags for details on the semantics of each flags that might be\n'
|
||||||
|
'present.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Future feature declarations ("from __future__ import division") '
|
'Future feature declarations ("from __future__ import division") '
|
||||||
'also\n'
|
'also\n'
|
||||||
|
@ -14495,16 +14567,19 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'is the documentation string of the function, or "None" if '
|
'is the documentation string of the function, or "None" if '
|
||||||
'undefined.\n'
|
'undefined.\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
'\n'
|
||||||
|
'The "co_positions()" method\n'
|
||||||
|
'~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
|
||||||
|
'\n'
|
||||||
'codeobject.co_positions()\n'
|
'codeobject.co_positions()\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Returns an iterable over the source code positions of each '
|
' Returns an iterable over the source code positions of each\n'
|
||||||
'bytecode\n'
|
' *bytecode* instruction in the code object.\n'
|
||||||
' instruction in the code object.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' The iterator returns tuples containing the "(start_line, '
|
' The iterator returns "tuple"s containing the "(start_line,\n'
|
||||||
'end_line,\n'
|
' end_line, start_column, end_column)". The *i-th* tuple '
|
||||||
' start_column, end_column)". The *i-th* tuple corresponds to the\n'
|
'corresponds\n'
|
||||||
' position of the source code that compiled to the *i-th*\n'
|
' to the position of the source code that compiled to the *i-th*\n'
|
||||||
' instruction. Column information is 0-indexed utf-8 byte offsets '
|
' instruction. Column information is 0-indexed utf-8 byte offsets '
|
||||||
'on\n'
|
'on\n'
|
||||||
' the given source line.\n'
|
' the given source line.\n'
|
||||||
|
@ -14551,42 +14626,95 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'objects (see below), and are also passed to registered trace\n'
|
'objects (see below), and are also passed to registered trace\n'
|
||||||
'functions.\n'
|
'functions.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Special read-only attributes: "f_back" is to the previous stack '
|
|
||||||
'frame\n'
|
|
||||||
'(towards the caller), or "None" if this is the bottom stack frame;\n'
|
|
||||||
'"f_code" is the code object being executed in this frame; '
|
|
||||||
'"f_locals"\n'
|
|
||||||
'is the dictionary used to look up local variables; "f_globals" is '
|
|
||||||
'used\n'
|
|
||||||
'for global variables; "f_builtins" is used for built-in '
|
|
||||||
'(intrinsic)\n'
|
|
||||||
'names; "f_lasti" gives the precise instruction (this is an index '
|
|
||||||
'into\n'
|
|
||||||
'the bytecode string of the code object).\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'Accessing "f_code" raises an auditing event "object.__getattr__" '
|
'Special read-only attributes\n'
|
||||||
'with\n'
|
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
|
||||||
'arguments "obj" and ""f_code"".\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'Special writable attributes: "f_trace", if not "None", is a '
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'function\n'
|
'| frame.f_back | Points to '
|
||||||
'called for various events during code execution (this is used by '
|
'the previous stack frame (towards the |\n'
|
||||||
'the\n'
|
'| | caller), or '
|
||||||
'debugger). Normally an event is triggered for each new source line '
|
'"None" if this is the bottom stack |\n'
|
||||||
'-\n'
|
'| | '
|
||||||
'this can be disabled by setting "f_trace_lines" to "False".\n'
|
'frame |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| frame.f_code | The code '
|
||||||
|
'object being executed in this frame. |\n'
|
||||||
|
'| | Accessing '
|
||||||
|
'this attribute raises an auditing event |\n'
|
||||||
|
'| | '
|
||||||
|
'"object.__getattr__" with arguments "obj" and |\n'
|
||||||
|
'| | '
|
||||||
|
'""f_code"". |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| frame.f_locals | The '
|
||||||
|
'dictionary used by the frame to look up local |\n'
|
||||||
|
'| | '
|
||||||
|
'variables |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| frame.f_globals | The '
|
||||||
|
'dictionary used by the frame to look up global |\n'
|
||||||
|
'| | '
|
||||||
|
'variables |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| frame.f_builtins | The '
|
||||||
|
'dictionary used by the frame to look up built- |\n'
|
||||||
|
'| | in '
|
||||||
|
'(intrinsic) names |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| frame.f_lasti | The “precise '
|
||||||
|
'instruction” of the frame object |\n'
|
||||||
|
'| | (this is an '
|
||||||
|
'index into the *bytecode* string of |\n'
|
||||||
|
'| | the code '
|
||||||
|
'object) |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Implementations *may* allow per-opcode events to be requested by\n'
|
|
||||||
'setting "f_trace_opcodes" to "True". Note that this may lead to\n'
|
|
||||||
'undefined interpreter behaviour if exceptions raised by the trace\n'
|
|
||||||
'function escape to the function being traced.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'"f_lineno" is the current line number of the frame — writing to '
|
'Special writable attributes\n'
|
||||||
'this\n'
|
'~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
|
||||||
'from within a trace function jumps to the given line (only for the\n'
|
'\n'
|
||||||
'bottom-most frame). A debugger can implement a Jump command (aka '
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'Set\n'
|
'| frame.f_trace | If not '
|
||||||
'Next Statement) by writing to f_lineno.\n'
|
'"None", this is a function called for |\n'
|
||||||
|
'| | various '
|
||||||
|
'events during code execution (this is used |\n'
|
||||||
|
'| | by '
|
||||||
|
'debuggers). Normally an event is triggered for |\n'
|
||||||
|
'| | each new '
|
||||||
|
'source line (see "f_trace_lines"). |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| frame.f_trace_lines | Set this '
|
||||||
|
'attribute to "False" to disable |\n'
|
||||||
|
'| | triggering a '
|
||||||
|
'tracing event for each source line. |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| frame.f_trace_opcodes | Set this '
|
||||||
|
'attribute to "True" to allow per-opcode |\n'
|
||||||
|
'| | events to be '
|
||||||
|
'requested. Note that this may lead to |\n'
|
||||||
|
'| | undefined '
|
||||||
|
'interpreter behaviour if exceptions |\n'
|
||||||
|
'| | raised by '
|
||||||
|
'the trace function escape to the |\n'
|
||||||
|
'| | function '
|
||||||
|
'being traced. |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'| frame.f_lineno | The current '
|
||||||
|
'line number of the frame – writing to |\n'
|
||||||
|
'| | this from '
|
||||||
|
'within a trace function jumps to the |\n'
|
||||||
|
'| | given line '
|
||||||
|
'(only for the bottom-most frame). A |\n'
|
||||||
|
'| | debugger can '
|
||||||
|
'implement a Jump command (aka Set |\n'
|
||||||
|
'| | Next '
|
||||||
|
'Statement) by writing to this attribute. |\n'
|
||||||
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
|
'\n'
|
||||||
|
'\n'
|
||||||
|
'Frame object methods\n'
|
||||||
|
'~~~~~~~~~~~~~~~~~~~~\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Frame objects support one method:\n'
|
'Frame objects support one method:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -14594,7 +14722,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
' This method clears all references to local variables held by '
|
' This method clears all references to local variables held by '
|
||||||
'the\n'
|
'the\n'
|
||||||
' frame. Also, if the frame belonged to a generator, the '
|
' frame. Also, if the frame belonged to a *generator*, the '
|
||||||
'generator\n'
|
'generator\n'
|
||||||
' is finalized. This helps break reference cycles involving '
|
' is finalized. This helps break reference cycles involving '
|
||||||
'frame\n'
|
'frame\n'
|
||||||
|
@ -15167,21 +15295,23 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Keys views are set-like since their entries are unique and '
|
'Keys views are set-like since their entries are unique and '
|
||||||
'*hashable*.\n'
|
'*hashable*.\n'
|
||||||
'If all values are hashable, so that "(key, value)" pairs are '
|
'Items views also have set-like operations since the (key, '
|
||||||
'unique\n'
|
'value) pairs\n'
|
||||||
'and hashable, then the items view is also set-like. (Values '
|
'are unique and the keys are hashable. If all values in an '
|
||||||
'views are\n'
|
'items view\n'
|
||||||
'not treated as set-like since the entries are generally not '
|
'are hashable as well, then the items view can interoperate '
|
||||||
'unique.)\n'
|
'with other\n'
|
||||||
'For set-like views, all of the operations defined for the '
|
'sets. (Values views are not treated as set-like since the '
|
||||||
'abstract\n'
|
'entries are\n'
|
||||||
'base class "collections.abc.Set" are available (for example, '
|
'generally not unique.) For set-like views, all of the '
|
||||||
'"==",\n'
|
'operations\n'
|
||||||
'"<", or "^"). While using set operators, set-like views '
|
'defined for the abstract base class "collections.abc.Set" '
|
||||||
'accept any\n'
|
'are\n'
|
||||||
'iterable as the other operand, unlike sets which only accept '
|
'available (for example, "==", "<", or "^"). While using '
|
||||||
'sets as\n'
|
'set\n'
|
||||||
'the input.\n'
|
'operators, set-like views accept any iterable as the other '
|
||||||
|
'operand,\n'
|
||||||
|
'unlike sets which only accept sets as the input.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'An example of dictionary view usage:\n'
|
'An example of dictionary view usage:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
|
1594
Misc/NEWS.d/3.12.1.rst
Normal file
1594
Misc/NEWS.d/3.12.1.rst
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1 +0,0 @@
|
||||||
Fix compile error when building with recent versions of libedit.
|
|
|
@ -1,3 +0,0 @@
|
||||||
"make check-clean-src" now also checks if the "python" program is found in
|
|
||||||
the source directory: fail with an error if it does exist. Patch by Victor
|
|
||||||
Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
For wasi-threads, memory is now exported to fix compatibility issues with some wasm runtimes.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Add ``Tools/build/regen-configure.sh`` script to regenerate the ``configure``
|
|
||||||
with an Ubuntu container image. The ``quay.io/tiran/cpython_autoconf:271``
|
|
||||||
container image (`tiran/cpython_autoconf
|
|
||||||
<https://github.com/tiran/cpython_autoconf>`_) is no longer used. Patch by
|
|
||||||
Victor Stinner.
|
|
|
@ -1,5 +0,0 @@
|
||||||
:c:func:`PyImport_GetImporter` now sets RuntimeError if it fails to get
|
|
||||||
:data:`sys.path_hooks` or :data:`sys.path_importer_cache` or they are not
|
|
||||||
list and dict correspondingly. Previously it could return NULL without
|
|
||||||
setting error in obscure cases, crash or raise SystemError if these
|
|
||||||
attributes have wrong type.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix support of format units "es", "et", "es#", and "et#" in nested tuples in
|
|
||||||
:c:func:`PyArg_ParseTuple`-like functions.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix redundant declarations in the public C API. Declare PyBool_Type and
|
|
||||||
PyLong_Type only once. Patch by Victor Stinner.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Statically allocated string objects are now interned globally instead of
|
|
||||||
per-interpreter. This fixes a situation where such a string would only be
|
|
||||||
interned in a single interpreter. Normal string objects are unaffected.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Improve syntax error for non-ASCII character that follows a numerical
|
|
||||||
literal. It now points on the invalid non-ASCII character, not on the valid
|
|
||||||
numerical literal.
|
|
|
@ -1 +0,0 @@
|
||||||
Use the base opcode when comparing code objects to avoid interference from instrumentation
|
|
|
@ -1 +0,0 @@
|
||||||
Fix bug where the C traceback display drops notes from :exc:`SyntaxError`.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a SystemError in ``__repr__`` of symtable entry object.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix possible memory leak in :opcode:`BUILD_MAP`.
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix crash when compiling an invalid AST involving a named (walrus)
|
|
||||||
expression.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix some tokens in the grammar that were incorrectly marked as soft
|
|
||||||
keywords. Also fix some repeated rule names and ensure that repeated rules
|
|
||||||
are not allowed. Patch by Pablo Galindo
|
|
|
@ -1,4 +0,0 @@
|
||||||
The main thread no longer exits prematurely when a subinterpreter
|
|
||||||
is cleaned up during runtime finalization. The bug was a problem
|
|
||||||
particularly because, when triggered, the Python process would
|
|
||||||
always return with a 0 exitcode, even if it failed.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Subinterpreters now correctly handle the case where they have threads
|
|
||||||
running in the background. Before, such threads would interfere with
|
|
||||||
cleaning up and destroying them, as well as prevent running another script.
|
|
|
@ -1 +0,0 @@
|
||||||
``sys.path[0]`` is now set correctly for subinterpreters.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix the compiler's redundant NOP detection algorithm to skip over NOPs with
|
|
||||||
no line number when looking for the next instruction's lineno.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix missing error checks for calls to ``PyList_Append`` in ``_PyEval_MatchClass``.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Correctly identify the format spec in f-strings (with single or triple
|
|
||||||
quotes) that have multiple lines in the expression part and include a
|
|
||||||
formatting spec. Patch by Pablo Galindo
|
|
|
@ -1,3 +0,0 @@
|
||||||
Guard ``assert(tstate->thread_id > 0)`` with ``#ifndef HAVE_PTHREAD_STUBS``.
|
|
||||||
This allows for for pydebug builds to work under WASI which (currently)
|
|
||||||
lacks thread support.
|
|
|
@ -1 +0,0 @@
|
||||||
Add ``PY_THROW`` to :func:`sys.setprofile` events
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix regression in Python 3.12 where :meth:`types.CodeType.replace` would
|
|
||||||
produce a broken code object if called on a module or class code object that
|
|
||||||
contains a comprehension. Patch by Jelle Zijlstra.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix incorrect error message for invalid argument unpacking. Patch by Pablo
|
|
||||||
Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix crash when :class:`typing.TypeVar` is constructed with a keyword
|
|
||||||
argument. Patch by Jelle Zijlstra.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed crash due to improperly initialized static :exc:`MemoryError` in subinterpreter.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix error messages for indented blocks with functions and classes with
|
|
||||||
generic type parameters. Patch by Pablo Galindo
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a regression that prevented jumping across ``is None`` and ``is not None`` when debugging. Patch by Savannah Ostrowski.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix a bug that was causing :exc:`SyntaxWarning` to appear twice when parsing
|
|
||||||
if invalid syntax is encountered later. Patch by Pablo galindo
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix an issue in the :mod:`codeop` that was causing :exc:`SyntaxError`
|
|
||||||
exceptions raised in the presence of invalid syntax to not contain precise
|
|
||||||
error messages. Patch by Pablo Galindo
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a bug where ``iso2022_jp_3`` and ``iso2022_jp_2004`` codecs read out of bounds
|
|
|
@ -1,2 +0,0 @@
|
||||||
Speed up :obj:`Traceback` object creation by lazily compute the line number.
|
|
||||||
Patch by Pablo Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix runtime crash when some error happens in opcode
|
|
||||||
``LOAD_FROM_DICT_OR_DEREF``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Change docstrings of :attr:`~object.__dict__` and
|
|
||||||
:attr:`~object.__weakref__`.
|
|
|
@ -1 +0,0 @@
|
||||||
Don't include comments in f-string debug expressions. Patch by Pablo Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Avoid undefined behaviour when using the perf trampolines by not freeing the
|
|
||||||
code arenas until shutdown. Patch by Pablo Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix error positions for decoded strings with backwards tokenize errors.
|
|
||||||
Patch by Pablo Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix an error that was causing the parser to try to overwrite tokenizer
|
|
||||||
errors. Patch by pablo Galindo
|
|
|
@ -1,3 +0,0 @@
|
||||||
Change coro.cr_frame/gen.gi_frame to return ``None`` after the coroutine/generator has been closed.
|
|
||||||
This fixes a bug where :func:`~inspect.getcoroutinestate` and :func:`~inspect.getgeneratorstate`
|
|
||||||
return the wrong state for a closed coroutine/generator.
|
|
|
@ -1 +0,0 @@
|
||||||
Stopped erroneously deleting a ``LOAD_NULL`` bytecode instruction when optimized twice.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Workaround a bug in Apple's macOS platform zlib library where
|
|
||||||
:func:`zlib.crc32` and :func:`binascii.crc32` could produce incorrect results
|
|
||||||
on multi-gigabyte inputs. Including when using :mod:`zipfile` on zips
|
|
||||||
containing large data.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixes a bug where a bytearray object could be cleared while iterating over an argument in the ``bytearray.join()`` method that could result in reading memory after it was freed.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix None.__ne__(None) returning NotImplemented instead of False
|
|
|
@ -1 +0,0 @@
|
||||||
:mod:`dis` module command-line interface is now mentioned in documentation.
|
|
|
@ -1 +0,0 @@
|
||||||
Relocate ``smtpd`` deprecation notice to its own section rather than under ``locale`` in What's New in Python 3.12 document
|
|
|
@ -1,4 +0,0 @@
|
||||||
Add docstrings to the IDLE debugger module. Fix two bugs:
|
|
||||||
initialize Idb.botframe (should be in Bdb); in Idb.in_rpc_code,
|
|
||||||
check whether prev_frame is None before trying to use it.
|
|
||||||
Greatly expand test_debugger.
|
|
|
@ -1,2 +0,0 @@
|
||||||
The :meth:`ssl.SSLSocket.recv_into` method no longer requires the *buffer*
|
|
||||||
argument to implement ``__len__`` and supports buffers with arbitrary item size.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fixed memory leaks of :class:`pickle.Pickler` and :class:`pickle.Unpickler` involving cyclic references via the
|
|
||||||
internal memo mapping.
|
|
|
@ -1,3 +0,0 @@
|
||||||
The :func:`shutil.rmtree` function now ignores errors when calling
|
|
||||||
:func:`os.close` when *ignore_errors* is ``True``, and
|
|
||||||
:func:`os.close` no longer retried after error.
|
|
|
@ -1,4 +0,0 @@
|
||||||
On Windows, ``tempfile.TemporaryDirectory`` previously masked a
|
|
||||||
``PermissionError`` with ``NotADirectoryError`` during directory cleanup. It
|
|
||||||
now correctly raises ``PermissionError`` if errors are not ignored. Patch by
|
|
||||||
Andrei Kulakov and Ken Jin.
|
|
|
@ -1,4 +0,0 @@
|
||||||
:mod:`zipinfo` now supports the full range of values in the TZ string
|
|
||||||
determined by RFC 8536 and detects all invalid formats.
|
|
||||||
Both Python and C implementations now raise exceptions of the same
|
|
||||||
type on invalid data.
|
|
|
@ -1 +0,0 @@
|
||||||
Omit the interface scope from an IPv6 address when used as Host header by :mod:`http.client`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix a bug in :class:`tempfile.TemporaryDirectory` cleanup, which now no longer
|
|
||||||
dereferences symlinks when working around file system permission errors.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:class:`unittest.TestLoader` no longer loads test cases from exact
|
|
||||||
:class:`unittest.TestCase` and :class:`unittest.FunctionTestCase` classes.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix returning of empty byte strings after seek in zipfile module
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix exit code for ``unittest`` if all tests are skipped.
|
|
||||||
Patch by Egor Eliseev.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix concurrent.futures.ProcessPoolExecutor deadlock
|
|
|
@ -1 +0,0 @@
|
||||||
Improved error handling in :mod:`pdb` command line interface, making it produce more concise error messages.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Fix :func:`_thread.start_new_thread` race condition. If a thread is created
|
|
||||||
during Python finalization, the newly spawned thread now exits immediately
|
|
||||||
instead of trying to access freed memory and lead to a crash. Patch by
|
|
||||||
Victor Stinner.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Attempts to pickle or create a shallow or deep copy of :mod:`codecs` streams
|
|
||||||
now raise a TypeError. Previously, copying failed with a RecursionError,
|
|
||||||
while pickling produced wrong results that eventually caused unpickling
|
|
||||||
to fail with a RecursionError.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Fix a race condition in ``concurrent.futures``. When a process in the
|
|
||||||
process pool was terminated abruptly (while the future was running or
|
|
||||||
pending), close the connection write end. If the call queue is blocked on
|
|
||||||
sending bytes to a worker process, closing the connection write end interrupts
|
|
||||||
the send, so the queue can be closed. Patch by Victor Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
The :mod:`pdb` ``alias`` command now prevents registering aliases without arguments.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Fix :func:`os.stat` and :meth:`os.DirEntry.stat`: check for exceptions.
|
|
||||||
Previously, on Python built in debug mode, these functions could trigger a
|
|
||||||
fatal Python error (and abort the process) when a function succeeded with an
|
|
||||||
exception set. Patch by Victor Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
Avoid deadlocking on a reentrant call to the multiprocessing resource tracker. Such a reentrant call, though unlikely, can happen if a GC pass invokes the finalizer for a multiprocessing object such as SemLock.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix possible reference leaks and crash when re-enter the ``__next__()`` method of
|
|
||||||
:class:`itertools.pairwise`.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:func:`shutil.which` will prefer files with an extension in ``PATHEXT`` if the given mode includes ``os.X_OK`` on win32.
|
|
||||||
If no ``PATHEXT`` match is found, a file without an extension in ``PATHEXT`` can be returned.
|
|
||||||
This change will have :func:`shutil.which` act more similarly to previous behavior in Python 3.11.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Ensure the signature of :func:`os.path.isdir` is identical on all platforms.
|
|
||||||
Patch by Amin Alaee.
|
|
|
@ -1,4 +0,0 @@
|
||||||
:mod:`concurrent.futures`: The *executor manager thread* now catches exceptions
|
|
||||||
when adding an item to the *call queue*. During Python finalization, creating a
|
|
||||||
new thread can now raise :exc:`RuntimeError`. Catch the exception and call
|
|
||||||
``terminate_broken()`` in this case. Patch by Victor Stinner.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix :func:`reprlib.recursive_repr` not copying ``__type_params__`` from
|
|
||||||
decorated function.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Improve errors for unsupported look-behind patterns. Now re.error is raised
|
|
||||||
instead of OverflowError or RuntimeError for too large width of look-behind
|
|
||||||
pattern.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:mod:`re` functions such as :func:`re.findall`, :func:`re.split`,
|
|
||||||
:func:`re.search` and :func:`re.sub` which perform short repeated matches
|
|
||||||
can now be interrupted by user.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fixed an issue that caused :meth:`KqueueSelector.select` to not return all
|
|
||||||
the ready events in some cases when a file descriptor is registered for both
|
|
||||||
read and write.
|
|
|
@ -1,5 +0,0 @@
|
||||||
On Windows, multiprocessing ``Popen.terminate()`` now catchs
|
|
||||||
:exc:`PermissionError` and get the process exit code. If the process is
|
|
||||||
still running, raise again the :exc:`PermissionError`. Otherwise, the
|
|
||||||
process terminated as expected: store its exit code. Patch by Victor
|
|
||||||
Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
Add ``__reduce__`` method to :class:`IPv6Address` in order to keep ``scope_id``
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix a Python 3.12 regression in the import time of :mod:`random`. Patch by Alex
|
|
||||||
Waygood.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix :func:`termios.tcsetattr` bug that was overwritting existing errors
|
|
||||||
during parsing integers from ``term`` list.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:func:`~contextlib.contextmanager` and
|
|
||||||
:func:`~contextlib.asynccontextmanager` context managers now close an invalid
|
|
||||||
underlying generator object that yields more then one value.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Ensure that :func:`select.kqueue` objects correctly appear as closed in
|
|
||||||
forked children, to prevent operations on an invalid file descriptor.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Deprecation warning about non-integer number in :mod:`gettext` now alwais
|
|
||||||
refers to the line in the user code where gettext function or method is
|
|
||||||
used. Previously it could refer to a line in ``gettext`` code.
|
|
|
@ -1 +0,0 @@
|
||||||
Prevent :mod:`pdb` from crashing when trying to display undisplayable objects
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix a bug in :meth:`!_sre.compile` where :exc:`TypeError`
|
|
||||||
would be overwritten by :exc:`OverflowError` when
|
|
||||||
the *code* argument was a list of non-ints.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Fix :func:`tty.setraw` and :func:`tty.setcbreak`: previously they returned
|
|
||||||
partially modified list of the original tty attributes.
|
|
||||||
:func:`tty.cfmakeraw` and :func:`tty.cfmakecbreak` now make a copy of the
|
|
||||||
list of special characters before modifying it.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Fix a couple of issues in :meth:`pathlib.PurePath.with_name`: a single dot
|
|
||||||
was incorrectly considered a valid name, and in :class:`PureWindowsPath`, a
|
|
||||||
name with an NTFS alternate data stream, like ``a:b``, was incorrectly
|
|
||||||
considered invalid.
|
|
|
@ -1 +0,0 @@
|
||||||
Make turtledemo run without default root enabled.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix invalid state handling in :class:`asyncio.TaskGroup` and
|
|
||||||
:class:`asyncio.Timeout`. They now raise proper RuntimeError if they are
|
|
||||||
improperly used and are left in consistent state after this.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix :mod:`doctest` output comparison for exceptions with notes.
|
|
|
@ -1 +0,0 @@
|
||||||
Postpone removal version for locale.getdefaultlocale() to Python 3.15.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix crash in :meth:`io.BytesIO.getbuffer` called repeatedly for empty
|
|
||||||
BytesIO.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix :mod:`_blake2` not checking for errors when initializing.
|
|
|
@ -1 +0,0 @@
|
||||||
Add error checking during :mod:`!_socket` module init.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix :mod:`time` not checking for errors when initializing.
|
|
|
@ -1,6 +0,0 @@
|
||||||
Another attempt at fixing :func:`asyncio.Server.wait_closed()`. It now
|
|
||||||
blocks until both conditions are true: the server is closed, *and* there
|
|
||||||
are no more active connections. (This means that in some cases where in
|
|
||||||
3.12.0 this function would *incorrectly* have returned immediately,
|
|
||||||
it will now block; in particular, when there are no active connections
|
|
||||||
but the server hasn't been closed yet.)
|
|
|
@ -1,6 +0,0 @@
|
||||||
Fix the behavior of :mod:`tkinter` widget's ``unbind()`` method with two
|
|
||||||
arguments. Previously, ``widget.unbind(sequence, funcid)`` destroyed the
|
|
||||||
current binding for *sequence*, leaving *sequence* unbound, and deleted the
|
|
||||||
*funcid* command. Now it removes only *funcid* from the binding for
|
|
||||||
*sequence*, keeping other commands, and deletes the *funcid* command. It
|
|
||||||
leaves *sequence* unbound only if *funcid* was the last bound command.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Remove mention of not supported "vsapi" element type in
|
|
||||||
:meth:`tkinter.ttk.Style.element_create`. Add tests for ``element_create()``
|
|
||||||
and other ``ttk.Style`` methods. Add examples for ``element_create()`` in
|
|
||||||
the documentation.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed typo in :func:`math.sumprod`.
|
|
|
@ -1 +0,0 @@
|
||||||
Added :func:`io.text_encoding()`, :data:`io.DEFAULT_BUFFER_SIZE`, and :class:`io.IncrementalNewlineDecoder` to ``io.__all__``.
|
|
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