]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
20 months agogh-111140: Minor doc fixes for PyLong_AsNativeBytes (GH-115375)
Steve Dower [Mon, 12 Feb 2024 22:28:36 +0000 (22:28 +0000)] 
gh-111140: Minor doc fixes for PyLong_AsNativeBytes (GH-115375)

20 months agogh-115317: Rewrite changelog filter to use vanilla JavaScript (#115324)
Hugo van Kemenade [Mon, 12 Feb 2024 22:17:33 +0000 (00:17 +0200)] 
gh-115317: Rewrite changelog filter to use vanilla JavaScript (#115324)

Co-authored-by: Tomas R <tomas.roun8@gmail.com>
20 months agogh-115258: Temporarily skip some `queue` tests on all platforms (#115361)
Kirill Podoprigora [Mon, 12 Feb 2024 20:52:25 +0000 (23:52 +0300)] 
gh-115258: Temporarily skip some `queue` tests on all platforms (#115361)

20 months agogh-111140: Adds PyLong_AsNativeBytes and PyLong_FromNative[Unsigned]Bytes functions...
Steve Dower [Mon, 12 Feb 2024 20:13:13 +0000 (20:13 +0000)] 
gh-111140: Adds PyLong_AsNativeBytes and PyLong_FromNative[Unsigned]Bytes functions (GH-114886)

20 months agoRemove stray backtick in NEWS entry (#115356)
Ezio Melotti [Mon, 12 Feb 2024 19:23:45 +0000 (20:23 +0100)] 
Remove stray backtick in NEWS entry (#115356)

20 months agogh-115285: Fix `test_dataclasses` with `-OO` mode (#115286)
Nikita Sobolev [Mon, 12 Feb 2024 18:31:07 +0000 (21:31 +0300)] 
gh-115285: Fix `test_dataclasses` with `-OO` mode (#115286)

20 months agogh-114271: Make `PyInterpreterState.threads.count` thread-safe in free-threaded build...
mpage [Mon, 12 Feb 2024 17:44:00 +0000 (09:44 -0800)] 
gh-114271: Make `PyInterpreterState.threads.count` thread-safe in free-threaded builds (gh-115093)

Use atomics to mutate PyInterpreterState.threads.count.

20 months agogh-110850: Add PyTime_t C API (GH-115215)
Petr Viktorin [Mon, 12 Feb 2024 17:13:10 +0000 (18:13 +0100)] 
gh-110850: Add PyTime_t C API (GH-115215)

* gh-110850: Add PyTime_t C API

Add PyTime_t API:

* PyTime_t type.
* PyTime_MIN and PyTime_MAX constants.
* PyTime_AsSecondsDouble(), PyTime_Monotonic(),
  PyTime_PerfCounter() and PyTime_GetSystemClock() functions.

Co-authored-by: Victor Stinner <vstinner@python.org>
20 months agogh-115049: Fix py.exe failing when user has no LocalAppData. (GH-115185)
Steve Dower [Mon, 12 Feb 2024 17:05:38 +0000 (17:05 +0000)] 
gh-115049: Fix py.exe failing when user has no LocalAppData. (GH-115185)

Also ensure we always display a debug message or error for RC_INTERNAL_ERROR

20 months agogh-87804: Fix the refleak in error handling of `_pystatvfs_fromstructstatfs` (#115335)
Nikita Sobolev [Mon, 12 Feb 2024 16:27:27 +0000 (19:27 +0300)] 
gh-87804: Fix the refleak in error handling of `_pystatvfs_fromstructstatfs` (#115335)

It was the macro expansion! Sorry!

20 months agogh-115233: Fix an example in the Logging Cookbook (GH-115325)
Serhiy Storchaka [Mon, 12 Feb 2024 16:24:45 +0000 (18:24 +0200)] 
gh-115233: Fix an example in the Logging Cookbook (GH-115325)

Also add more tests for LoggerAdapter.

Also support stacklevel in LoggerAdapter._log().

20 months agoGH-113710: Fix updating of dict version tag and add watched dict stats (GH-115221)
Mark Shannon [Mon, 12 Feb 2024 16:07:38 +0000 (16:07 +0000)] 
GH-113710: Fix updating of dict version tag and add watched dict stats (GH-115221)

20 months agogh-115058: Add ``reset_rare_event_counters`` function in `_testinternalcapi` (GH...
Kirill Podoprigora [Mon, 12 Feb 2024 16:05:30 +0000 (19:05 +0300)] 
gh-115058: Add ``reset_rare_event_counters`` function in `_testinternalcapi` (GH-115128)

20 months agoRemove outdated comment about py3.6 in `test_typing` (#115318)
Nikita Sobolev [Mon, 12 Feb 2024 14:23:54 +0000 (17:23 +0300)] 
Remove outdated comment about py3.6 in `test_typing` (#115318)

20 months agoAdd missing sections to blurbs (#114553)
Hugo van Kemenade [Mon, 12 Feb 2024 14:16:16 +0000 (16:16 +0200)] 
Add missing sections to blurbs (#114553)

20 months agogh-89039: Call subclass constructors in datetime.*.replace (GH-114780)
Eugene Toder [Mon, 12 Feb 2024 12:44:56 +0000 (07:44 -0500)] 
gh-89039: Call subclass constructors in datetime.*.replace (GH-114780)

When replace() method is called on a subclass of datetime, date or time,
properly call derived constructor. Previously, only the base class's
constructor was called.

Also, make sure to pass non-zero fold values when creating subclasses in
various methods. Previously, fold was silently ignored.

20 months agogh-101100: Fix Sphinx warnings in `whatsnew/2.7.rst` and related (#115319)
Hugo van Kemenade [Mon, 12 Feb 2024 12:40:41 +0000 (14:40 +0200)] 
gh-101100: Fix Sphinx warnings in `whatsnew/2.7.rst` and related (#115319)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
20 months agogh-114785: Remove content from `Porting from Python2` how-to (#114805)
Nikita Sobolev [Mon, 12 Feb 2024 11:59:58 +0000 (14:59 +0300)] 
gh-114785: Remove content from `Porting from Python2` how-to (#114805)

Keep the page though, because people might still rely on it (the traffic shows that they do).
Instead of our own manual we now give links to the 3rd-party ones.

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
20 months agogh-114563: C decimal falls back to pydecimal for unsupported format strings (GH-114879)
John Belmonte [Mon, 12 Feb 2024 11:17:51 +0000 (20:17 +0900)] 
gh-114563: C decimal falls back to pydecimal for unsupported format strings (GH-114879)

Immediate merits:
* eliminate complex workarounds for 'z' format support
  (NOTE: mpdecimal recently added 'z' support, so this becomes
  efficient in the long term.)
* fix 'z' format memory leak
* fix 'z' format applied to 'F'
* fix missing '#' format support

Suggested and prototyped by Stefan Krah.

Fixes gh-114563, gh-91060

Co-authored-by: Stefan Krah <skrah@bytereef.org>
20 months agoGH-114695: Add `sys._clear_internal_caches` (GH-115152)
Brandt Bucher [Mon, 12 Feb 2024 09:04:36 +0000 (01:04 -0800)] 
GH-114695: Add `sys._clear_internal_caches` (GH-115152)

20 months agogh-87804: Fix error handling and style in `_pystatvfs_fromstructstatfs` (#115236)
Nikita Sobolev [Mon, 12 Feb 2024 07:27:12 +0000 (10:27 +0300)] 
gh-87804: Fix error handling and style in `_pystatvfs_fromstructstatfs` (#115236)

20 months agogh-101100: Clean up Doc/c-api/exceptions.rst and Doc/c-api/sys.rst (GH-114825)
Skip Montanaro [Sun, 11 Feb 2024 18:51:07 +0000 (12:51 -0600)] 
gh-101100: Clean up Doc/c-api/exceptions.rst and Doc/c-api/sys.rst (GH-114825)

20 months agogh-115282: Fix direct invocation of `test_traceback.py` (#115283)
Nikita Sobolev [Sun, 11 Feb 2024 16:07:08 +0000 (19:07 +0300)] 
gh-115282: Fix direct invocation of `test_traceback.py` (#115283)

20 months agogh-97959: Fix rendering of routines in pydoc (GH-113941)
Serhiy Storchaka [Sun, 11 Feb 2024 13:19:44 +0000 (15:19 +0200)] 
gh-97959: Fix rendering of routines in pydoc (GH-113941)

* Class methods no longer have "method of builtins.type instance" note.
* Corresponding notes are now added for class and unbound methods.
* Method and function aliases now have references to the module or the
  class where the origin was defined if it differs from the current.
* Bound methods are now listed in the static methods section.
* Methods of builtin classes are now supported as well as methods of
  Python classes.

20 months agogh-49766: Make date-datetime comparison more symmetric and flexible (GH-114760)
Serhiy Storchaka [Sun, 11 Feb 2024 11:06:43 +0000 (13:06 +0200)] 
gh-49766: Make date-datetime comparison more symmetric and flexible (GH-114760)

Now the special comparison methods like `__eq__` and `__lt__` return
NotImplemented if one of comparands is date and other is datetime
instead of ignoring the time part and the time zone or forcefully
return "not equal" or raise TypeError.

It makes comparison of date and datetime subclasses more symmetric
and allows to change the default behavior by overriding
the special comparison methods in subclasses.

It is now the same as if date and datetime was independent classes.

20 months agogh-115011: Improve support of __index__() in setters of members with unsigned integer...
Serhiy Storchaka [Sun, 11 Feb 2024 10:45:58 +0000 (12:45 +0200)] 
gh-115011: Improve support of __index__() in setters of members with unsigned integer type (GH-115029)

Setters for members with an unsigned integer type now support
the same range of valid values for objects that has a __index__()
method as for int.

Previously, Py_T_UINT, Py_T_ULONG and Py_T_ULLONG did not support
objects that has a __index__() method larger than LONG_MAX.

Py_T_ULLONG did not support negative ints. Now it supports them and
emits a RuntimeWarning.

20 months agogh-97928: Partially restore the behavior of tkinter.Text.count() by default (GH-115031)
Serhiy Storchaka [Sun, 11 Feb 2024 10:43:14 +0000 (12:43 +0200)] 
gh-97928: Partially restore the behavior of tkinter.Text.count() by default (GH-115031)

By default, it preserves an inconsistent behavior of older Python
versions: packs the count into a 1-tuple if only one or none
options are specified (including 'update'), returns None instead of 0.
Except that setting wantobjects to 0 no longer affects the result.

Add a new parameter return_ints: specifying return_ints=True makes
Text.count() always returning the single count as an integer
instead of a 1-tuple or None.

20 months agogh-67837, gh-112998: Fix dirs creation in concurrent extraction (GH-115082)
Serhiy Storchaka [Sun, 11 Feb 2024 10:38:07 +0000 (12:38 +0200)] 
gh-67837, gh-112998: Fix dirs creation in concurrent extraction (GH-115082)

Avoid race conditions in the creation of directories during concurrent
extraction in tarfile and zipfile.

Co-authored-by: Samantha Hughes <shughes-uk@users.noreply.github.com>
Co-authored-by: Peder Bergebakken Sundt <pbsds@hotmail.com>
20 months agogh-85984: Add _POSIX_VDISABLE from unistd.h to termios module. (#114985)
Soumendra Ganguly [Sun, 11 Feb 2024 10:29:44 +0000 (11:29 +0100)] 
gh-85984: Add _POSIX_VDISABLE from unistd.h to termios module. (#114985)

Signed-off-by: Soumendra Ganguly <soumendraganguly@gmail.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
20 months agogh-79382: Fix recursive glob() with trailing "**" (GH-115134)
Serhiy Storchaka [Sun, 11 Feb 2024 10:24:13 +0000 (12:24 +0200)] 
gh-79382: Fix recursive glob() with trailing "**" (GH-115134)

Trailing "**" no longer allows to match files and non-existing paths in
recursive glob().

20 months agogh-115172: Fix explicit index extries for the C API (GH-115173)
Serhiy Storchaka [Sun, 11 Feb 2024 10:23:30 +0000 (12:23 +0200)] 
gh-115172: Fix explicit index extries for the C API (GH-115173)

20 months agogh-115133: Fix tests for XMLPullParser with Expat 2.6.0 (GH-115164)
Serhiy Storchaka [Sun, 11 Feb 2024 10:08:39 +0000 (12:08 +0200)] 
gh-115133: Fix tests for XMLPullParser with Expat 2.6.0 (GH-115164)

Feeding the parser by too small chunks defers parsing to prevent
CVE-2023-52425. Future versions of Expat may be more reactive.

20 months agogh-114807: multiprocessing: don't raise ImportError if _multiprocessing is missing...
Hood Chatham [Sun, 11 Feb 2024 09:59:50 +0000 (01:59 -0800)] 
gh-114807: multiprocessing: don't raise ImportError if _multiprocessing is missing (#114808)

`_multiprocessing` is only used under the `if _winapi:` block, this moves the import to be within the `_winapi` ImportError handling try/except for equivalent treatment.

20 months agogh-101100: Fix dangling refs in bdb.rst (#114983)
Skip Montanaro [Sun, 11 Feb 2024 09:21:10 +0000 (03:21 -0600)] 
gh-101100: Fix dangling refs in bdb.rst (#114983)

Co-authored-by: AN Long <aisk@users.noreply.github.com>
20 months agogh-115274: Fix direct invocation of `testmock/testpatch.py` (#115275)
Nikita Sobolev [Sun, 11 Feb 2024 08:51:25 +0000 (11:51 +0300)] 
gh-115274: Fix direct invocation of `testmock/testpatch.py` (#115275)

20 months agogh-115249: Fix `test_descr` with `-OO` mode (#115250)
Nikita Sobolev [Sun, 11 Feb 2024 08:00:44 +0000 (11:00 +0300)] 
gh-115249: Fix `test_descr` with `-OO` mode (#115250)

20 months agogh-115258: Temporarily disable test on Windows (#115269)
Sam Gross [Sun, 11 Feb 2024 03:14:25 +0000 (22:14 -0500)] 
gh-115258: Temporarily disable test on Windows (#115269)

The "test_shutdown_all_methods_in_many_threads" test times out on the Windows CI.
This skips the test on Windows until we figure out the root cause.

20 months agogh-101100: Fix sphinx warnings in `c-api/gcsupport.rst` (#114786)
Nikita Sobolev [Sat, 10 Feb 2024 22:59:23 +0000 (01:59 +0300)] 
gh-101100: Fix sphinx warnings in `c-api/gcsupport.rst` (#114786)

20 months agogh-115254: Fix `test_property` with `-00` mode (#115255)
Nikita Sobolev [Sat, 10 Feb 2024 21:51:05 +0000 (00:51 +0300)] 
gh-115254: Fix `test_property` with `-00` mode (#115255)

20 months agogh-114670: Fix `_testbuffer` module initialization (#114672)
Nikita Sobolev [Sat, 10 Feb 2024 21:48:28 +0000 (00:48 +0300)] 
gh-114670: Fix `_testbuffer` module initialization (#114672)

20 months agogh-115252: Fix `test_enum` with `-OO` mode (GH-115253)
Nikita Sobolev [Sat, 10 Feb 2024 18:34:22 +0000 (21:34 +0300)] 
gh-115252: Fix `test_enum` with `-OO` mode (GH-115253)

20 months agoGH-115060: Speed up `pathlib.Path.glob()` by removing redundant regex matching (...
Barney Gale [Sat, 10 Feb 2024 18:12:34 +0000 (18:12 +0000)] 
GH-115060: Speed up `pathlib.Path.glob()` by removing redundant regex matching (#115061)

When expanding and filtering paths for a `**` wildcard segment, build an `re.Pattern` object from the subsequent pattern parts, rather than the entire pattern, and match against the `os.DirEntry` object prior to instantiating a path object. Also skip compiling a pattern when expanding a `*` wildcard segment.

20 months agogh-114894: add array.array.clear() method (#114919)
Mike Zimin [Sat, 10 Feb 2024 15:59:46 +0000 (19:59 +0400)] 
gh-114894: add array.array.clear() method (#114919)

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: AN Long <aisk@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
20 months agogh-102840: Fix confused traceback when floordiv or mod operations happens between... 105789/head
Kirill Podoprigora [Sat, 10 Feb 2024 14:37:19 +0000 (17:37 +0300)] 
gh-102840: Fix confused traceback when floordiv or mod operations happens between Fraction and complex objects (GH-102842)

20 months agogh-115059: Remove debugging code in test_io (GH-115240)
Serhiy Storchaka [Sat, 10 Feb 2024 13:17:33 +0000 (15:17 +0200)] 
gh-115059: Remove debugging code in test_io (GH-115240)

20 months agogh-76763: Make chr() always raising ValueError for out-of-range values (GH-114882)
Serhiy Storchaka [Sat, 10 Feb 2024 10:21:35 +0000 (12:21 +0200)] 
gh-76763: Make chr() always raising ValueError for out-of-range values (GH-114882)

Previously it raised OverflowError for very large or very small values.

20 months agoGH-87804: Fix counter overflow in statvfs on macOS (#99570)
Ronald Oussoren [Sat, 10 Feb 2024 10:16:45 +0000 (11:16 +0100)] 
GH-87804: Fix counter overflow in statvfs on macOS (#99570)

On macOS the statvfs interface returns block counts as
32-bit integers, and that results in bad reporting for
larger disks.

Therefore reimplement statvfs in terms of statfs, which
does use 64-bit integers for block counts.

Tested using a sparse filesystem image of 100TB.

20 months agogh-114552: Update `__dir__` method docs: it allows returning an iterable (#114662)
Nikita Sobolev [Sat, 10 Feb 2024 08:34:23 +0000 (11:34 +0300)] 
gh-114552: Update `__dir__` method docs: it allows returning an iterable (#114662)

20 months agogh-96471: Add shutdown() method to queue.Queue (#104750)
Laurie O [Sat, 10 Feb 2024 04:58:30 +0000 (14:58 +1000)] 
gh-96471: Add shutdown() method to queue.Queue (#104750)

Co-authored-by: Duprat <yduprat@gmail.com>
20 months agogh-111968: Refactor _PyXXX_Fini to integrate with _PyObject_ClearFreeLists (gh-114899)
Donghee Na [Sat, 10 Feb 2024 00:57:04 +0000 (09:57 +0900)] 
gh-111968: Refactor _PyXXX_Fini to integrate with _PyObject_ClearFreeLists (gh-114899)

20 months agogh-115165: Fix `typing.Annotated` for immutable types (#115213)
dave-shawley [Fri, 9 Feb 2024 22:11:37 +0000 (17:11 -0500)] 
gh-115165: Fix `typing.Annotated` for immutable types (#115213)

The return value from an annotated callable can raise any exception from
__setattr__ for the `__orig_class__` property.

20 months agogh-110481: Implement inter-thread queue for biased reference counting (#114824)
Sam Gross [Fri, 9 Feb 2024 22:08:32 +0000 (17:08 -0500)] 
gh-110481: Implement inter-thread queue for biased reference counting (#114824)

Biased reference counting maintains two refcount fields in each object:
`ob_ref_local` and `ob_ref_shared`. The true refcount is the sum of these two
fields. In some cases, when refcounting operations are split across threads,
the ob_ref_shared field can be negative (although the total refcount must be
at least zero). In this case, the thread that decremented the refcount
requests that the owning thread give up ownership and merge the refcount
fields.

21 months agogh-112903: Handle non-types in _BaseGenericAlias.__mro_entries__() (#115191)
Carl Meyer [Fri, 9 Feb 2024 19:19:09 +0000 (12:19 -0700)] 
gh-112903: Handle non-types in _BaseGenericAlias.__mro_entries__() (#115191)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
21 months agoAdd Peter L to ACKS (GH-115222)
Peter Lazorchak [Fri, 9 Feb 2024 17:06:14 +0000 (09:06 -0800)] 
Add Peter L to ACKS (GH-115222)

21 months agogh-115142: Skip test_optimizer if _testinternalcapi module is not available (GH-115175)
Kirill Podoprigora [Fri, 9 Feb 2024 16:59:41 +0000 (19:59 +0300)] 
gh-115142: Skip test_optimizer if _testinternalcapi module is not available (GH-115175)

21 months agogh-115184: Fix refleak tracking issues in free-threaded build (#115188)
Sam Gross [Fri, 9 Feb 2024 14:23:12 +0000 (09:23 -0500)] 
gh-115184: Fix refleak tracking issues in free-threaded build (#115188)

Fixes a few issues related to refleak tracking in the free-threaded build:

- Count blocks in abandoned segments
- Call `_mi_page_free_collect` earlier during heap traversal in order to get an accurate count of blocks in use.
- Add missing refcount tracking in `_Py_DecRefSharedDebug` and `_Py_ExplicitMergeRefcount`.
- Pause threads in  `get_num_global_allocated_blocks` to ensure that traversing the mimalloc heaps is safe.

21 months agoDocs: correctly link to code objects (#115214)
Erlend E. Aasland [Fri, 9 Feb 2024 14:11:36 +0000 (15:11 +0100)] 
Docs: correctly link to code objects (#115214)

21 months agogh-115059: Flush the underlying write buffer in io.BufferedRandom.read1() (GH-115163)
Serhiy Storchaka [Fri, 9 Feb 2024 10:36:12 +0000 (12:36 +0200)] 
gh-115059: Flush the underlying write buffer in io.BufferedRandom.read1() (GH-115163)

21 months agoGH-113632: update configure.ac for WebAssembly support tiers (#115192)
Brett Cannon [Fri, 9 Feb 2024 08:21:49 +0000 (00:21 -0800)] 
GH-113632: update configure.ac for WebAssembly support tiers (#115192)

Move WASI to tier 2 and drop Emscripten.

21 months agogh-101100: Fix sphinx warnings in `library/enum.rst` (#114696)
Nikita Sobolev [Fri, 9 Feb 2024 06:40:28 +0000 (09:40 +0300)] 
gh-101100: Fix sphinx warnings in `library/enum.rst` (#114696)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
21 months agogh-115167: Exclude vcruntime140_threads.dll from Windows build output (GH-115176)
adang1345 [Thu, 8 Feb 2024 21:42:45 +0000 (16:42 -0500)] 
gh-115167: Exclude vcruntime140_threads.dll from Windows build output (GH-115176)

21 months agogh-112069: Adapt set/frozenset methods to Argument Clinic (#115112)
Tomas R [Thu, 8 Feb 2024 16:47:27 +0000 (17:47 +0100)] 
gh-112069: Adapt set/frozenset methods to Argument Clinic (#115112)

21 months agogh-107944: Improve error message for getargs with bad keyword arguments (#114792)
Shantanu [Thu, 8 Feb 2024 09:04:41 +0000 (01:04 -0800)] 
gh-107944: Improve error message for getargs with bad keyword arguments (#114792)

21 months agogh-115136: Fix possible NULL deref in getpath_joinpath() (GH-115137)
Artem Chernyshev [Thu, 8 Feb 2024 08:40:38 +0000 (11:40 +0300)] 
gh-115136: Fix possible NULL deref in getpath_joinpath() (GH-115137)

Signed-off-by: Artem Chernyshev <artem.chernyshev@red-soft.ru>
21 months agogh-115146: Fix typo in pickletools.py documentation (GH-115148)
Justin Applegate [Thu, 8 Feb 2024 08:12:58 +0000 (01:12 -0700)] 
gh-115146: Fix typo in pickletools.py documentation (GH-115148)

21 months agoWhen the Py_CompileStringExFlags fuzzer encounters a SystemError, abort (#115147)
Alex Gaynor [Wed, 7 Feb 2024 22:21:33 +0000 (17:21 -0500)] 
When the Py_CompileStringExFlags fuzzer encounters a SystemError, abort (#115147)

This allows us to catch bugs beyond memory corruption and assertions.

21 months agogh-114828: parenthesize non-atomic macro definitions in pycore_symtable.h (#115143)
Carl Meyer [Wed, 7 Feb 2024 20:19:47 +0000 (15:19 -0500)] 
gh-114828: parenthesize non-atomic macro definitions in pycore_symtable.h (#115143)

21 months agogh-112066: Use `PyDict_SetDefaultRef` in place of `PyDict_SetDefault`. (#112211)
Sam Gross [Wed, 7 Feb 2024 18:43:18 +0000 (13:43 -0500)] 
gh-112066: Use `PyDict_SetDefaultRef` in place of `PyDict_SetDefault`. (#112211)

This changes a number of internal usages of `PyDict_SetDefault` to use `PyDict_SetDefaultRef`.

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
21 months agogh-114828: Fix __class__ in class-scope inlined comprehensions (#115139)
Carl Meyer [Wed, 7 Feb 2024 16:56:16 +0000 (11:56 -0500)] 
gh-114828: Fix __class__ in class-scope inlined comprehensions (#115139)

21 months agoGH-108362: Revert "GH-108362: Incremental GC implementation (GH-108038)" (#115132)
Mark Shannon [Wed, 7 Feb 2024 12:38:34 +0000 (12:38 +0000)] 
GH-108362: Revert "GH-108362: Incremental GC implementation (GH-108038)" (#115132)

Revert "GH-108362: Incremental GC implementation (GH-108038)"

This reverts commit 36518e69d74607e5f094ce55286188e4545a947d.

21 months agogh-101100: Fix Py_DEBUG dangling Sphinx references (#115003)
Skip Montanaro [Wed, 7 Feb 2024 10:48:42 +0000 (04:48 -0600)] 
gh-101100: Fix Py_DEBUG dangling Sphinx references (#115003)

21 months agogh-114505: Add missing header file dependencies (#114513)
Skip Montanaro [Wed, 7 Feb 2024 08:50:24 +0000 (02:50 -0600)] 
gh-114505: Add missing header file dependencies (#114513)

Also move PYTHON_HEADERS up and make _testembed.o depend on it.

21 months agogh-115114: Add missing slash to file URI prefix `file:/` (#115115)
Edgar Ramírez Mondragón [Wed, 7 Feb 2024 05:22:47 +0000 (23:22 -0600)] 
gh-115114: Add missing slash to file URI prefix `file:/` (#115115)

Add missing slash to file URI prefix `file:/`

21 months agogh-115106 docs: 'enum.Flag.__iter__()' did not exist prior to Python 3.11 (GH-115107)
Finite State Machine [Wed, 7 Feb 2024 01:28:01 +0000 (20:28 -0500)] 
gh-115106 docs: 'enum.Flag.__iter__()' did not exist prior to Python 3.11 (GH-115107)

change versionchanged to versionadded

21 months agogh-115009: Update Windows installer to use SQLite 3.45.1 (#115065)
Erlend E. Aasland [Tue, 6 Feb 2024 22:44:14 +0000 (23:44 +0100)] 
gh-115009: Update Windows installer to use SQLite 3.45.1 (#115065)

21 months agogh-112075: Add critical sections for most dict APIs (#114508)
Dino Viehland [Tue, 6 Feb 2024 22:03:43 +0000 (14:03 -0800)] 
gh-112075: Add critical sections for most dict APIs (#114508)

Starts adding thread safety to dict objects.

Use @critical_section for APIs which are exposed via argument clinic and don't directly correlate with a public C API which needs to acquire the lock
Use a _lock_held suffix for keeping changes to complicated functions simple and just wrapping them with a critical section
Acquire and release the lock in an existing function where it won't be overly disruptive to the existing logic

21 months agogh-115035: Mark ThreadHandles as non-joinable earlier after forking (#115042)
Sam Gross [Tue, 6 Feb 2024 19:45:04 +0000 (14:45 -0500)] 
gh-115035: Mark ThreadHandles as non-joinable earlier after forking (#115042)

This marks dead ThreadHandles as non-joinable earlier in
`PyOS_AfterFork_Child()` before we execute any Python code. The handles
are stored in a global linked list in `_PyRuntimeState` because `fork()`
affects the entire process.

21 months agogh-103224: Resolve paths properly in test_sysconfig (GH-103292)
Artem Mukhin [Tue, 6 Feb 2024 19:32:07 +0000 (20:32 +0100)] 
gh-103224: Resolve paths properly in test_sysconfig (GH-103292)

To pass tests when executed through a Python symlink.

Co-authored-by: Miro Hrončok <miro@hroncok.cz>
21 months ago#gh-75705: Set unixfrom envelope in mailbox._mboxMMDF (GH-107117)
Matthieu Caneill [Tue, 6 Feb 2024 18:44:12 +0000 (19:44 +0100)] 
#gh-75705: Set unixfrom envelope in mailbox._mboxMMDF (GH-107117)

21 months agogh-112529: Stop the world around gc.get_referents (#114823)
Sam Gross [Tue, 6 Feb 2024 16:45:42 +0000 (11:45 -0500)] 
gh-112529: Stop the world around gc.get_referents (#114823)

We do not want to add locking in `tp_traverse` slot implementations.
Instead, stop the world when calling `gc.get_referents`. Note that the the
stop the world call is a no-op in the default build.

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
21 months agogh-112087: Make list_{count, index, contains} to be thread-safe. (gh-114916)
Donghee Na [Tue, 6 Feb 2024 16:41:18 +0000 (01:41 +0900)] 
gh-112087: Make list_{count, index, contains} to be thread-safe. (gh-114916)

21 months agogh-112066: Add `PyDict_SetDefaultRef` function. (#112123)
Sam Gross [Tue, 6 Feb 2024 16:36:23 +0000 (11:36 -0500)] 
gh-112066: Add `PyDict_SetDefaultRef` function. (#112123)

The `PyDict_SetDefaultRef` function is similar to `PyDict_SetDefault`,
but returns a strong reference through the optional `**result` pointer
instead of a borrowed reference.

Co-authored-by: Petr Viktorin <encukou@gmail.com>
21 months agogh-114756: Update FAQ section on removing the GIL (#114957)
da-woods [Tue, 6 Feb 2024 15:55:44 +0000 (15:55 +0000)] 
gh-114756: Update FAQ section on removing the GIL (#114957)

Update FAQ section on removing the GIL to reflect recent progress on PEP 703 and PEP 684.

Co-authored-by: AN Long <aisk@users.noreply.github.com>
21 months agogh-106233: Fix stacklevel in zoneinfo.InvalidTZPathWarning (GH-106234)
Nikita Sobolev [Tue, 6 Feb 2024 13:08:56 +0000 (16:08 +0300)] 
gh-106233: Fix stacklevel in zoneinfo.InvalidTZPathWarning (GH-106234)

21 months agogh-91602: Add iterdump() support for filtering database objects (#114501)
Mariusz Felisiak [Tue, 6 Feb 2024 11:34:56 +0000 (12:34 +0100)] 
gh-91602: Add iterdump() support for filtering database objects (#114501)

Add optional 'filter' parameter to iterdump() that allows a "LIKE"
pattern for filtering database objects to dump.

Co-authored-by: Erlend E. Aasland <erlend@python.org>
21 months agogh-112302: Change 'licenseConcluded' field to 'NOASSERTION' (#115038)
Seth Michael Larson [Tue, 6 Feb 2024 10:25:58 +0000 (04:25 -0600)] 
gh-112302: Change 'licenseConcluded' field to 'NOASSERTION' (#115038)

21 months agogh-115009: Update macOS installer to use SQLite 3.45.1 (#115066) 103246/head
Erlend E. Aasland [Tue, 6 Feb 2024 10:04:35 +0000 (11:04 +0100)] 
gh-115009: Update macOS installer to use SQLite 3.45.1 (#115066)

Co-authored-by: Ned Deily <nad@python.org>
21 months agoGH-106747: Make pathlib ABC globbing more consistent with `glob.glob()` (#115056)
Barney Gale [Tue, 6 Feb 2024 02:48:18 +0000 (02:48 +0000)] 
GH-106747: Make pathlib ABC globbing more consistent with `glob.glob()` (#115056)

When expanding `**` wildcards, ensure we add a trailing slash to the
topmost directory path. This matches `glob.glob()` behaviour:

    >>> glob.glob('dirA/**', recursive=True)
    ['dirA/', 'dirA/dirB', 'dirA/dirB/dirC']

This does not affect `pathlib.Path.glob()`, because trailing slashes aren't
supported in pathlib proper.

21 months agogh-109991: Update GitHub CI workflows to use OpenSSL 3.0.13. (#115050)
Ned Deily [Tue, 6 Feb 2024 02:10:11 +0000 (21:10 -0500)] 
gh-109991: Update GitHub CI workflows to use OpenSSL 3.0.13. (#115050)

Also update multissltests to use 1.1.1w, 3.0.13, 3.1.5, and 3.2.1.

21 months agogh-109991: Update macOS installer to use OpenSSL 3.0.13. (GH-115052)
Ned Deily [Tue, 6 Feb 2024 01:59:25 +0000 (20:59 -0500)] 
gh-109991: Update macOS installer to use OpenSSL 3.0.13. (GH-115052)

21 months agogh-109991: Update Windows build to use OpenSSL 3.0.13 (#115043)
Zachary Ware [Mon, 5 Feb 2024 23:10:55 +0000 (17:10 -0600)] 
gh-109991: Update Windows build to use OpenSSL 3.0.13 (#115043)

21 months agogh-83648: Support deprecation of options, arguments and subcommands in argparse ...
Serhiy Storchaka [Mon, 5 Feb 2024 22:41:34 +0000 (00:41 +0200)] 
gh-83648: Support deprecation of options, arguments and subcommands in argparse (GH-114086)

21 months agogh-114944: Fix race between `_PyParkingLot_Park` and `_PyParkingLot_UnparkAll` when...
mpage [Mon, 5 Feb 2024 21:48:37 +0000 (13:48 -0800)] 
gh-114944: Fix race between `_PyParkingLot_Park` and `_PyParkingLot_UnparkAll` when handling interrupts (#114945)

Fix race between `_PyParkingLot_Park` and `_PyParkingLot_UnparkAll` when handling interrupts

There is a potential race when `_PyParkingLot_UnparkAll` is executing in
one thread and another thread is unblocked because of an interrupt in
`_PyParkingLot_Park`. Consider the following scenario:

1. Thread T0 is blocked[^1] in `_PyParkingLot_Park` on address `A`.
2. Thread T1 executes `_PyParkingLot_UnparkAll` on address `A`. It
   finds the `wait_entry` for `T0` and unlinks[^2] its list node.
3. Immediately after (2), T0 is woken up due to an interrupt. It
   then segfaults trying to unlink[^3] the node that was previously
   unlinked in (2).

To fix this we mark each waiter as unparking before releasing the bucket
lock. `_PyParkingLot_Park` will wait to handle the coming wakeup, and not
attempt to unlink the node, when this field is set. `_PyParkingLot_Unpark`
does this already, presumably to handle this case.

21 months agogh-82626: Emit a warning when bool is used as a file descriptor (GH-111275)
Serhiy Storchaka [Mon, 5 Feb 2024 20:51:11 +0000 (22:51 +0200)] 
gh-82626: Emit a warning when bool is used as a file descriptor (GH-111275)

21 months agogh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params...
Erlend E. Aasland [Mon, 5 Feb 2024 20:49:17 +0000 (21:49 +0100)] 
gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params (#115016)

21 months agogh-109475: Fix support of explicit option value "--" in argparse (GH-114814)
Serhiy Storchaka [Mon, 5 Feb 2024 20:42:43 +0000 (22:42 +0200)] 
gh-109475: Fix support of explicit option value "--" in argparse (GH-114814)

For example "--option=--".

21 months agogh-114967: Fix "Built-in Exceptions" documentation ambiguous wording (#114968)
HarryLHW [Mon, 5 Feb 2024 20:22:57 +0000 (04:22 +0800)] 
gh-114967: Fix "Built-in Exceptions" documentation ambiguous wording (#114968)

Change the somewhat vague "listed below" to "listed in this chapter" in Doc/library/exceptions.rst.
The exceptions are listed in multiple sections after two intermediate sections.
---------
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
21 months agogh-112075: Add gc shared bits (#114931)
Dino Viehland [Mon, 5 Feb 2024 18:35:59 +0000 (10:35 -0800)] 
gh-112075: Add gc shared bits (#114931)

Add GC shared flags for objects to the GC bit states in free-threaded builds

21 months agoGH-108362: Incremental GC implementation (GH-108038)
Mark Shannon [Mon, 5 Feb 2024 18:28:51 +0000 (18:28 +0000)] 
GH-108362: Incremental GC implementation (GH-108038)

21 months agogh-43457: Tkinter: fix design flaws in wm_attributes() (GH-111404)
Serhiy Storchaka [Mon, 5 Feb 2024 16:24:54 +0000 (18:24 +0200)] 
gh-43457: Tkinter: fix design flaws in wm_attributes() (GH-111404)

* When called with a single argument to get a value, it allow to omit
  the minus prefix.
* It can be called with keyword arguments to set attributes.
* w.wm_attributes(return_python_dict=True) returns a dict instead of
  a tuple (it will be the default in future).
* Setting wantobjects to 0 no longer affects the result.