]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
3 years agoPython 3.11.0a6 v3.11.0a6
Pablo Galindo [Mon, 7 Mar 2022 12:28:08 +0000 (12:28 +0000)] 
Python 3.11.0a6

3 years agobpo-46940: Don't override existing AttributeError suggestion information (GH-31710)
Pablo Galindo Salgado [Mon, 7 Mar 2022 12:23:11 +0000 (12:23 +0000)] 
bpo-46940: Don't override existing AttributeError suggestion information (GH-31710)

When an exception is created in a nested call to PyObject_GetAttr, any
external calls will override the context information of the
AttributeError that we have already placed in the most internal call.
This will cause the suggestions we create to nor work properly as the
attribute name and object that we will be using are the incorrect ones.

To avoid this, we need to check first if these attributes are already
set and bail out if that's the case.

3 years agobpo-46937: convert remaining functions to AC in _weakref (GH-31705)
Kumar Aditya [Mon, 7 Mar 2022 09:57:45 +0000 (15:27 +0530)] 
bpo-46937: convert remaining functions to AC in _weakref (GH-31705)

3 years agobpo-43292: Fix file leak in `ET.iterparse()` when not exhausted (GH-31696)
Jacob Walls [Mon, 7 Mar 2022 09:31:46 +0000 (04:31 -0500)] 
bpo-43292: Fix file leak in `ET.iterparse()` when not exhausted (GH-31696)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
3 years agoUse assertEqual, not assertEquals, in test_unicode (GH-31718)
Dennis Sweeney [Mon, 7 Mar 2022 07:32:51 +0000 (02:32 -0500)] 
Use assertEqual, not assertEquals, in test_unicode (GH-31718)

Fixes a DeprecationWarning

3 years agoClean up CODEOWNERS (#31715)
Jelle Zijlstra [Mon, 7 Mar 2022 02:04:58 +0000 (18:04 -0800)] 
Clean up CODEOWNERS (#31715)

crypto-team apparently doesn't exist and skrah no longer has write access. Thanks @isidentical for noticing this.

3 years agobpo-45582: Don't fail if ENV_PATH is None in getpath.py (GH-31699)
Christian Heimes [Sun, 6 Mar 2022 19:49:27 +0000 (21:49 +0200)] 
bpo-45582: Don't fail if ENV_PATH is None in getpath.py (GH-31699)

3 years agoUpdate grammar_grapher with the new forced (&&) directive (#31704)
Luca Chiodini [Sun, 6 Mar 2022 14:26:28 +0000 (15:26 +0100)] 
Update grammar_grapher with the new forced (&&) directive (#31704)

3 years agobpo-14156: Make argparse.FileType work correctly for binary file modes when argument...
MojoVampire [Sun, 6 Mar 2022 11:49:42 +0000 (11:49 +0000)] 
bpo-14156: Make argparse.FileType work correctly for binary file modes when argument is '-' (GH-13165)

Also made modes containing 'a' or 'x' act the same as a mode containing 'w' when argument is '-'
(so 'a'/'x' return sys.stdout like 'w', and 'ab'/'xb' return sys.stdout.buffer like 'wb').

3 years agobpo-46921: Vectorcall support for `super()` (GH-31687)
Ken Jin [Sun, 6 Mar 2022 06:21:28 +0000 (14:21 +0800)] 
bpo-46921: Vectorcall support for `super()` (GH-31687)

Co-Authored-By: Dong-hee Na <donghee.na@python.org>
3 years agobpo-46864: Deprecate PyBytesObject.ob_shash. (GH-31598)
Inada Naoki [Sun, 6 Mar 2022 02:39:10 +0000 (11:39 +0900)] 
bpo-46864: Deprecate PyBytesObject.ob_shash. (GH-31598)

3 years agoRemove trailing spaces (GH-31695)
Serhiy Storchaka [Sat, 5 Mar 2022 15:47:00 +0000 (17:47 +0200)] 
Remove trailing spaces (GH-31695)

3 years agobpo-46927: Include the type's name in the error message for subscripting non-generic...
Serhiy Storchaka [Sat, 5 Mar 2022 13:59:24 +0000 (15:59 +0200)] 
bpo-46927: Include the type's name in the error message for subscripting non-generic types (GH-31694)

3 years agoLib/typing.py copy edits originating from GH-31061 (#31684)
Matt Bogosian [Sat, 5 Mar 2022 02:51:55 +0000 (20:51 -0600)] 
Lib/typing.py copy edits originating from GH-31061 (#31684)

3 years agobpo-38738: Fix formatting of True and False in the threading documentation (GH-31678)
Géry Ogam [Fri, 4 Mar 2022 20:13:09 +0000 (21:13 +0100)] 
bpo-38738: Fix formatting of True and False in the threading documentation (GH-31678)

* Fix formatting of True and False in the threading documentation
* Update threading.rst

3 years agobpo-46841: Fix BINARY_OP's handling of inline caches (GH-31671)
Brandt Bucher [Fri, 4 Mar 2022 18:51:27 +0000 (10:51 -0800)] 
bpo-46841: Fix BINARY_OP's handling of inline caches (GH-31671)

3 years agobpo-25415: Remove confusing sentence from IOBase docstrings (PR-31631)
slateny [Fri, 4 Mar 2022 17:35:52 +0000 (09:35 -0800)] 
bpo-25415: Remove confusing sentence from IOBase docstrings (PR-31631)

3 years agobpo-46541: Remove usage of _Py_IDENTIFIER from lzma module (GH-31683)
Dong-hee Na [Fri, 4 Mar 2022 16:38:56 +0000 (01:38 +0900)] 
bpo-46541: Remove usage of _Py_IDENTIFIER from lzma module (GH-31683)

3 years agobpo-46841: Fix error message hacks in `GET_AWAITABLE` (GH-31664)
Brandt Bucher [Fri, 4 Mar 2022 12:41:17 +0000 (04:41 -0800)] 
bpo-46841: Fix error message hacks in `GET_AWAITABLE` (GH-31664)

3 years agobpo-46903: Handle str-subclasses in virtual instance dictionaries. (GH-31658)
Mark Shannon [Fri, 4 Mar 2022 11:31:29 +0000 (11:31 +0000)] 
bpo-46903: Handle str-subclasses in virtual instance dictionaries. (GH-31658)

3 years agobpo-46744: Move Windows ARM64 installation directory to correct ProgramFiles (GH...
Steve Dower [Fri, 4 Mar 2022 00:50:42 +0000 (00:50 +0000)] 
bpo-46744: Move Windows ARM64 installation directory to correct ProgramFiles (GH-31677)

3 years agobpo-46355: Update pythoncapi_compat project URL (GH-31670)
Victor Stinner [Thu, 3 Mar 2022 23:46:56 +0000 (00:46 +0100)] 
bpo-46355: Update pythoncapi_compat project URL (GH-31670)

3 years agobpo-46913: Skip test_ctypes.test_shorts() on UBSan (GH-31674)
Victor Stinner [Thu, 3 Mar 2022 23:41:57 +0000 (00:41 +0100)] 
bpo-46913: Skip test_ctypes.test_shorts() on UBSan (GH-31674)

If Python is built with UBSan, test_ctypes now skips test_shorts().
This change allows to run test_ctypes to check for new UBSan regression,
but the known test_shorts() undefined behavior must be fixed.

3 years agobpo-46913: test_hashlib skips _sha3 tests on UBSan (GH-31673)
Victor Stinner [Thu, 3 Mar 2022 23:41:34 +0000 (00:41 +0100)] 
bpo-46913: test_hashlib skips _sha3 tests on UBSan (GH-31673)

If Python is built with UBSan, test_hashlib skips tests on the _sha3
extension which currently has undefined behaviors.

This change allows to run test_hashlib to check for new UBSan regression,
but the known _sha3 undefined behavior must be fixed.

3 years agobpo-46841: Use inline caching for attribute accesses (GH-31640)
Brandt Bucher [Thu, 3 Mar 2022 23:31:00 +0000 (15:31 -0800)] 
bpo-46841: Use inline caching for attribute accesses (GH-31640)

3 years agobpo-46913: Fix test_faulthandler.test_read_null() on UBSan (GH31672)
Victor Stinner [Thu, 3 Mar 2022 23:25:03 +0000 (00:25 +0100)] 
bpo-46913: Fix test_faulthandler.test_read_null() on UBSan (GH31672)

Disable undefined behavior sanitizer (UBSan) on
faulthandler._read_null().

3 years agobpo-45459: Use type names in the internal C API (GH-31669)
Victor Stinner [Thu, 3 Mar 2022 22:08:07 +0000 (23:08 +0100)] 
bpo-45459: Use type names in the internal C API (GH-31669)

Replace "struct xxx" with "xxx" types in the internal C API.

3 years agobpo-45459: Fix PyModuleDef_Slot type in the limited C API (GH-31668)
Victor Stinner [Thu, 3 Mar 2022 22:06:55 +0000 (23:06 +0100)] 
bpo-45459: Fix PyModuleDef_Slot type in the limited C API (GH-31668)

Move the type definition to pytypedefs.h.

3 years agobpo-46913: Fix test_faulthandler.test_sigfpe() on UBSAN (GH-31662)
Victor Stinner [Thu, 3 Mar 2022 20:45:01 +0000 (21:45 +0100)] 
bpo-46913: Fix test_faulthandler.test_sigfpe() on UBSAN (GH-31662)

Disable undefined behavior sanitizer (UBSAN) on
faulthandler_sigfpe().

3 years agobpo-46841: Improve the failure stats for COMPARE_OP (GH-31663)
Brandt Bucher [Thu, 3 Mar 2022 19:28:47 +0000 (11:28 -0800)] 
bpo-46841: Improve the failure stats for COMPARE_OP (GH-31663)

3 years agobpo-46877: export unittest.doModuleCleanups in unittest package (#31613)
Kumar Aditya [Thu, 3 Mar 2022 18:41:28 +0000 (00:11 +0530)] 
bpo-46877: export unittest.doModuleCleanups in unittest package (#31613)

3 years agoMove check for str-only keys in LOAD_GLOBAL specializations to specialization time...
Mark Shannon [Thu, 3 Mar 2022 15:17:18 +0000 (15:17 +0000)] 
Move check for str-only keys in LOAD_GLOBAL specializations to specialization time. (GH-31659)

3 years agobpo-6634: [doc] clarify that sys.exit() does not always exit the interpreter (GH...
vidhya [Thu, 3 Mar 2022 14:23:47 +0000 (09:23 -0500)] 
bpo-6634: [doc] clarify that sys.exit() does not always exit the interpreter (GH-31639)

3 years agobpo-46874: Speed up sqlite3 user-defined aggregate 'step' method (GH-31604)
Erlend Egeberg Aasland [Thu, 3 Mar 2022 13:54:36 +0000 (14:54 +0100)] 
bpo-46874: Speed up sqlite3 user-defined aggregate 'step' method (GH-31604)

3 years agobpo-46891: Fix creating a new instance of a module subclass with slots (GH-31643)
Mark Shannon [Thu, 3 Mar 2022 10:38:27 +0000 (10:38 +0000)] 
bpo-46891: Fix creating a new instance of a module subclass with slots (GH-31643)

3 years agoFix EncodingWarning in libregrtest (GH-31654)
Inada Naoki [Thu, 3 Mar 2022 07:19:56 +0000 (16:19 +0900)] 
Fix EncodingWarning in libregrtest (GH-31654)

3 years agobpo-46831: Update __build_class__ comment (#31522)
Shantanu [Thu, 3 Mar 2022 05:32:57 +0000 (21:32 -0800)] 
bpo-46831: Update __build_class__ comment (#31522)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
3 years agodict: Fix refleak (GH-31650)
Inada Naoki [Thu, 3 Mar 2022 05:30:58 +0000 (14:30 +0900)] 
dict: Fix refleak (GH-31650)

3 years agobpo-46643: fix NEWS entry (GH-31651)
Jelle Zijlstra [Thu, 3 Mar 2022 05:27:11 +0000 (21:27 -0800)] 
bpo-46643: fix NEWS entry (GH-31651)

3 years agobpo-40116: dict: Add regression test for iteration order. (GH-31550)
Inada Naoki [Thu, 3 Mar 2022 04:06:29 +0000 (13:06 +0900)] 
bpo-40116: dict: Add regression test for iteration order. (GH-31550)

3 years agobpo-21910: Clarify docs for codecs writelines method (GH-31245)
slateny [Thu, 3 Mar 2022 01:21:41 +0000 (17:21 -0800)] 
bpo-21910: Clarify docs for codecs writelines method (GH-31245)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
3 years agobpo-46643: Fix stringized P.args/P.kwargs with get_type_hints (GH-31238)
Gregory Beauregard [Thu, 3 Mar 2022 01:14:52 +0000 (17:14 -0800)] 
bpo-46643: Fix stringized P.args/P.kwargs with get_type_hints (GH-31238)

3 years agobpo-46860: Respect `--with-suffix` on case-insensitive file systems (GH-31593)
Brett Cannon [Wed, 2 Mar 2022 22:23:59 +0000 (14:23 -0800)] 
bpo-46860: Respect `--with-suffix` on case-insensitive file systems (GH-31593)

Previously, case-insensitive file systems were forced to use `.exe` as the file suffix no matter what `--with-suffix` was set to.

3 years agobpo-45492: Corrected documentation for co_names in inspect library doc (GH-31456)
slateny [Wed, 2 Mar 2022 19:03:38 +0000 (11:03 -0800)] 
bpo-45492: Corrected documentation for co_names in inspect library doc (GH-31456)

3 years agobpo-46848: Move _PyBytes_Find() to internal C API (GH-31642)
Victor Stinner [Wed, 2 Mar 2022 13:15:26 +0000 (14:15 +0100)] 
bpo-46848: Move _PyBytes_Find() to internal C API (GH-31642)

Move _PyBytes_Find() and _PyBytes_ReverseFind() functions to the
internal C API.

bytesobject.c now includes pycore_bytesobject.h.

3 years agodict: Internal cleanup (GH-31641)
Inada Naoki [Wed, 2 Mar 2022 10:05:12 +0000 (19:05 +0900)] 
dict: Internal cleanup (GH-31641)

* Make empty_key from split table to combined table.
* Use unicode_get_hash() when possible.

3 years agobpo-46195: Do not add `Optional` in `get_type_hints` (GH-30304)
Nikita Sobolev [Wed, 2 Mar 2022 05:29:46 +0000 (08:29 +0300)] 
bpo-46195: Do not add `Optional` in `get_type_hints` (GH-30304)

Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
3 years agobpo-46848: Use stringlib/fastsearch in mmap (GH-31625)
Dennis Sweeney [Wed, 2 Mar 2022 04:46:30 +0000 (23:46 -0500)] 
bpo-46848: Use stringlib/fastsearch in mmap (GH-31625)

Speed up mmap.find(). Add _PyBytes_Find() and _PyBytes_ReverseFind().

3 years agobpo-46845: Reduce dict size when all keys are Unicode (GH-31564)
Inada Naoki [Tue, 1 Mar 2022 23:09:28 +0000 (08:09 +0900)] 
bpo-46845: Reduce dict size when all keys are Unicode (GH-31564)

3 years agobpo-46712: Let generate_global_objects.py Run on Earlier Python Versions (gh-31637)
Eric Snow [Tue, 1 Mar 2022 21:29:54 +0000 (14:29 -0700)] 
bpo-46712: Let generate_global_objects.py Run on Earlier Python Versions (gh-31637)

https://bugs.python.org/issue46712

3 years agobpo-46841: Use inline cache for `BINARY_SUBSCR`. (GH-31618)
Mark Shannon [Tue, 1 Mar 2022 16:00:34 +0000 (16:00 +0000)] 
bpo-46841: Use inline cache for `BINARY_SUBSCR`. (GH-31618)

3 years agobpo-46541: remove usage of _Py_IDENTIFIER from _ssl module (GH-31599)
Kumar Aditya [Tue, 1 Mar 2022 15:38:21 +0000 (21:08 +0530)] 
bpo-46541: remove usage of _Py_IDENTIFIER from _ssl module (GH-31599)

3 years agobpo-46633: Skip tests on ASAN and/or MSAN builds (GH-31632)
Victor Stinner [Tue, 1 Mar 2022 14:44:08 +0000 (15:44 +0100)] 
bpo-46633: Skip tests on ASAN and/or MSAN builds (GH-31632)

Skip tests on ASAN and/or MSAN builds:

* multiprocessing tests
* test___all__
* test_concurrent_futures
* test_decimal
* test_peg_generator
* test_tools

The ASAN job of GitHub Actions no longer excludes these tests.

3 years agobpo-46541: Remove usage of _Py_IDENTIFIER from multibytecodec (GH-31475)
Dong-hee Na [Tue, 1 Mar 2022 14:35:43 +0000 (23:35 +0900)] 
bpo-46541: Remove usage of _Py_IDENTIFIER from multibytecodec (GH-31475)

3 years agobpo-46311: Clean up PyLong_FromLong and PyLong_FromLongLong (GH-30496)
Mark Dickinson [Tue, 1 Mar 2022 14:20:52 +0000 (14:20 +0000)] 
bpo-46311: Clean up PyLong_FromLong and PyLong_FromLongLong (GH-30496)

3 years agobpo-46841: Use inline caching for `COMPARE_OP` (GH-31622)
Brandt Bucher [Tue, 1 Mar 2022 13:53:13 +0000 (05:53 -0800)] 
bpo-46841: Use inline caching for `COMPARE_OP` (GH-31622)

3 years agocompiler: Merge except_table and cnotab (GH-31614)
Inada Naoki [Tue, 1 Mar 2022 01:27:20 +0000 (10:27 +0900)] 
compiler: Merge except_table and cnotab (GH-31614)

3 years agoAdd missing "to" to two tp_flags notes (GH-31624)
Brandt Bucher [Tue, 1 Mar 2022 01:20:14 +0000 (17:20 -0800)] 
Add missing "to" to two tp_flags notes (GH-31624)

3 years agobpo-46771: Remove two controversial lines from Task.cancel() (GH-31623)
Guido van Rossum [Mon, 28 Feb 2022 23:15:56 +0000 (15:15 -0800)] 
bpo-46771: Remove two controversial lines from Task.cancel() (GH-31623)

Also from the _asyncio C accelerator module,
and adjust one test that the change caused to fail.

For more discussion see the discussion starting here:
https://github.com/python/cpython/pull/31394#issuecomment-1053545331

(Basically, @asvetlov proposed to return False from cancel()
when there is already a pending cancellation, and I went along,
even though it wasn't necessary for the task group implementation,
and @agronholm has come up with a counterexample that fails
because of this change.  So now I'm changing it back to the old
semantics (but still bumping the counter) until we can have a
proper discussion about this.)

3 years agobpo-46753: Add the empty tuple to the _PyRuntimeState.global_objects. (gh-31345)
Eric Snow [Mon, 28 Feb 2022 22:15:48 +0000 (15:15 -0700)] 
bpo-46753: Add the empty tuple to the _PyRuntimeState.global_objects. (gh-31345)

https://bugs.python.org/issue46753

3 years agoStatistics internals: Make fewer calls to _coerce() when data types are mixed (GH...
Raymond Hettinger [Mon, 28 Feb 2022 17:43:52 +0000 (11:43 -0600)] 
Statistics internals: Make fewer calls to _coerce() when data types are mixed (GH-31619)

3 years agobpo-45431: Rename CFrame to _PyCFrame in the C API (GH-31584)
Victor Stinner [Mon, 28 Feb 2022 15:03:57 +0000 (16:03 +0100)] 
bpo-45431: Rename CFrame to _PyCFrame in the C API (GH-31584)

Rename also struct _cframe to struct _PyCFrame.

Add a comment suggesting using public functions rather than using
directly the private _PyCFrame structure.

3 years agobpo-46841: Move the cache for `LOAD_GLOBAL` inline. (GH-31575)
Mark Shannon [Mon, 28 Feb 2022 12:56:29 +0000 (12:56 +0000)] 
bpo-46841: Move the cache for `LOAD_GLOBAL` inline. (GH-31575)

3 years agobpo-46567: Add Tcl/Tk build for Windows ARM64 (GH-31574)
Steve Dower [Mon, 28 Feb 2022 12:06:43 +0000 (12:06 +0000)] 
bpo-46567: Add Tcl/Tk build for Windows ARM64 (GH-31574)

3 years agobpo-46841: Use inline caching for `UNPACK_SEQUENCE` (GH-31591)
Brandt Bucher [Mon, 28 Feb 2022 11:54:14 +0000 (03:54 -0800)] 
bpo-46841: Use inline caching for `UNPACK_SEQUENCE` (GH-31591)

3 years agobpo-46541: Remove unneeded visits from sqlite3 (GH-31609)
Erlend Egeberg Aasland [Mon, 28 Feb 2022 09:07:40 +0000 (10:07 +0100)] 
bpo-46541: Remove unneeded visits from sqlite3 (GH-31609)

3 years agobpo-46541: Remove unnecessary Py_VISIT (GH-31608)
Dong-hee Na [Mon, 28 Feb 2022 07:06:58 +0000 (16:06 +0900)] 
bpo-46541: Remove unnecessary Py_VISIT (GH-31608)

3 years agobpo-46786: Make ElementTree write the HTML tags embed, source, track, wbr as empty...
Jannis Vajen [Sun, 27 Feb 2022 14:25:54 +0000 (15:25 +0100)] 
bpo-46786: Make ElementTree write the HTML tags embed, source, track, wbr as empty tags (GH-31406)

See https://html.spec.whatwg.org/multipage/syntax.html#void-elements
for reference.

3 years agobpo-46852: Restore test_getformat() test (GH-31601)
Victor Stinner [Sun, 27 Feb 2022 00:12:33 +0000 (01:12 +0100)] 
bpo-46852: Restore test_getformat() test (GH-31601)

3 years agobpo-46857: Fix refleak in OSError INIT_ALIAS() (GH-31594)
Victor Stinner [Sat, 26 Feb 2022 23:28:24 +0000 (00:28 +0100)] 
bpo-46857: Fix refleak in OSError INIT_ALIAS() (GH-31594)

_Py_GetRefTotal() no longer decrements _PySet_Dummy refcount.

3 years agobpo-46748: Fix ctypes test_frozentable() (GH-31600)
Kumar Aditya [Sat, 26 Feb 2022 23:25:46 +0000 (04:55 +0530)] 
bpo-46748: Fix ctypes test_frozentable() (GH-31600)

3 years agobpo-46606: os.getgroups() doesn't overallocate (GH-31569)
Victor Stinner [Sat, 26 Feb 2022 23:14:28 +0000 (00:14 +0100)] 
bpo-46606: os.getgroups() doesn't overallocate (GH-31569)

3 years ago[doc] Add a note in howto/logging.rst about "do not log to root logger in libraries...
Yuxin Wu [Sat, 26 Feb 2022 18:29:51 +0000 (10:29 -0800)] 
[doc] Add a note in howto/logging.rst about "do not log to root logger in libraries" (GH-31271)

3 years agoPropagate errors (however unlikely) from _Py_Deepfreeze_Init() (GH-31596)
Kumar Aditya [Sat, 26 Feb 2022 16:35:03 +0000 (22:05 +0530)] 
Propagate errors (however unlikely) from _Py_Deepfreeze_Init() (GH-31596)

3 years agoTaskgroup tweaks (GH-31559)
Tin Tvrtković [Sat, 26 Feb 2022 16:18:48 +0000 (17:18 +0100)] 
Taskgroup tweaks (GH-31559)

Now uses .cancel()/.uncancel(), for even fewer broken edge cases.

3 years agobpo-44011: Document ssl_shutdown_timeout added by revisited asyncio SSL implementatio...
Kumar Aditya [Sat, 26 Feb 2022 13:06:43 +0000 (18:36 +0530)] 
bpo-44011: Document ssl_shutdown_timeout added by revisited asyncio SSL implementation  (GH-31597)

3 years agobpo-38415: Remove redundant AsyncContextDecorator.__call__ override from _AsyncGenera...
Thomas Grainger [Sat, 26 Feb 2022 12:05:20 +0000 (12:05 +0000)] 
bpo-38415: Remove redundant AsyncContextDecorator.__call__ override from _AsyncGeneratorContextManager (GH-30233)

3 years agobpo-45735: Promise the long-time truth that `args=list` works (GH-30982)
Charlie Zhao [Sat, 26 Feb 2022 04:17:13 +0000 (12:17 +0800)] 
bpo-45735: Promise the long-time truth that `args=list` works (GH-30982)

For threads, and for multiprocessing, it's always been the case that ``args=list`` works fine when passed to ``Process()`` or ``Thread()``, and such code is common in the wild. But, according to the docs, only a tuple can be used. This brings the docs into synch with reality.

Doc changes by Charlie Zhao.
Co-authored-by: Tim Peters <tim.peters@gmail.com>
3 years agobpo-46852: Remove the float.__set_format__() method (GH-31585)
Victor Stinner [Fri, 25 Feb 2022 23:53:27 +0000 (00:53 +0100)] 
bpo-46852: Remove the float.__set_format__() method (GH-31585)

Remove the undocumented private float.__set_format__() method,
previously known as float.__set_format__() in Python 3.7. Its
docstring said: "You probably don't want to use this function. It
exists mainly to be used in Python's test suite."

3 years agobpo-46816: Remove declarations for non-__STDC__ compilers (GH-31466)
Oleg Iarygin [Fri, 25 Feb 2022 23:16:59 +0000 (02:16 +0300)] 
bpo-46816: Remove declarations for non-__STDC__ compilers (GH-31466)

After Python switched to C11, there is a guarantee that every compiler
conforms to ISO C so checks of __STDC__ have no sense.

3 years agobpo-46712: Share global string identifiers in deepfreeze (GH-31261)
Kumar Aditya [Fri, 25 Feb 2022 18:05:24 +0000 (23:35 +0530)] 
bpo-46712: Share global string identifiers in deepfreeze (GH-31261)

Where appropriate, deepfreeze.c now uses `&_Py_ID(blah)` references instead of locally defining constants. This saves some space.

3 years agobpo-46857: Fix test_embed.test_no_memleak() on Windows (GH-31589)
Victor Stinner [Fri, 25 Feb 2022 17:24:25 +0000 (18:24 +0100)] 
bpo-46857: Fix test_embed.test_no_memleak() on Windows (GH-31589)

Tolerate a leak of 1 reference and 1 memory block until it's fixed.

3 years agobpo-26897: Clarify Popen stdin, stdout, stderr file object docs (GH-30231)
Kumar Aditya [Fri, 25 Feb 2022 16:41:19 +0000 (22:11 +0530)] 
bpo-26897: Clarify Popen stdin, stdout, stderr file object docs (GH-30231)

3 years agobpo-46836: Rename InterpreterFrame to _PyInterpreterFrame (GH-31583)
Victor Stinner [Fri, 25 Feb 2022 15:22:00 +0000 (16:22 +0100)] 
bpo-46836: Rename InterpreterFrame to _PyInterpreterFrame (GH-31583)

Rename also struct _interpreter_frame to struct _PyInterpreterFrame.

Reduce risk of name conflicts if a project includes pycore_frame.h.

3 years agobpo-45316: Move _PyArg_Fini() to internal C API (GH-31580)
Victor Stinner [Fri, 25 Feb 2022 15:19:30 +0000 (16:19 +0100)] 
bpo-45316: Move _PyArg_Fini() to internal C API (GH-31580)

Move the private unexported _PyArg_Fini() function to the internal C
API: to the pycore_pylifecycle.h header file.

3 years agobpo-45316: Move private functions to internal C API (GH-31579)
Victor Stinner [Fri, 25 Feb 2022 15:07:14 +0000 (16:07 +0100)] 
bpo-45316: Move private functions to internal C API (GH-31579)

Move the unexported private functions to the internal C API:

* pycore_frame.h: _PyFrame_New_NoTrack()
* pycore_function.h: _PyFunction_GetVersionForCurrentState()
* pycore_genobject.h: _PyAsyncGenValueWrapperNew()
* pycore_genobject.h: _PyCoro_GetAwaitableIter()
* pycore_genobject.h: _PyGen_yf()

3 years agoUpdate dict/OrderedDict differences with code equivalents. (GH-31563)
Raymond Hettinger [Fri, 25 Feb 2022 14:49:53 +0000 (08:49 -0600)] 
Update dict/OrderedDict differences with code equivalents. (GH-31563)

3 years agobpo-45316: Move private PyDict functions to internal C API (GH-31577)
Victor Stinner [Fri, 25 Feb 2022 14:41:55 +0000 (15:41 +0100)] 
bpo-45316: Move private PyDict functions to internal C API (GH-31577)

Move the following private unexported functions to the internal C API
headers:

* _PyDictKeys_GetVersionForCurrentState()
* _PyDictKeys_StringLookup()
* _PyDict_FromKeys()
* _PyDict_GetItemHint()
* _PyDict_KeysSize()
* _PyDict_LoadGlobal()
* _PyDict_NewKeysForClass()
* _PyDict_Pop_KnownHash()
* _PyDict_SetItem_Take2()
* _PyObjectDict_SetItem()
* _PyObject_MakeDictFromInstanceAttributes()
* _Py_dict_lookup()

3 years agobpo-45316: Move private PyCode C API to internal C API (GH-31576)
Victor Stinner [Fri, 25 Feb 2022 14:41:32 +0000 (15:41 +0100)] 
bpo-45316: Move private PyCode C API to internal C API (GH-31576)

Rename private functions (no exported), add an underscore prefix:

* PyLineTable_InitAddressRange() => _PyLineTable_InitAddressRange()
* PyLineTable_NextAddressRange() => _PyLineTable_NextAddressRange()
* PyLineTable_PreviousAddressRange() => _PyLineTable_PreviousAddressRange()

Move private functions to the internal C API:

* _PyCode_Addr2EndLine()
* _PyCode_Addr2EndOffset()
* _PyCode_Addr2Offset()
* _PyCode_InitAddressRange()
* _PyCode_InitEndAddressRange(
* _PyLineTable_InitAddressRange()
* _PyLineTable_NextAddressRange()
* _PyLineTable_PreviousAddressRange()

No longer export the following internal functions:

* _PyCode_GetVarnames()
* _PyCode_GetCellvars()
* _PyCode_GetFreevars()
* _Py_GetSpecializationStats()

Add "extern" to pycore_code.h functions to identify them more easiliy
(they are still not exported).

3 years agobpo-46808: remove NEXT_BLOCK() from compile.c (GH-31448)
Irit Katriel [Fri, 25 Feb 2022 12:17:50 +0000 (12:17 +0000)] 
bpo-46808: remove NEXT_BLOCK() from compile.c (GH-31448)

3 years agobpo-46841: Use *inline* caching for `BINARY_OP` (GH-31543)
Brandt Bucher [Fri, 25 Feb 2022 12:11:34 +0000 (04:11 -0800)] 
bpo-46841: Use *inline* caching for `BINARY_OP` (GH-31543)

3 years agobpo-46836: Move PyFrameObject to pycore_frame.h (GH-31530)
Victor Stinner [Fri, 25 Feb 2022 11:53:19 +0000 (12:53 +0100)] 
bpo-46836: Move PyFrameObject to pycore_frame.h (GH-31530)

Move the PyFrameObject type definition (struct _frame) to the
internal C API pycore_frame.h header file.

3 years agobpo-1635741: Fix winreg reference leaks (GH-31560)
Victor Stinner [Fri, 25 Feb 2022 11:34:00 +0000 (12:34 +0100)] 
bpo-1635741: Fix winreg reference leaks (GH-31560)

Clear also the PyHKEY_Type static type at exit.

3 years agobpo-46756: Fix authorization check in urllib.request (GH-31353)
Serhiy Storchaka [Fri, 25 Feb 2022 11:31:03 +0000 (13:31 +0200)] 
bpo-46756: Fix authorization check in urllib.request (GH-31353)

Fix a bug in urllib.request.HTTPPasswordMgr.find_user_password() and
urllib.request.HTTPPasswordMgrWithPriorAuth.is_authenticated() which
allowed to bypass authorization. For example, access to URI "example.org/foobar"
was allowed if the user was authorized for URI "example.org/foo".

3 years agobpo-34429: Noted TemporaryFile behavior on non-Posix/non-Cygwin systems (GH-31547)
slateny [Fri, 25 Feb 2022 11:07:52 +0000 (03:07 -0800)] 
bpo-34429: Noted TemporaryFile behavior on non-Posix/non-Cygwin systems (GH-31547)

3 years agobpo-46748: Don't import <stdbool.h> in public headers (GH-31553)
Petr Viktorin [Fri, 25 Feb 2022 08:25:54 +0000 (09:25 +0100)] 
bpo-46748: Don't import <stdbool.h> in public headers (GH-31553)

<stdbool.h> is the standard/modern way to define embedd/extends Python free to define bool, true and false, but there are existing applications that use slightly different redefinitions, which fail if the header is included.

It's OK to use stdbool outside the public headers, though.

https://bugs.python.org/issue46748

3 years agobpo-46820: Refactor tests for ambiguous end of numerical literal (GH-31494)
Serhiy Storchaka [Fri, 25 Feb 2022 08:25:12 +0000 (10:25 +0200)] 
bpo-46820: Refactor tests for ambiguous end of numerical literal (GH-31494)

3 years agobpo-46606: Remove redundant +1. (GH-31561)
Inada Naoki [Fri, 25 Feb 2022 05:13:14 +0000 (14:13 +0900)] 
bpo-46606: Remove redundant +1. (GH-31561)

3 years agobpo-46852: Rename float.__set_format__() to float.__setformat__() (GH-31558)
Victor Stinner [Fri, 25 Feb 2022 02:05:25 +0000 (03:05 +0100)] 
bpo-46852: Rename float.__set_format__() to float.__setformat__() (GH-31558)

Rename the private undocumented float.__set_format__() method to
float.__setformat__() to fix a typo introduced in Python 3.7. The
method is only used by test_float.

The change enables again test_float tests on the float format which
were previously skipped because of the typo.

The typo was introduced in Python 3.7 by bpo-20185
in commit b5c51d3dd95bbfde533655fb86ac0f96f771ba7b.

3 years agobpo-46656: Remove Py_NO_NAN macro (GH-31160)
Victor Stinner [Fri, 25 Feb 2022 00:32:57 +0000 (01:32 +0100)] 
bpo-46656: Remove Py_NO_NAN macro (GH-31160)

Building Python now requires support for floating point Not-a-Number
(NaN): remove the Py_NO_NAN macro.