summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'main' of https://github.com/python/cpythonThomas Wouters2024-02-1538-139/+1321
|\
| * gh-113743: Make the MRO cache thread-safe in free-threaded builds (#113930)Dino Viehland2024-02-1511-80/+500
| | | | | | | | | | | | | | Makes _PyType_Lookup thread safe, including: Thread safety of the underlying cache. Make mutation of mro and type members thread safe Also _PyType_GetMRO and _PyType_GetBases are currently returning borrowed references which aren't safe.
| * gh-113317: Argument Clinic: inline required_type_for_self_for_parser() in ↵Erlend E. Aasland2024-02-151-9/+4
| | | | | | | | | | self converter (#115522) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
| * gh-100734: What's New in 3.x: Add missing detail from 3.x branch (#114689)Hugo van Kemenade2024-02-158-0/+327
| |
| * gh-112433: Add optional _align_ attribute to ctypes.Structure (GH-113790)monkeyman1922024-02-158-1/+328
| |
| * gh-115420: Fix translation of exception hander targets by ↵Irit Katriel2024-02-153-1/+19
| | | | | | | | _testinternalcapi.optimize_cfg. (#115425)
| * gh-115376: fix segfault in _testinternalcapi.compiler_codegen on bad input ↵Irit Katriel2024-02-153-15/+35
| | | | | | | | (#115379)
| * gh-115124: Use _PyObject_ASSERT() in gc.c (#115125)Victor Stinner2024-02-151-15/+22
| | | | | | | | Replace assert() with _PyObject_ASSERT() in gc.c to dump the object when an assertion fails.
| * gh-115347: avoid emitting redundant NOP for the docstring with -OO (#115494)Irit Katriel2024-02-153-18/+48
| |
| * gh-115432: Add critical section variant that handles a NULL object (#115433)Sam Gross2024-02-152-0/+38
| | | | | | | | | | | | This adds `Py_XBEGIN_CRITICAL_SECTION` and `Py_XEND_CRITICAL_SECTION`, which accept a possibly NULL object as an argument. If the argument is NULL, then nothing is locked or unlocked. Otherwise, they behave like `Py_BEGIN/END_CRITICAL_SECTION`.
* | Post 3.13.0a4Thomas Wouters2024-02-151-1/+1
| |
* | Python 3.13.0a4v3.13.0a4Thomas Wouters2024-02-15141-349/+1471
|/
* gh-115490: Work around test.support.interpreters.channels not handling ↵T. Wouters2024-02-151-2/+7
| | | | | | | | | | unloading (#115515) Work around test.support.interpreters.channels not handling unloading, which regrtest does when running tests sequentially, by explicitly skipping the unloading of test.support.interpreters and its submodules. This can be rolled back once test.support.interpreters.channels supports unloading, if we are keeping sequential runs in the same process around.
* gh-113317: Argument Clinic: remove global clinic instance (#115517)Erlend E. Aasland2024-02-151-7/+3
|
* gh-113317: Argument Clinic: don't use global state in warn() and fail() ↵Erlend E. Aasland2024-02-152-16/+23
| | | | (#115510)
* gh-113317: Argument Clinic: don't use fail() in CLI (#115513)Erlend E. Aasland2024-02-151-2/+2
|
* bpo-38364: unwrap partialmethods just like we unwrap partials (#16600)Martijn Pieters2024-02-155-4/+57
| | | | | | | | | | | | | * bpo-38364: unwrap partialmethods just like we unwrap partials The inspect.isgeneratorfunction, inspect.iscoroutinefunction and inspect.isasyncgenfunction already unwrap functools.partial objects, this patch adds support for partialmethod objects as well. Also: Rename _partialmethod to __partialmethod__. Since we're checking this attribute on arbitrary function-like objects, we should use the namespace reserved for core Python. --------- Co-authored-by: Petr Viktorin <encukou@gmail.com>
* gh-114626: add PyCFunctionFast and PyCFunctionFastWithKeywords (GH-114627)David Hewitt2024-02-1510-41/+57
| | | Co-authored-by: Petr Viktorin <encukou@gmail.com>
* gh-114258: Refactor Argument Clinic function name parser (#114930)Erlend E. Aasland2024-02-151-106/+123
| | | | | | | | | | Refactor state_modulename_name() of the parsing state machine, by adding helpers for the sections that deal with ...: 1. parsing the function name 2. normalizing "function kind" 3. dealing with cloned functions 4. resolving return converters 5. adding the function to the DSL parser
* gh-112050: Make collections.deque thread-safe in free-threaded builds (#113830)mpage2024-02-154-61/+338
| | | | | | | Use critical sections to make deque methods that operate on mutable state thread-safe when the GIL is disabled. This is mostly accomplished by using the @critical_section Argument Clinic directive, though there are a few places where this was not possible and critical sections had to be manually acquired/released.
* docs: use consistent .append() in dis.rst (#115434)Ned Batchelder2024-02-151-4/+4
| | | The STACK variable is described as like a Python list, so pushing to it should be done with .append() consistently throughout.
* gh-115480: Type and constant propagation for int BINARY_OPs (GH-115478)Ken Jin2024-02-153-16/+126
|
* Trigger JIT CI with optimizer files (#115483)Ken Jin2024-02-151-0/+4
| | | * Trigger JIT CI with optimizer files
* GH-113516: don't set `LDSHARED` when building for WASI (GH-115495)Brett Cannon2024-02-153-2/+2
|
* gh-115482: Assume the Main Interpreter is Always Running "main" (gh-115484)Eric Snow2024-02-141-1/+8
| | | | | This is a temporary fix to unblock embedders that do not call Py_Main(). _PyInterpreterState_IsRunningMain() will always return true for the main interpreter, even in corner cases where it technically should not. The (future) full solution will do the right thing in those corner cases.
* gh-114570: Add PythonFinalizationError exception (#115352)Victor Stinner2024-02-1413-6/+55
| | | | | | | | | | | | | | | | | Add PythonFinalizationError exception. This exception derived from RuntimeError is raised when an operation is blocked during the Python finalization. The following functions now raise PythonFinalizationError, instead of RuntimeError: * _thread.start_new_thread() * subprocess.Popen * os.fork() * os.fork1() * os.forkpty() Morever, _winapi.Overlapped finalizer now logs an unraisable PythonFinalizationError, instead of an unraisable RuntimeError.
* gh-112529: Use _PyThread_Id() in mimalloc in free-threaded build (#115488)Sam Gross2024-02-142-4/+13
| | | | | The free-threaded GC uses mimallocs segment thread IDs to restore the overwritten `ob_tid` thread ids in PyObjects. For that reason, it's important that PyObjects and mimalloc use the same identifiers.
* gh-115041: Add wrappers that are atomic only in free-threaded builds (#115046)mpage2024-02-144-0/+40
| | | | | | These are intended to be used in places where atomics are required in free-threaded builds but not in the default build. We don't want to introduce the potential performance overhead of an atomic operation in the default build.
* Add myself to various CODEOWNERS (GH-115481)Ken Jin2024-02-141-0/+2
|
* gh-112302: Move pip SBOM discovery to release-tools (#115360)Seth Michael Larson2024-02-142-921/+0
|
* Docs: spell out sentence about ndbm/gdbm file formats (#115470)Erlend E. Aasland2024-02-141-6/+8
|
* gh-115441: Fix missing braces warning (#115460)Sam Gross2024-02-141-11/+0
| | | Removes `_py_object_state_INIT`. We want to initialize the `object_state` field to zero.
* gh-112087: Make __sizeof__ and listiter_{len, next} to be threadsafe (gh-114843)Donghee Na2024-02-147-69/+80
|
* gh-115399: Upgrade bundled libexpat to 2.6.0 (#115431)Seth Michael Larson2024-02-1415-306/+431
|
* gh-115243: Fix crash in deque.index() when the deque is concurrently ↵kcatss2024-02-143-2/+8
| | | | modified (GH-115247)
* Docs: reword sentences about dbm submodule traits (#114609)Erlend E. Aasland2024-02-141-14/+6
| | | Don't repeatedly say that keys and values are coerced into bytes.
* gh-115392: Fix doctest reporting incorrect line numbers for decorated ↵Brian Schubert2024-02-145-1/+23
| | | | functions (#115440)
* gh-115403: Remove extra colon after "Examples" in datetime documentation ↵Stanislav Lyu2024-02-141-1/+1
| | | | (#115452)
* gh-100414: Make dbm.sqlite3 the preferred dbm backend (#115447)Erlend E. Aasland2024-02-143-3/+3
|
* gh-115450: Fix direct invocation of `test_desctut` (#115451)Nikita Sobolev2024-02-141-11/+11
|
* gh-100414: Skip test_dbm_sqlite3 if sqlite3 is unavailable (#115449)Erlend E. Aasland2024-02-141-2/+5
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-100414: Add SQLite backend to dbm (#114481)Erlend E. Aasland2024-02-147-6/+544
| | | | | Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com> Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
* gh-114058: Fix flaky globals to constant test (#115423)Ken Jin2024-02-141-11/+32
| | | Co-authored-by: Victor Stinner <vstinner@python.org>
* ftplib docs: `timeout` doesn't have to be a whole number (#115443)Alex Waygood2024-02-141-3/+3
|
* Docs: Use substitutions instead of manual version updates (#115416)Hugo van Kemenade2024-02-144-4/+6
|
* gh-111968: Rename freelist related struct names to Eric's suggestion (gh-115329)Donghee Na2024-02-1419-207/+190
|
* gh-115421: Update the list of installed test subdirectories. (#115422)T. Wouters2024-02-131-3/+9
| | | | | Update the list of installed test subdirectories with all newly added subdirectories of Lib/test, so that the tests in those directories are properly installed.
* gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424)Eric Snow2024-02-1312-719/+857
| | | | | For the most part, these changes make is substantially easier to backport subinterpreter-related code to 3.12, especially the related modules (e.g. _xxsubinterpreters). The main motivation is to support releasing a PyPI package with the 3.13 capabilities compiled for 3.12. A lot of the changes here involve either hiding details behind macros/functions or splitting up some files.
* gh-115391: Fix compiler warning in `Objects/longobject.c` (GH-115368)Kirill Podoprigora2024-02-131-1/+1
|
* gh-115383: Use runner version to compute config.cache key (#115409)Sam Gross2024-02-133-6/+18
|