]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
4 years agobpo-44860: Update test_sysconfig for posix_user platlib (GH-28235)
Victor Stinner [Thu, 9 Sep 2021 09:02:48 +0000 (11:02 +0200)] 
bpo-44860: Update test_sysconfig for posix_user platlib (GH-28235)

Update test_sysconfig.test_user_similar() for the posix_user scheme:
"platlib" doesn't use sys.platlibdir.

4 years agoSpecify default order in memoryview.tobytes() docs (GH-27936)
andrei kulakov [Thu, 9 Sep 2021 08:30:56 +0000 (04:30 -0400)] 
Specify default order in memoryview.tobytes() docs (GH-27936)

4 years agoFix small mistake in fileinput documentation (GH-28241)
Jean-Abou-Samra [Thu, 9 Sep 2021 08:01:10 +0000 (10:01 +0200)] 
Fix small mistake in fileinput documentation (GH-28241)

4 years agobpo-20499: Rounding error in statistics.pvariance (GH-28230)
Raymond Hettinger [Thu, 9 Sep 2021 03:00:12 +0000 (22:00 -0500)] 
bpo-20499: Rounding error in statistics.pvariance (GH-28230)

4 years agobpo-38371: Remove deprecated `tkinter` split() method (GH-28237)
Erlend Egeberg Aasland [Wed, 8 Sep 2021 20:02:19 +0000 (22:02 +0200)] 
bpo-38371: Remove deprecated `tkinter` split() method (GH-28237)

4 years agobpo-44340: Update whatsnews for ThinLTO (GH-28229)
Dong-hee Na [Wed, 8 Sep 2021 17:29:33 +0000 (17:29 +0000)] 
bpo-44340: Update whatsnews for ThinLTO (GH-28229)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-45129 Remove deprecated reuse_address (GH-28207)
Hugo van Kemenade [Wed, 8 Sep 2021 16:58:43 +0000 (19:58 +0300)] 
bpo-45129 Remove deprecated reuse_address (GH-28207)

Due to significant security concerns, the reuse_address parameter of
asyncio.loop.create_datagram_endpoint, deprecated in Python 3.9, is
now removed. This is because of the behavior of the socket option
SO_REUSEADDR in UDP.

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-19113: Remove unused test_errors from ctypes tests (GH-28008)
andrei kulakov [Wed, 8 Sep 2021 15:28:32 +0000 (11:28 -0400)] 
bpo-19113: Remove unused test_errors from ctypes tests (GH-28008)

This test was forever shadowed by another test method named `test_errors`.

4 years agobpo-44959: Add fallback to extension modules with '.sl' suffix on HP-UX (GH-27857)
Florin Spătar [Wed, 8 Sep 2021 12:43:00 +0000 (15:43 +0300)] 
bpo-44959: Add fallback to extension modules with '.sl' suffix on HP-UX (GH-27857)

4 years agobpo-45121: Fix RecursionError when calling Protocol.__init__ from a subclass' __init_...
Yurii Karabas [Wed, 8 Sep 2021 10:25:09 +0000 (13:25 +0300)] 
bpo-45121: Fix RecursionError when calling Protocol.__init__ from a subclass' __init__ (GH-28206)

4 years agobpo-45132 Remove deprecated __getitem__ methods (GH-28225)
Hugo van Kemenade [Wed, 8 Sep 2021 10:07:40 +0000 (13:07 +0300)] 
bpo-45132 Remove deprecated __getitem__ methods (GH-28225)

Remove deprecated __getitem__ methods of xml.dom.pulldom.DOMEventStream,
wsgiref.util.FileWrapper and fileinput.FileInput, deprecated since Python 3.9.

4 years agobpo-39573: Py_TYPE becomes a static inline function (GH-28128)
Victor Stinner [Wed, 8 Sep 2021 09:59:13 +0000 (11:59 +0200)] 
bpo-39573: Py_TYPE becomes a static inline function (GH-28128)

Convert the Py_TYPE() and Py_SIZE() macros to static inline
functions. The Py_SET_TYPE() and Py_SET_SIZE() functions must now be
used to set an object type and size.

4 years agobpo-45022: Fix libffi DLL name in Windows installer sources (GH-28203)
giovanniwijaya [Tue, 7 Sep 2021 19:18:32 +0000 (03:18 +0800)] 
bpo-45022: Fix libffi DLL name in Windows installer sources (GH-28203)

4 years agobpo-24888: Clarify subprocess.check_call propagates exceptions if unable to start...
DonnaDia [Tue, 7 Sep 2021 18:16:44 +0000 (21:16 +0300)] 
bpo-24888: Clarify subprocess.check_call propagates exceptions if unable to start process (GH-28018)

4 years agoRemove documentation for non-existing socket class attributes (GH-28029)
Matti Picus [Tue, 7 Sep 2021 18:09:11 +0000 (21:09 +0300)] 
Remove documentation for non-existing socket class attributes (GH-28029)

The functions in question are available on the module-level only.

4 years agobpo-45012: Release GIL around stat in os.scandir (GH-28085)
Stanisław Skonieczny [Tue, 7 Sep 2021 17:55:20 +0000 (19:55 +0200)] 
bpo-45012: Release GIL around stat in os.scandir (GH-28085)

Releasing GIL allows other threads to continue
its work when os.scandir is fetching DirEntry.stat
info from file system.

4 years agoAdd more itertool recipes (GH-28165)
Raymond Hettinger [Tue, 7 Sep 2021 17:29:00 +0000 (12:29 -0500)] 
Add more itertool recipes (GH-28165)

4 years agobpo-38820: Test with OpenSSL 3.0.0 final (GH-28205)
Christian Heimes [Tue, 7 Sep 2021 17:04:55 +0000 (20:04 +0300)] 
bpo-38820: Test with OpenSSL 3.0.0 final (GH-28205)

Signed-off-by: Christian Heimes <christian@python.org>
4 years agobpo-45118: Fix regrtest second summary for re-run tests (GH-28183)
Victor Stinner [Tue, 7 Sep 2021 16:21:00 +0000 (18:21 +0200)] 
bpo-45118: Fix regrtest second summary for re-run tests (GH-28183)

Fix regrtest second summary when using -w/--verbose2 command line
option: lists re-run tests in the second test summary.

4 years agobpo-45104: Clarify when __init__ is called (GH-28210)
Raymond Hettinger [Tue, 7 Sep 2021 16:04:39 +0000 (11:04 -0500)] 
bpo-45104: Clarify when __init__ is called (GH-28210)

4 years agobpo-44348: BaseException deallocator uses trashcan (GH-28190)
Victor Stinner [Tue, 7 Sep 2021 13:42:11 +0000 (15:42 +0200)] 
bpo-44348: BaseException deallocator uses trashcan (GH-28190)

The deallocator function of the BaseException type now uses the
trashcan mecanism to prevent stack overflow. For example, when a
RecursionError instance is raised, it can be linked to another
RecursionError through the __context__ attribute or the __traceback__
attribute, and then a chain of exceptions is created. When the chain
is destroyed, nested deallocator function calls can crash with a
stack overflow if the chain is too long compared to the available
stack memory.

4 years agobpo-42064: Pass module state to trace, progress, and authorizer callbacks (GH-27940)
Erlend Egeberg Aasland [Tue, 7 Sep 2021 13:06:17 +0000 (15:06 +0200)] 
bpo-42064: Pass module state to trace, progress, and authorizer callbacks (GH-27940)

- add print-or-clear traceback helper
- add helpers to clear and visit saved contexts
- modify callbacks to use the new callback_context struct

4 years agobpo-45034: Fix how upper limit is formatted for `struct.pack("H", ...)` (GH-28178)
Nikita Sobolev [Tue, 7 Sep 2021 12:18:46 +0000 (15:18 +0300)] 
bpo-45034: Fix how upper limit is formatted for `struct.pack("H", ...)` (GH-28178)

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
4 years agoRevert "bpo-45035: Make sysconfig posix_home depend on platlibdir (GH-28011)" (GH...
Pablo Galindo Salgado [Tue, 7 Sep 2021 11:46:25 +0000 (12:46 +0100)] 
Revert "bpo-45035: Make sysconfig posix_home depend on platlibdir (GH-28011)" (GH-28201)

This reverts commit 4f88161f07538dfb24a43189fd59bf966cb40817.

4 years agobpo-44991: Normalise `sqlite3` callback naming (GH-28088)
Erlend Egeberg Aasland [Tue, 7 Sep 2021 11:43:44 +0000 (13:43 +0200)] 
bpo-44991: Normalise `sqlite3` callback naming (GH-28088)

- all callbacks are now named xxx_callback
- normalise callable naming in set_*() functions
- normalise context argument naming in callbacks

The sqlite code is being "touched" in bpo-42064 (and related issues);
this style change makes it easier to work with and review.

4 years agobpo-44964: Add a note explaining the new semantics of f_last_i in frame objects ...
Pablo Galindo Salgado [Tue, 7 Sep 2021 11:18:54 +0000 (12:18 +0100)] 
bpo-44964: Add a note explaining the new semantics of f_last_i in frame objects (GH-28200)

4 years agobpo-45123: PyAiter_Check and PyObject_GetAiter fix & rename. (GH-28194)
Yury Selivanov [Tue, 7 Sep 2021 10:52:30 +0000 (03:52 -0700)] 
bpo-45123: PyAiter_Check and PyObject_GetAiter fix & rename. (GH-28194)

Fix PyAiter_Check to only check for the `__anext__` presense (not for
`__aiter__`). Rename `PyAiter_Check()` to `PyAIter_Check()`,
`PyObject_GetAiter()` -> `PyObject_GetAIter()`.

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
4 years agobpo-45124: Remove the bdist_msi command (GH-28195)
Hugo van Kemenade [Tue, 7 Sep 2021 10:34:27 +0000 (13:34 +0300)] 
bpo-45124: Remove the bdist_msi command (GH-28195)

The bdist_msi command, deprecated in Python 3.9, is now removed.
Use bdist_wheel (wheel packages) instead.

4 years agobpo-44963: Implement send() and throw() methods for anext_awaitable objects (GH-27955)
Pablo Galindo Salgado [Tue, 7 Sep 2021 10:30:14 +0000 (11:30 +0100)] 
bpo-44963: Implement send() and throw() methods for anext_awaitable objects (GH-27955)

Co-authored-by: Yury Selivanov <yury@edgedb.com>
4 years agobpo-45035: Make sysconfig posix_home depend on platlibdir (GH-28011)
Tzu-ping Chung [Tue, 7 Sep 2021 10:27:48 +0000 (18:27 +0800)] 
bpo-45035: Make sysconfig posix_home depend on platlibdir (GH-28011)

4 years agoMake sysconfig posix_user not depend on platlibdir (GH-27655)
Tzu-ping Chung [Tue, 7 Sep 2021 09:26:42 +0000 (17:26 +0800)] 
Make sysconfig posix_user not depend on platlibdir (GH-27655)

4 years agoUpdate idlelib/help.html to include idle.rst spelling fix (GH-28191)
Terry Jan Reedy [Tue, 7 Sep 2021 04:04:54 +0000 (00:04 -0400)] 
Update idlelib/help.html to include idle.rst spelling fix (GH-28191)

The idle.rst fix was GH-27903 two weeks ago.

4 years agobpo-34561: Switch to Munro & Wild "powersort" merge strategy. (#28108)
Tim Peters [Mon, 6 Sep 2021 17:54:41 +0000 (12:54 -0500)] 
bpo-34561: Switch to Munro & Wild "powersort" merge strategy. (#28108)

For list.sort(), replace our ad hoc merge ordering strategy with the principled, elegant,
and provably near-optimal one from Munro and Wild's "powersort".

4 years agobpo-45052: Unskips a failing `test_shared_memory_basics` test (GH-28182)
Nikita Sobolev [Mon, 6 Sep 2021 16:55:34 +0000 (19:55 +0300)] 
bpo-45052: Unskips a failing `test_shared_memory_basics` test (GH-28182)

4 years agobpo-42238: [doc] remove unused, and deduplicate, suspicious ignore rules. (GH-28137)
Julien Palard [Mon, 6 Sep 2021 06:50:48 +0000 (08:50 +0200)] 
bpo-42238: [doc] remove unused, and deduplicate, suspicious ignore rules. (GH-28137)

4 years agobpo-44848: Update macOS installer to use SQLite 3.36.0 (GH-27621)
Erlend Egeberg Aasland [Sun, 5 Sep 2021 19:54:39 +0000 (21:54 +0200)] 
bpo-44848: Update macOS installer to use SQLite 3.36.0 (GH-27621)

4 years agoMore useful OrderedDict LRU recipes (GH-28164)
Raymond Hettinger [Sun, 5 Sep 2021 17:37:02 +0000 (12:37 -0500)] 
More useful OrderedDict LRU recipes (GH-28164)

4 years agobpo-41031: Match C and Python code formatting of unprintable exceptions and exception...
Irit Katriel [Sun, 5 Sep 2021 15:54:13 +0000 (16:54 +0100)] 
bpo-41031: Match C and Python code formatting of unprintable exceptions and exceptions in the __main__ module. (GH-28139)

4 years agoExtract visitors from the grammar nodes and call makers in the peg generator (GH...
Pablo Galindo Salgado [Sun, 5 Sep 2021 13:58:52 +0000 (14:58 +0100)] 
Extract visitors from the grammar nodes and call makers in the peg generator (GH-28172)

Simplify the peg generator logic by extracting as much visitors as possible to disentangle the flow and separate concerns.

4 years agobpo-45102: unittest: add tests for skipping and errors in cleanup (GH-28166)
Serhiy Storchaka [Sun, 5 Sep 2021 07:34:14 +0000 (10:34 +0300)] 
bpo-45102: unittest: add tests for skipping and errors in cleanup (GH-28166)

4 years agobpo-44571: Add itertool recipe for a variant of takewhile() (GH-28167)
Raymond Hettinger [Sun, 5 Sep 2021 05:09:26 +0000 (00:09 -0500)] 
bpo-44571:  Add itertool recipe for a variant of takewhile() (GH-28167)

4 years agoRemove unused macros from Modules/_sqlite/microprotocols.h (GH-28171)
Erlend Egeberg Aasland [Sun, 5 Sep 2021 03:59:30 +0000 (05:59 +0200)] 
Remove unused macros from Modules/_sqlite/microprotocols.h (GH-28171)

4 years agobpo-45042: Now test classes decorated with `requires_hashdigest` are not skipped...
Nikita Sobolev [Sat, 4 Sep 2021 20:42:36 +0000 (23:42 +0300)] 
bpo-45042: Now test classes decorated with `requires_hashdigest` are not skipped (GH-28060)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
4 years agoAdd What's New for dataclass keyword-only parameters. (GH-28158)
Eric V. Smith [Sat, 4 Sep 2021 18:58:17 +0000 (14:58 -0400)] 
Add What's New for dataclass keyword-only parameters. (GH-28158)

4 years agobpo-45030: Fix integer overflow in __reduce__ of the range iterator (GH-28000)
Serhiy Storchaka [Sat, 4 Sep 2021 18:02:21 +0000 (21:02 +0300)] 
bpo-45030: Fix integer overflow in __reduce__ of the range iterator (GH-28000)

It happened with fast range iterator  when the calculated stop = start + step * len
was out of the C long range.

4 years agobpo-45097: Add more tests for shutdown_asyncgens() (GH-28154)
Serhiy Storchaka [Sat, 4 Sep 2021 17:55:20 +0000 (20:55 +0300)] 
bpo-45097: Add more tests for shutdown_asyncgens() (GH-28154)

4 years agoCheck that 'configure' is generated by GNU Autoconf 2.69 (GH-28152)
Pablo Galindo Salgado [Sat, 4 Sep 2021 14:20:38 +0000 (15:20 +0100)] 
Check that 'configure' is generated by GNU Autoconf 2.69 (GH-28152)

4 years agoHandle different string hash algorithms correctly (#28147)
Brandt Bucher [Sat, 4 Sep 2021 14:14:27 +0000 (07:14 -0700)] 
Handle different string hash algorithms correctly (#28147)

4 years agobpo-45075: distinguish between frame and FrameSummary in traceback mo… (GH-28112)
Irit Katriel [Fri, 3 Sep 2021 21:39:23 +0000 (22:39 +0100)] 
bpo-45075: distinguish between frame and FrameSummary in traceback mo… (GH-28112)

4 years agobpo-45022: Update libffi to 3.4.2 in Windows build (GH-28146)
Steve Dower [Fri, 3 Sep 2021 18:37:31 +0000 (19:37 +0100)] 
bpo-45022: Update libffi to 3.4.2 in Windows build (GH-28146)

4 years agobpo-42255: Deprecate webbrowser.MacOSX from Python 3.11 (GH-27837)
Dong-hee Na [Fri, 3 Sep 2021 16:21:03 +0000 (16:21 +0000)] 
bpo-42255: Deprecate webbrowser.MacOSX from Python 3.11 (GH-27837)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-43950: support positions for dis.Instructions created through dis.Bytecode (GH...
Batuhan Taskaya [Fri, 3 Sep 2021 15:29:09 +0000 (18:29 +0300)] 
bpo-43950: support positions for dis.Instructions created through dis.Bytecode (GH-28142)

4 years agobpo-45094: Add Py_NO_INLINE macro (GH-28140)
Victor Stinner [Fri, 3 Sep 2021 14:44:02 +0000 (16:44 +0200)] 
bpo-45094: Add Py_NO_INLINE macro (GH-28140)

* Rename _Py_NO_INLINE macro to Py_NO_INLINE: make it public and
  document it.
* Sort macros in the C API documentation.

4 years agobpo-34602: Quadruple stack size on macOS when compiling with UBSAN (GH-27309)
Łukasz Langa [Fri, 3 Sep 2021 07:32:19 +0000 (09:32 +0200)] 
bpo-34602: Quadruple stack size on macOS when compiling with UBSAN (GH-27309)

4 years agobpo-45083: Include the exception class qualname when formatting an exception (GH...
Irit Katriel [Fri, 3 Sep 2021 07:30:17 +0000 (08:30 +0100)] 
bpo-45083: Include the exception class qualname when formatting an exception (GH-28119)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
4 years agobpo-45082: Cleanup ctypes.c_buffer alias (GH-28129)
Victor Stinner [Thu, 2 Sep 2021 17:02:03 +0000 (19:02 +0200)] 
bpo-45082: Cleanup ctypes.c_buffer alias (GH-28129)

* Remove commented deprecation of ctypes.c_buffer.
* Remove references to ctypes.c_string which doesn't exist.
* Remove StringTestCase: it only had skipped test methods.

4 years agobpo-45081: Fix __init__ method generation when inheriting from Protocol (GH-28121)
Yurii Karabas [Thu, 2 Sep 2021 16:17:13 +0000 (19:17 +0300)] 
bpo-45081: Fix __init__ method generation when inheriting from Protocol (GH-28121)

Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
4 years ago[doc] Reword sentinel object summary in dataclasses (GH-27792)
Ville Korhonen [Thu, 2 Sep 2021 16:03:22 +0000 (16:03 +0000)] 
[doc] Reword sentinel object summary in dataclasses (GH-27792)

This sentinel value (`MISSING`) is also used as default value for the `kw_only` parameter introduced in Python 3.10. It's cleaner to simply omit the usage here.

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-40360: [doc] Rephrase deprecation note about lib2to3 (GH-28122)
Łukasz Langa [Thu, 2 Sep 2021 15:12:49 +0000 (17:12 +0200)] 
bpo-40360: [doc] Rephrase deprecation note about lib2to3 (GH-28122)

4 years agobpo-43613: Faster implementation of gzip.compress and gzip.decompress (GH-27941)
Ruben Vorderman [Thu, 2 Sep 2021 15:02:59 +0000 (17:02 +0200)] 
bpo-43613: Faster implementation of gzip.compress and gzip.decompress (GH-27941)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years ago[doc] Link to deprecation policy PEP from the DeprecationWarning documentation (GH...
Łukasz Langa [Thu, 2 Sep 2021 14:44:50 +0000 (16:44 +0200)] 
[doc] Link to deprecation policy PEP from the DeprecationWarning documentation (GH-28123)

4 years agobpo-45056: Remove trailing unused constants from co_consts (GH-28109)
Inada Naoki [Thu, 2 Sep 2021 11:02:06 +0000 (20:02 +0900)] 
bpo-45056: Remove trailing unused constants from co_consts (GH-28109)

4 years agobpo-37330: open() no longer accept 'U' in file mode (GH-28118)
Victor Stinner [Thu, 2 Sep 2021 10:58:00 +0000 (12:58 +0200)] 
bpo-37330: open() no longer accept 'U' in file mode (GH-28118)

open(), io.open(), codecs.open() and fileinput.FileInput no longer
accept "U" ("universal newline") in the file mode. This flag was
deprecated since Python 3.3.

4 years agobpo-45085: Remove the binhex module (GH-28117)
Victor Stinner [Thu, 2 Sep 2021 10:10:08 +0000 (12:10 +0200)] 
bpo-45085: Remove the binhex module (GH-28117)

The binhex module, deprecated in Python 3.9, is now removed. The
following binascii functions, deprecated in Python 3.9, are now also
removed:

* a2b_hqx(), b2a_hqx();
* rlecode_hqx(), rledecode_hqx().

The binascii.crc_hqx() function remains available.

4 years agobpo-40360: Deprecate the lib2to3 package (GH-28116)
Victor Stinner [Thu, 2 Sep 2021 09:46:47 +0000 (11:46 +0200)] 
bpo-40360: Deprecate the lib2to3 package (GH-28116)

4 years agobpo-44895: libregrtest: refleak check clears types later (GH-28113)
Victor Stinner [Wed, 1 Sep 2021 15:45:27 +0000 (17:45 +0200)] 
bpo-44895: libregrtest: refleak check clears types later (GH-28113)

libregrtest now clears the type cache later to reduce the risk of
false alarm when checking for reference leaks. Previously, the type
cache was cleared too early and libregrtest raised a false alarm
about reference leaks under very specific conditions.

Move also support.gc_collect() outside clear/cleanup functions to
make the garbage collection more explicit.

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
4 years agobpo-31299: make it possible to filter out frames from tracebacks (GH-28067)
Irit Katriel [Tue, 31 Aug 2021 20:42:08 +0000 (21:42 +0100)] 
bpo-31299: make it possible to filter out frames from tracebacks (GH-28067)

4 years agobpo-45059: Add module cleanup to IDLE test_macosx (GH-28102)
Terry Jan Reedy [Tue, 31 Aug 2021 18:59:35 +0000 (14:59 -0400)] 
bpo-45059: Add module cleanup to IDLE test_macosx (GH-28102)

4 years agobpo-45057: Simplify RegressionTestResult (GH-28081)
Serhiy Storchaka [Tue, 31 Aug 2021 17:45:09 +0000 (20:45 +0300)] 
bpo-45057: Simplify RegressionTestResult (GH-28081)

Remove code which duplicates the functionality of TextTestResult.

4 years agobpo-45039: Consistently use ADDOP_LOAD_CONST in compiler rather than ADDOP_O(c, LOAD_...
Irit Katriel [Tue, 31 Aug 2021 17:41:20 +0000 (18:41 +0100)] 
bpo-45039: Consistently use ADDOP_LOAD_CONST in compiler rather than ADDOP_O(c, LOAD_CONST,...) (GH-28015)

4 years agobpo-45059: Fix IDLE test typo: using "==" instead of "=" (GH-28086)
Serhiy Storchaka [Tue, 31 Aug 2021 17:32:01 +0000 (20:32 +0300)] 
bpo-45059: Fix IDLE test typo: using "==" instead of "=" (GH-28086)

4 years agobpo-37596: Clean up the set/frozenset marshalling code (GH-28068)
Brandt Bucher [Tue, 31 Aug 2021 16:18:33 +0000 (09:18 -0700)] 
bpo-37596: Clean up the set/frozenset marshalling code (GH-28068)

4 years agobpo-45061: Detect Py_DECREF(Py_True) bug (GH-28089)
Victor Stinner [Tue, 31 Aug 2021 16:05:15 +0000 (18:05 +0200)] 
bpo-45061: Detect Py_DECREF(Py_True) bug (GH-28089)

Add a deallocator to the bool type to detect refcount bugs in C
extensions which call Py_DECREF(Py_True) or Py_DECREF(Py_False) by
mistake.

4 years agobpo-44135: [docs] Fix inline markup (GH-28095)
Ken Jin [Tue, 31 Aug 2021 16:01:17 +0000 (00:01 +0800)] 
bpo-44135: [docs] Fix inline markup (GH-28095)

4 years agobpo-45061: Enhance faulthandler traceback wit no Python frame (GH-28090)
Victor Stinner [Tue, 31 Aug 2021 15:34:29 +0000 (17:34 +0200)] 
bpo-45061: Enhance faulthandler traceback wit no Python frame (GH-28090)

Fix indentation of <no Python frame> message in a faulthandler
traceback or a Fatal Python error traceback. Example:

Current thread 0x00007f03896fb740 (most recent call first):
  Garbage-collecting
  <no Python frame>

4 years agobpo-45060: Get rid of few uses of the equality operators with None (GH-28087)
Serhiy Storchaka [Tue, 31 Aug 2021 13:59:52 +0000 (16:59 +0300)] 
bpo-45060: Get rid of few uses of the equality operators with None (GH-28087)

4 years agobpo-44135: Refine explanation of how passing tuples to issubclass() behaves (GH-26193)
Zack Kneupper [Tue, 31 Aug 2021 13:39:19 +0000 (09:39 -0400)] 
bpo-44135: Refine explanation of how passing tuples to issubclass() behaves (GH-26193)

Co-authored-by: Zachary Kneupper <zachary.kneupper@gmail.com>
4 years agobpo-42064: Offset arguments for PyObject_Vectorcall in the _sqlite module (GH-27931)
Petr Viktorin [Tue, 31 Aug 2021 12:34:44 +0000 (14:34 +0200)] 
bpo-42064: Offset arguments for PyObject_Vectorcall in the _sqlite module (GH-27931)

This allows e.g. methods to be called efficiently by providing
space for a "self" argument; see PY_VECTORCALL_ARGUMENTS_OFFSET docs.

4 years agobpo-44991: Make GIL handling more explicit in `sqlite3` callbacks (GH-27934)
Erlend Egeberg Aasland [Tue, 31 Aug 2021 12:18:43 +0000 (14:18 +0200)] 
bpo-44991: Make GIL handling more explicit in `sqlite3` callbacks (GH-27934)

- acquire the GIL at the very start[1]
- release the GIL at the very end

[1] The trace callback performs a sanity check before acquiring the GIL

Automerge-Triggered-By: GH:encukou
4 years agobpo-44925: [docs] Fix confusing deprecation notice for typing.IO (GH-28004)
DonnaDia [Tue, 31 Aug 2021 09:44:27 +0000 (12:44 +0300)] 
bpo-44925: [docs] Fix confusing deprecation notice for typing.IO (GH-28004)

4 years agobpo-39218: Improve accuracy of variance calculation (GH-27960)
Raymond Hettinger [Tue, 31 Aug 2021 01:57:30 +0000 (20:57 -0500)] 
bpo-39218: Improve accuracy of variance calculation (GH-27960)

4 years agobpo-45019: Add a tool to generate list of modules to include for frozen modules ...
Eric Snow [Mon, 30 Aug 2021 23:25:11 +0000 (17:25 -0600)] 
bpo-45019: Add a tool to generate list of modules to include for frozen modules (gh-27980)

Frozen modules must be added to several files in order to work properly. Before this change this had to be done manually. Here we add a tool to generate the relevant lines in those files instead. This helps us avoid mistakes and omissions.

https://bugs.python.org/issue45019

4 years agobpo-44756: Remove misleading NEWS entries of a change that was reverted before releas...
Łukasz Langa [Mon, 30 Aug 2021 21:54:47 +0000 (23:54 +0200)] 
bpo-44756: Remove misleading NEWS entries of a change that was reverted before release (GH-28075)

4 years agobpo-45041: Increase coverage for sqlite3.Cursor.executescript() (GH-28074)
Erlend Egeberg Aasland [Mon, 30 Aug 2021 21:14:27 +0000 (23:14 +0200)] 
bpo-45041: Increase coverage for sqlite3.Cursor.executescript() (GH-28074)

4 years agobpo-16379: expose SQLite error codes and error names in `sqlite3` (GH-27786)
Erlend Egeberg Aasland [Mon, 30 Aug 2021 18:32:21 +0000 (20:32 +0200)] 
bpo-16379: expose SQLite error codes and error names in `sqlite3` (GH-27786)

4 years agobpo-43398: Add test for defect connection factories (GH-27966)
Erlend Egeberg Aasland [Mon, 30 Aug 2021 17:49:34 +0000 (19:49 +0200)] 
bpo-43398: Add test for defect connection factories (GH-27966)

4 years agobpo-43913: Fix bugs in cleaning up classes and modules in unittest. (GH-28006)
Serhiy Storchaka [Mon, 30 Aug 2021 16:25:59 +0000 (19:25 +0300)] 
bpo-43913: Fix bugs in cleaning up classes and modules in unittest. (GH-28006)

* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs.

4 years agobpo-41620: TestCase.run() now always return a TestResult instance (GH-28030)
Serhiy Storchaka [Mon, 30 Aug 2021 13:16:25 +0000 (16:16 +0300)] 
bpo-41620: TestCase.run() now always return a TestResult instance (GH-28030)

Previously it returned None if the test class or method was
decorated with a skipping decorator.

Co-authored-by: Iman Tabrizian <iman.tabrizian@gmail.com>
4 years agobpo-45007: Update multissl to openssl 1.1.1l as well (GH-28044)
Łukasz Langa [Mon, 30 Aug 2021 12:24:51 +0000 (14:24 +0200)] 
bpo-45007: Update multissl to openssl 1.1.1l as well (GH-28044)

This was missed while upgrading CI.

4 years agobpo-45045: Optimize mapping patterns of structural pattern matching (GH-28043)
Dong-hee Na [Mon, 30 Aug 2021 10:02:32 +0000 (10:02 +0000)] 
bpo-45045: Optimize mapping patterns of structural pattern matching (GH-28043)

4 years agobpo 45007: Update macOS installer builds to use OpenSSL 1.1.1l. (GH-28051)
Ned Deily [Mon, 30 Aug 2021 07:10:21 +0000 (03:10 -0400)] 
bpo 45007: Update macOS installer builds to use OpenSSL 1.1.1l. (GH-28051)

4 years agobpo-44689: ctypes.util.find_library() now finds macOS 11+ system libraries when built...
Tobias Bergkvist [Mon, 30 Aug 2021 06:55:47 +0000 (08:55 +0200)] 
bpo-44689: ctypes.util.find_library() now finds macOS 11+ system libraries when built on older macOS systems (#27251)

Previously, when built on older macOS systems, `find_library` was not able to find macOS system libraries when running on Big Sur due to changes in how system libraries are stored.

4 years agobpo-45007: Update to OpenSSL 1.1.1l in Windows build and CI (GH-28009)
Steve Dower [Sun, 29 Aug 2021 14:18:57 +0000 (15:18 +0100)] 
bpo-45007: Update to OpenSSL 1.1.1l in Windows build and CI (GH-28009)

4 years agobpo-43124: Fix smtplib multiple CRLF injection (GH-25987)
Miguel Brito [Sun, 29 Aug 2021 14:10:50 +0000 (15:10 +0100)] 
bpo-43124: Fix smtplib multiple CRLF injection (GH-25987)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-44394: Update libexpat copy to 2.4.1 (GH-26945)
Victor Stinner [Sun, 29 Aug 2021 14:08:24 +0000 (16:08 +0200)] 
bpo-44394: Update libexpat copy to 2.4.1 (GH-26945)

Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the
fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy
is most used on Windows and macOS.

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-42278: Use tempfile.TemporaryDirectory rather than tempfile.mktemp in pydoc ...
E-Paine [Sun, 29 Aug 2021 11:07:51 +0000 (12:07 +0100)] 
bpo-42278: Use tempfile.TemporaryDirectory rather than tempfile.mktemp in pydoc (GH-23200)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005)
Serhiy Storchaka [Sun, 29 Aug 2021 11:04:40 +0000 (14:04 +0300)] 
bpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005)

4 years agobpo-25130: Make SQLite tests more compatible with PyPy (GH-28021)
Serhiy Storchaka [Sun, 29 Aug 2021 10:07:40 +0000 (13:07 +0300)] 
bpo-25130: Make SQLite tests more compatible with PyPy (GH-28021)

4 years agobpo-25130: Make unit-test about restricting the maximum number of nested blocks cpyth...
Carl Friedrich Bolz-Tereick [Sat, 28 Aug 2021 18:33:50 +0000 (20:33 +0200)] 
bpo-25130: Make unit-test about restricting the maximum number of nested blocks cpython-only (GH-28002)

PyPy and potentially other implementations have different or no
contraints on the number of blocks that can be statically nested. move
the test that checks for this behaviour into a unit test and mark it as
CPython-only.

4 years agobpo-44962: Fix a race in WeakKeyDict, WeakValueDict and WeakSet when two threads...
Thomas Grainger [Sat, 28 Aug 2021 17:07:37 +0000 (18:07 +0100)] 
bpo-44962: Fix a race in WeakKeyDict, WeakValueDict and WeakSet when two threads attempt to commit the last pending removal (GH-27921)

Fixes:
Traceback (most recent call last):
  File "/home/graingert/projects/asyncio-demo/demo.py", line 36, in <module>
    sys.exit(main())
  File "/home/graingert/projects/asyncio-demo/demo.py", line 30, in main
    test_all_tasks_threading()
  File "/home/graingert/projects/asyncio-demo/demo.py", line 24, in test_all_tasks_threading
    results.append(f.result())
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 438, in result
    return self.__get_result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 390, in __get_result
    raise self._exception
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.10/asyncio/runners.py", line 47, in run
    _cancel_all_tasks(loop)
  File "/usr/lib/python3.10/asyncio/runners.py", line 56, in _cancel_all_tasks
    to_cancel = tasks.all_tasks(loop)
  File "/usr/lib/python3.10/asyncio/tasks.py", line 53, in all_tasks
    tasks = list(_all_tasks)
  File "/usr/lib/python3.10/_weakrefset.py", line 60, in __iter__
    with _IterationGuard(self):
  File "/usr/lib/python3.10/_weakrefset.py", line 33, in __exit__
    w._commit_removals()
  File "/usr/lib/python3.10/_weakrefset.py", line 57, in _commit_removals
    discard(l.pop())
IndexError: pop from empty list

Also fixes:
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x00007fe76e8d8180; dead>
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x00007fe76e8d81a0; dead>
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x000056548f1e24a0; dead>

See: https://github.com/agronholm/anyio/issues/362#issuecomment-904424310
See also: https://bugs.python.org/issue29519

Co-authored-by: Łukasz Langa <lukasz@langa.pl>