]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 years agogh-111652: Fix --enable-pystats build (GH-111653)
Michael Droettboom [Fri, 3 Nov 2023 15:21:16 +0000 (11:21 -0400)] 
gh-111652: Fix --enable-pystats build (GH-111653)

2 years agoCI: Make macOS Intel required to succeed (GH-110362)
Hugo van Kemenade [Fri, 3 Nov 2023 15:13:15 +0000 (17:13 +0200)] 
CI: Make macOS Intel required to succeed (GH-110362)

2 years agodocs: specify that PyBytes_AsStringAndSize returns 0 on success (GH-110888)
lefp [Fri, 3 Nov 2023 13:51:28 +0000 (06:51 -0700)] 
docs: specify that PyBytes_AsStringAndSize returns 0 on success (GH-110888)

docs: specify return value on success

2 years agogh-111681: minor fixes to typing doctests; remove unused imports in `test_typing...
Nikita Sobolev [Fri, 3 Nov 2023 12:23:33 +0000 (15:23 +0300)] 
gh-111681: minor fixes to typing doctests; remove unused imports in `test_typing` (#111682)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2 years agogh-106168: Revert the "size before item" setting (#111683)
scoder [Fri, 3 Nov 2023 11:02:39 +0000 (12:02 +0100)] 
gh-106168: Revert the "size before item" setting (#111683)

gh-106168: Update the size only after setting the item, to avoid temporary inconsistencies.
Also remove the "what's new" sentence regarding the size setting since tuples cannot grow after allocation.

2 years agogh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and frame...
Irit Katriel [Fri, 3 Nov 2023 10:01:36 +0000 (10:01 +0000)] 
gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and frame state (#111648)

2 years agogh-90026: support XATTRs on Cygwin (GH-105075)
Philippe Cerfon [Fri, 3 Nov 2023 09:37:46 +0000 (10:37 +0100)] 
gh-90026: support XATTRs on Cygwin (GH-105075)

2 years agogh-111490: Make the exception type check in test_pyexpat more specific (GH-111491)
Nikita Sobolev [Fri, 3 Nov 2023 08:28:14 +0000 (11:28 +0300)] 
gh-111490: Make the exception type check in test_pyexpat more specific (GH-111491)

2 years agogh-108082: Remove _PyErr_WriteUnraisableMsg() (GH-111643)
Serhiy Storchaka [Fri, 3 Nov 2023 07:45:53 +0000 (09:45 +0200)] 
gh-108082: Remove _PyErr_WriteUnraisableMsg() (GH-111643)

Replace the remaining calls with PyErr_FormatUnraisable().

2 years agogh-54434: Make difflib.rst doctests pass. (#111677)
Terry Jan Reedy [Fri, 3 Nov 2023 06:20:39 +0000 (02:20 -0400)] 
gh-54434: Make difflib.rst doctests pass. (#111677)

2 years agogh-111654: remove redundant decref in LOAD_FROM_DICT_OR_DEREF (#111655)
AN Long [Fri, 3 Nov 2023 04:06:51 +0000 (12:06 +0800)] 
gh-111654: remove redundant decref in LOAD_FROM_DICT_OR_DEREF (#111655)

2 years agogh-76785: Minor Fixes in crossinterp.c (gh-111671)
Eric Snow [Fri, 3 Nov 2023 00:45:42 +0000 (18:45 -0600)] 
gh-76785: Minor Fixes in crossinterp.c (gh-111671)

There were a few corner cases I didn't handle properly in gh-111530, which I've noticed while working on a follow-up PR.  This fixes those cases.

2 years agoFix typo in documentation of `SysLogHandler.createSocket` (#111665)
LoipesMas [Thu, 2 Nov 2023 22:47:43 +0000 (23:47 +0100)] 
Fix typo in documentation of `SysLogHandler.createSocket` (#111665)

2 years agogh-111663: Restore the Tier 2 uop count pystats (#111664)
Michael Droettboom [Thu, 2 Nov 2023 22:24:52 +0000 (18:24 -0400)] 
gh-111663: Restore the Tier 2 uop count pystats (#111664)

2 years agogh-110892: Return NULL for `PyTrace_RETURN` events caused by an exception (GH-110909)
Tian Gao [Thu, 2 Nov 2023 16:38:08 +0000 (09:38 -0700)] 
gh-110892: Return NULL for `PyTrace_RETURN` events caused by an exception (GH-110909)

2 years agoGH-109369 Add vectorcall to `PyLong_Type` (GH-111642)
Mark Shannon [Thu, 2 Nov 2023 15:07:47 +0000 (15:07 +0000)] 
GH-109369 Add vectorcall to `PyLong_Type` (GH-111642)

2 years agogh-111482: Use Argument Clinic for clock_gettime() (#111641)
Victor Stinner [Thu, 2 Nov 2023 13:29:05 +0000 (14:29 +0100)] 
gh-111482: Use Argument Clinic for clock_gettime() (#111641)

Use Argument Clinic for time.clock_gettime() and
time.clock_gettime_ns() functions.

Benchmark on time.clock_gettime_ns():

    import time
    import pyperf
    runner = pyperf.Runner()
    runner.timeit(
        'clock_gettime_ns(CLOCK_MONOTONIC_COARSE)',
        setup='import time; clock_gettime_ns=time.clock_gettime_ns; CLOCK_MONOTONIC_COARSE=6',
        stmt='clock_gettime_ns(CLOCK_MONOTONIC_COARSE)')

Result on Linux with CPU isolation:

Mean +- std dev: [ref] 134 ns +- 1 ns -> [change] 55.7 ns +- 1.4 ns: 2.41x faster

2 years agogh-111625: Fix link to Info-ZIP homepage (#111626)
partev [Thu, 2 Nov 2023 11:10:30 +0000 (07:10 -0400)] 
gh-111625: Fix link to Info-ZIP homepage (#111626)

2 years agobuild(deps): bump hypothesis from 6.87.1 to 6.88.1 in /Tools (#111596)
dependabot[bot] [Thu, 2 Nov 2023 10:53:40 +0000 (10:53 +0000)] 
build(deps): bump hypothesis from 6.87.1 to 6.88.1 in /Tools (#111596)

Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.87.1 to 6.88.1.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.87.1...hypothesis-python-6.88.1)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agobuild(deps): bump actions/setup-node from 3 to 4 (#111594)
dependabot[bot] [Thu, 2 Nov 2023 10:49:01 +0000 (11:49 +0100)] 
build(deps): bump actions/setup-node from 3 to 4 (#111594)

* build(deps): bump actions/setup-node from 3 to 4

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
* Bump to Node.js 20

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2 years agogh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 (#111459)
Irit Katriel [Thu, 2 Nov 2023 10:18:43 +0000 (10:18 +0000)] 
gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1  (#111459)

2 years agogh-108082: Use PyErr_FormatUnraisable() (GH-111580)
Serhiy Storchaka [Thu, 2 Nov 2023 09:16:34 +0000 (11:16 +0200)] 
gh-108082: Use PyErr_FormatUnraisable() (GH-111580)

Replace most of calls of _PyErr_WriteUnraisableMsg() and some
calls of PyErr_WriteUnraisable(NULL) with PyErr_FormatUnraisable().

Co-authored-by: Victor Stinner <vstinner@python.org>
2 years agoRemove unnecessary includes (GH-111633)
Serhiy Storchaka [Thu, 2 Nov 2023 08:42:58 +0000 (10:42 +0200)] 
Remove unnecessary includes (GH-111633)

2 years agoGH-110894: Call loop exception handler for exceptions in client_connected_cb (#111601)
Kumar Aditya [Thu, 2 Nov 2023 07:38:18 +0000 (13:08 +0530)] 
GH-110894: Call loop exception handler for exceptions in client_connected_cb (#111601)

Call loop exception handler for exceptions in `client_connected_cb` of `asyncio.start_server` so that applications can handle it.

2 years agogh-111544: Fix mimalloc build on AIX (#111593)
Ayappan Perumal [Thu, 2 Nov 2023 07:01:50 +0000 (12:31 +0530)] 
gh-111544: Fix mimalloc build on AIX (#111593)

2 years agoGH-111435: Add Support for Sharing True and False Between Interpreters (gh-111436)
Anthony Shaw [Thu, 2 Nov 2023 00:09:01 +0000 (09:09 +0900)] 
GH-111435: Add Support for Sharing True and False Between Interpreters (gh-111436)

This only affects users of the APIs in pycore_crossinterp.h (AKA _xxsubinterpretersmodule.c and _xxinterpchannels.c).

2 years agogh-76785: Crossinterp utils additions (gh-111530)
Eric Snow [Wed, 1 Nov 2023 23:36:40 +0000 (17:36 -0600)] 
gh-76785: Crossinterp utils additions (gh-111530)

This moves several general internal APIs out of _xxsubinterpretersmodule.c and into the new Python/crossinterp.c (and the corresponding internal headers).

Specifically:

* _Py_excinfo, etc.:  the initial implementation for non-object exception snapshots (in pycore_pyerrors.h and Python/errors.c)
* _PyXI_exception_info, etc.:  helpers for passing an exception beween interpreters (wraps _Py_excinfo)
* _PyXI_namespace, etc.:  helpers for copying a dict of attrs between interpreters
* _PyXI_Enter(), _PyXI_Exit():  functions that abstract out the transitions between one interpreter and a second that will do some work temporarily

Again, these were all abstracted out of _xxsubinterpretersmodule.c as generalizations.  I plan on proposing these as public API at some point.

2 years agogh-111089: Use PyUnicode_AsUTF8() in getargs.c (#111620)
Victor Stinner [Wed, 1 Nov 2023 23:13:55 +0000 (00:13 +0100)] 
gh-111089: Use PyUnicode_AsUTF8() in getargs.c (#111620)

Replace PyUnicode_AsUTF8AndSize() with PyUnicode_AsUTF8() to remove
the explicit check for embedded null characters.

2 years agoHigh level docs for the VM state (#111621)
Guido van Rossum [Wed, 1 Nov 2023 22:55:10 +0000 (15:55 -0700)] 
High level docs for the VM state (#111621)

2 years agoGH-111485: Silence warnings in Python/executor_cases.c.h (#111619)
Guido van Rossum [Wed, 1 Nov 2023 21:24:52 +0000 (14:24 -0700)] 
GH-111485: Silence warnings in Python/executor_cases.c.h (#111619)

2 years agogh-106718: Treat PyConfig.stdlib_dir as highest-priority setting for stdlib_dir when...
Yilei Yang [Wed, 1 Nov 2023 21:11:18 +0000 (14:11 -0700)] 
gh-106718: Treat PyConfig.stdlib_dir as highest-priority setting for stdlib_dir when calculating paths (GH-108730)

2 years agogh-106168: Update PyList_SET_ITEM() What's New doc (#111618)
Victor Stinner [Wed, 1 Nov 2023 20:46:10 +0000 (21:46 +0100)] 
gh-106168: Update PyList_SET_ITEM() What's New doc (#111618)

2 years agogh-111374: Add a new PYTHON_FROZEN_MODULES env var, equivalent of `-X frozen_modules...
Yilei Yang [Wed, 1 Nov 2023 20:39:31 +0000 (13:39 -0700)] 
gh-111374: Add a new PYTHON_FROZEN_MODULES env var, equivalent of `-X frozen_modules`. (#111411)

Adds a new PYTHON_FROZEN_MODULES env var to correspond with -X frozen_modules.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter (#111428)
Guido van Rossum [Wed, 1 Nov 2023 20:13:02 +0000 (13:13 -0700)] 
gh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter (#111428)

- There is no longer a separate Python/executor.c file.
- Conventions in Python/bytecodes.c are slightly different -- don't use `goto error`,
  you must use `GOTO_ERROR(error)` (same for others like `unused_local_error`).
- The `TIER_ONE` and `TIER_TWO` symbols are only valid in the generated (.c.h) files.
- In Lib/test/support/__init__.py, `Py_C_RECURSION_LIMIT` is imported from `_testcapi`.
- On Windows, in debug mode, stack allocation grows from 8MiB to 12MiB.
- **Beware!** This changes the env vars to enable uops and their debugging
  to `PYTHON_UOPS` and `PYTHON_LLTRACE`.

2 years agoSimplify trivial calls of PyUnicode_FromFormat() (GH-111605)
Serhiy Storchaka [Wed, 1 Nov 2023 17:54:32 +0000 (19:54 +0200)] 
Simplify trivial calls of PyUnicode_FromFormat() (GH-111605)

2 years agogh-111089: Use PyUnicode_AsUTF8() in Argument Clinic (#111585)
Victor Stinner [Wed, 1 Nov 2023 15:34:42 +0000 (16:34 +0100)] 
gh-111089: Use PyUnicode_AsUTF8() in Argument Clinic (#111585)

Replace PyUnicode_AsUTF8AndSize() with PyUnicode_AsUTF8() to remove
the explicit check for embedded null characters.

The change avoids to have to include explicitly <string.h> to get the
strlen() function when using a recent version of the limited C API.

2 years agogh-111495: Add tests for PyBytes and PyByteArray C API (GH-111496)
Serhiy Storchaka [Wed, 1 Nov 2023 15:31:07 +0000 (17:31 +0200)] 
gh-111495: Add tests for PyBytes and PyByteArray C API (GH-111496)

2 years agoSimplify _PyPegen_join_names_with_dot() (GH-111602)
Serhiy Storchaka [Wed, 1 Nov 2023 14:25:36 +0000 (16:25 +0200)] 
Simplify _PyPegen_join_names_with_dot() (GH-111602)

2 years agoGH-111537: Avoid using `this_instr` in asserts. (GH-111600)
Mark Shannon [Wed, 1 Nov 2023 12:59:08 +0000 (12:59 +0000)] 
GH-111537: Avoid using `this_instr` in asserts. (GH-111600)

2 years agoGH-111485: Use micro-ops to split specialization code from base action (GH-111561)
Mark Shannon [Wed, 1 Nov 2023 10:53:27 +0000 (10:53 +0000)] 
GH-111485: Use micro-ops to split specialization code from base action (GH-111561)

2 years agogh-111576: Improve documention for tkinter.messagebox (GH-111578)
Serhiy Storchaka [Wed, 1 Nov 2023 10:27:02 +0000 (12:27 +0200)] 
gh-111576: Improve documention for tkinter.messagebox (GH-111578)

2 years agogh-111495: add stub files for C API test modules (GH-111586)
Sergey B Kirpichev [Wed, 1 Nov 2023 05:44:54 +0000 (08:44 +0300)] 
gh-111495: add stub files for C API test modules (GH-111586)

This is to reduce merge conflicts (Modules/Setup.stdlib.in) for
subsequent pull requests for the issue.

2 years agogh-110367: Make regrtest --verbose3 compatible with --huntrleaks -jN (#111577)
Victor Stinner [Wed, 1 Nov 2023 03:28:55 +0000 (04:28 +0100)] 
gh-110367: Make regrtest --verbose3 compatible with --huntrleaks -jN (#111577)

"./python -m test -j1 -R 3:3 --verbose3" now works as expected, since
run_single_test() does not replace sys.stdout with StringIO in this
case.

2 years agogh-110968: Py_MOD_PER_INTERPRETER_GIL_SUPPORTED was added to 3.12 (#111584)
Victor Stinner [Wed, 1 Nov 2023 03:24:33 +0000 (04:24 +0100)] 
gh-110968: Py_MOD_PER_INTERPRETER_GIL_SUPPORTED was added to 3.12 (#111584)

2 years agogh-111282: Fix NamedTemporaryFile example code (GH-111283)
Krzysiek Karbowiak [Tue, 31 Oct 2023 22:06:02 +0000 (23:06 +0100)] 
gh-111282: Fix NamedTemporaryFile example code (GH-111283)

2 years agogh-110774: allow setting the Runner(loop_factory=...) from IsolatedAsyncioTestCase...
Thomas Grainger [Tue, 31 Oct 2023 22:03:54 +0000 (15:03 -0700)] 
gh-110774: allow setting the Runner(loop_factory=...) from IsolatedAsyncioTestCase (#110776)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2 years agogh-108082: Add PyErr_FormatUnraisable() function (GH-111086)
Serhiy Storchaka [Tue, 31 Oct 2023 21:42:44 +0000 (23:42 +0200)] 
gh-108082: Add PyErr_FormatUnraisable() function (GH-111086)

2 years agogh-111420: Allow type comments in parenthesized `with` statements (#111468)
Tomas R [Tue, 31 Oct 2023 21:02:42 +0000 (22:02 +0100)] 
gh-111420: Allow type comments in parenthesized `with` statements (#111468)

2 years agogh-108765: Python.h no longer includes <stddef.h> on Windows (#111563)
Victor Stinner [Tue, 31 Oct 2023 20:53:57 +0000 (21:53 +0100)] 
gh-108765: Python.h no longer includes <stddef.h> on Windows (#111563)

In practice, only Windows is impacted, because the HAVE_STDDEF_H
macro was only defined on Windows.

2 years agogh-90815: Exclude mimalloc .c files from Windows build (#111532)
Dino Viehland [Tue, 31 Oct 2023 18:54:35 +0000 (11:54 -0700)] 
gh-90815: Exclude mimalloc .c files from Windows build (#111532)

* Don't include mimalloc .c's in Windows build
* Fix warnings on Windows related to mimalloc

2 years agogh-102249: Expand sys.call_tracing documentation (#102806)
Quentin Peter [Tue, 31 Oct 2023 16:24:54 +0000 (17:24 +0100)] 
gh-102249: Expand sys.call_tracing documentation (#102806)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2 years agogh-93607: document `root` attribute of `iterparse` (#99410)
Prometheus3375 [Tue, 31 Oct 2023 16:16:55 +0000 (19:16 +0300)] 
gh-93607: document `root` attribute of `iterparse` (#99410)

Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-106861: Docs: Add availability directives to all Unix-only modules (#108975)
xzmeng [Tue, 31 Oct 2023 16:14:27 +0000 (00:14 +0800)] 
gh-106861: Docs: Add availability directives to all Unix-only modules (#108975)

2 years agogh-111062: CI: Rename reusable-build-[X].yml to reusable-[X].yml (#111552)
Hugo van Kemenade [Tue, 31 Oct 2023 15:55:17 +0000 (17:55 +0200)] 
gh-111062: CI: Rename reusable-build-[X].yml to reusable-[X].yml (#111552)

2 years agogh-109181: Speed up Traceback object creation by lazily compute the line number ...
Pablo Galindo Salgado [Tue, 31 Oct 2023 15:02:31 +0000 (15:02 +0000)] 
gh-109181: Speed up Traceback object creation by lazily compute the line number (#111548)

Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
2 years agoGH-111438: Add Support for Sharing Floats Between Interpreters (gh-111439)
Anthony Shaw [Tue, 31 Oct 2023 14:17:20 +0000 (23:17 +0900)] 
GH-111438: Add Support for Sharing Floats Between Interpreters (gh-111439)

This only affects users of the APIs in pycore_crossinterp.h (AKA _xxsubinterpretersmodule.c and _xxinterpchannels.c).

2 years agoGH-111485: Remove some special cases from the code generator and bytecodes.c (GH...
Mark Shannon [Tue, 31 Oct 2023 13:21:07 +0000 (13:21 +0000)] 
GH-111485: Remove some special cases from the code generator and bytecodes.c (GH-111540)

2 years agoGH-111485: Increment `next_instr` consistently at the start of the instruction. ...
Mark Shannon [Tue, 31 Oct 2023 10:09:54 +0000 (10:09 +0000)] 
GH-111485: Increment `next_instr` consistently at the start of the instruction. (GH-111486)

2 years agogh-111531: Tkinter: fix reference leaks in bind_class() and bind_all() (GH-111533)
Serhiy Storchaka [Tue, 31 Oct 2023 06:48:52 +0000 (08:48 +0200)] 
gh-111531: Tkinter: fix reference leaks in bind_class() and bind_all() (GH-111533)

2 years agogh-111301: Move importlib.resources changes to the Removed section (#111509)
Karolina Surma [Tue, 31 Oct 2023 06:46:20 +0000 (07:46 +0100)] 
gh-111301: Move importlib.resources changes to the Removed section (#111509)

2 years agogh-111301: Move `importlib.resources.files` change to What's new in Python 3.12 ...
Karolina Surma [Tue, 31 Oct 2023 06:01:00 +0000 (07:01 +0100)] 
gh-111301: Move `importlib.resources.files` change to What's new in Python 3.12 (#111512)

2 years agogh-111062 CI: Update skip lists for resuable workflows (#111521)
Hugo van Kemenade [Tue, 31 Oct 2023 05:49:15 +0000 (07:49 +0200)] 
gh-111062 CI: Update skip lists for resuable workflows (#111521)

CI: Update skip lists

2 years agogh-111277: In summarize_stats.py, don't fail fast on invalid ratios (#111278)
Michael Droettboom [Tue, 31 Oct 2023 00:10:07 +0000 (20:10 -0400)] 
gh-111277: In summarize_stats.py, don't fail fast on invalid ratios (#111278)

2 years agogh-109329: Count tier2 opcode misses (#110561)
Michael Droettboom [Tue, 31 Oct 2023 00:02:45 +0000 (20:02 -0400)] 
gh-109329: Count tier2 opcode misses (#110561)

This keeps a separate 'miss' counter for each micro-opcode, incremented whenever a guard uop takes a deoptimization side exit.

2 years agogh-76785: Move the Cross-Interpreter Code to Its Own File (gh-111502)
Eric Snow [Mon, 30 Oct 2023 22:53:10 +0000 (16:53 -0600)] 
gh-76785: Move the Cross-Interpreter Code to Its Own File (gh-111502)

This is partly to clear this stuff out of pystate.c, but also in preparation for moving some code out of _xxsubinterpretersmodule.c.  This change also moves this stuff to the internal API (new: Include/internal/pycore_crossinterp.h).  @vstinner did this previously and I undid it.  Now I'm re-doing it. :/

2 years agogh-110697: Use CLOCK_RES in test_os.TimerfdTests (#111529)
Victor Stinner [Mon, 30 Oct 2023 22:47:59 +0000 (23:47 +0100)] 
gh-110697: Use CLOCK_RES in test_os.TimerfdTests (#111529)

More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.

2 years agogh-90815: Fix mimalloc atomic.h on Windows arm64 (#111527)
Victor Stinner [Mon, 30 Oct 2023 22:33:49 +0000 (23:33 +0100)] 
gh-90815: Fix mimalloc atomic.h on Windows arm64 (#111527)

mi_atomic_load_explicit() casts 'p' argument to drop the 'const'
qualifier on Windows arm64 platform. Fix the compiler warning:

    'function': different 'const' qualifiers
    (compiling source file ..\Objects\mimalloc\options.c)

2 years agogh-90815: Fix mimalloc build on WASI (#111524)
Victor Stinner [Mon, 30 Oct 2023 22:10:22 +0000 (23:10 +0100)] 
gh-90815: Fix mimalloc build on WASI (#111524)

Include <unistd.h> to get sbrk() function.

2 years agogh-90815: Fix _PyMem_MimallocEnabled() compiler warning (#111522)
Victor Stinner [Mon, 30 Oct 2023 22:05:49 +0000 (23:05 +0100)] 
gh-90815: Fix _PyMem_MimallocEnabled() compiler warning (#111522)

Don't declare _PyMem_MimallocEnabled() if WITH_PYMALLOC macro is not
defined (./configure --without-pymalloc).

Fix also a typo in _PyInterpreterState_FinalizeAllocatedBlocks().

2 years agoRemove myself from typing CODEOWNERS (#111523)
Ken Jin [Mon, 30 Oct 2023 21:08:26 +0000 (05:08 +0800)] 
Remove myself from typing CODEOWNERS (#111523)

2 years agogh-111181: Fix enum doctests (GH-111180)
Nikita Sobolev [Mon, 30 Oct 2023 19:56:29 +0000 (22:56 +0300)] 
gh-111181: Fix enum doctests (GH-111180)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2 years agogh-111366: Correctly show custom syntax error messages in the codeop module functions...
Pablo Galindo Salgado [Mon, 30 Oct 2023 19:24:21 +0000 (19:24 +0000)] 
gh-111366: Correctly show custom syntax error messages in the codeop module functions (#111384)

2 years agogh-111284: Make multiprocessing tests with threads faster and more reliable (GH-111285)
Serhiy Storchaka [Mon, 30 Oct 2023 17:18:36 +0000 (19:18 +0200)] 
gh-111284: Make multiprocessing tests with threads faster and more reliable (GH-111285)

2 years agogh-110481: Fix _Py_ThreadId for non-free-threaded mode (gh-111503)
Donghee Na [Mon, 30 Oct 2023 17:16:18 +0000 (02:16 +0900)] 
gh-110481: Fix _Py_ThreadId for non-free-threaded mode (gh-111503)

2 years agogh-108082: C API: Add tests for PyErr_WriteUnraisable() (GH-111455)
Serhiy Storchaka [Mon, 30 Oct 2023 17:01:03 +0000 (19:01 +0200)] 
gh-108082: C API: Add tests for PyErr_WriteUnraisable() (GH-111455)

Also document the behavior when called with NULL.

2 years agogh-109515: When generating deep frozen modules on Windows, use a list file instead...
Riccardo Ghetta [Mon, 30 Oct 2023 16:14:26 +0000 (17:14 +0100)] 
gh-109515: When generating deep frozen modules on Windows, use a list file instead of arguments (GH-109516)

2 years agogh-110481: Implement biased reference counting (gh-110764)
Sam Gross [Mon, 30 Oct 2023 16:06:09 +0000 (12:06 -0400)] 
gh-110481: Implement biased reference counting (gh-110764)

2 years agogh-90815: Add mimalloc memory allocator (#109914)
Dino Viehland [Mon, 30 Oct 2023 15:43:11 +0000 (08:43 -0700)] 
gh-90815: Add mimalloc memory allocator (#109914)

* Add mimalloc v2.12

Modified src/alloc.c to remove include of alloc-override.c and not
compile new handler.

Did not include the following files:

 - include/mimalloc-new-delete.h
 - include/mimalloc-override.h
 - src/alloc-override-osx.c
 - src/alloc-override.c
 - src/static.c
 - src/region.c

mimalloc is thread safe and shares a single heap across all runtimes,
therefore finalization and getting global allocated blocks across all
runtimes is different.

* mimalloc: minimal changes for use in Python:

 - remove debug spam for freeing large allocations
 - use same bytes (0xDD) for freed allocations in CPython and mimalloc
   This is important for the test_capi debug memory tests

* Don't export mimalloc symbol in libpython.
* Enable mimalloc as Python allocator option.
* Add mimalloc MIT license.
* Log mimalloc in Lib/test/pythoninfo.py.
* Document new mimalloc support.
* Use macro defs for exports as done in:
  https://github.com/python/cpython/pull/31164/

Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Christian Heimes <christian@python.org>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 years agogh-111062: Reusable Windows build that supports free-threaded mode as the conditional...
Donghee Na [Mon, 30 Oct 2023 15:30:40 +0000 (00:30 +0900)] 
gh-111062: Reusable Windows build that supports free-threaded mode as the conditional CI (#111493)

* gh-111062 Set up free-threaded CI for windows

Co-authored-by: Donghee Na <donghee.na@python.org>
* Apply suggestions from code review

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* Update

* Update names

* Add files

* Update

* Revert "Update"

This reverts commit 4f17e1af0dbce3b7959b93b41baaf040dee790cc.

* fix

---------

Co-authored-by: juanjose.tenorio <juanjose2611@gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-111062: Update name of reusable workflows for Ubuntu / macOS (gh-111494)
Donghee Na [Mon, 30 Oct 2023 15:15:22 +0000 (00:15 +0900)] 
gh-111062: Update name of reusable workflows for Ubuntu / macOS (gh-111494)

gh-111062 Update name of reusable workflows for linux / macOS

2 years agogh-111062: Reusable ubuntu build that supports free-threaded mode as the conditional...
NCLI [Mon, 30 Oct 2023 14:28:16 +0000 (23:28 +0900)] 
gh-111062: Reusable ubuntu build that supports free-threaded mode as the conditional CI (#111452)

Co-authored-by: Donghee Na <donghee.na92@gmail.com>
2 years agogh-106168: Check allocated instead of size index bounds in PyList_SET_ITEM() (#111480)
scoder [Mon, 30 Oct 2023 11:24:21 +0000 (12:24 +0100)] 
gh-106168: Check allocated instead of size index bounds in PyList_SET_ITEM() (#111480)

Check the index bound assertions in PyList_SET_ITEM() against [0:allocated] instead of [0:size] to re-allow valid use cases that assign within the allocated area.

2 years agoGH-111339: Fix initialization and finalization of static optimizer types (GH-111430)
Savannah Ostrowski [Sun, 29 Oct 2023 20:53:25 +0000 (13:53 -0700)] 
GH-111339: Fix initialization and finalization of static optimizer types (GH-111430)

2 years agogh-111165: Remove documentation for moved functions (GH-111467)
Serhiy Storchaka [Sun, 29 Oct 2023 19:34:22 +0000 (21:34 +0200)] 
gh-111165: Remove documentation for moved functions (GH-111467)

2 years agogh-101100: Fix sphinx warnings in `library/asyncio-eventloop.rst` (GH-111222)
Nikita Sobolev [Sun, 29 Oct 2023 19:31:01 +0000 (22:31 +0300)] 
gh-101100: Fix sphinx warnings in `library/asyncio-eventloop.rst` (GH-111222)

* gh-101100: Fix sphinx warnings in `library/asyncio-eventloop.rst`

* Update Doc/library/socket.rst

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* Update asyncio-eventloop.rst

* Update socket.rst

---------

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-111347: Remove wrong assertion in test_sendfile (#111377)
zcxsythenew [Sun, 29 Oct 2023 15:22:15 +0000 (23:22 +0800)] 
gh-111347: Remove wrong assertion in test_sendfile (#111377)

Windows is different.

2 years agogh-111062: Build both default and free-threaded on macOS (gh-111449)
Dima Tisnek [Sun, 29 Oct 2023 07:20:11 +0000 (16:20 +0900)] 
gh-111062: Build both default and free-threaded on macOS (gh-111449)

2 years agogh-94808: Add coverage test for number check (gh-111445)
Evan Kohilas [Sun, 29 Oct 2023 07:00:19 +0000 (09:00 +0200)] 
gh-94808: Add coverage test for number check (gh-111445)

2 years agogh-111062: Separate macOS build into a reusable workflow (gh-111444)
Dima Tisnek [Sun, 29 Oct 2023 06:12:16 +0000 (15:12 +0900)] 
gh-111062: Separate macOS build into a reusable workflow (gh-111444)

2 years agogh-66425: Remove the unreachable code to set `REMOTE_HOST` header (gh-111441)
c-bata [Sun, 29 Oct 2023 04:56:15 +0000 (13:56 +0900)] 
gh-66425: Remove the unreachable code to set `REMOTE_HOST` header (gh-111441)

2 years agogh-111426: Remove `test_cmd.test_coverage` (#111427)
Nikita Sobolev [Sat, 28 Oct 2023 23:01:53 +0000 (02:01 +0300)] 
gh-111426: Remove `test_cmd.test_coverage` (#111427)

2 years agoGH-110109: Move tests for `pathlib.Path.walk()` into main test classes. (#110655)
Barney Gale [Sat, 28 Oct 2023 21:26:36 +0000 (22:26 +0100)] 
GH-110109: Move tests for `pathlib.Path.walk()` into main test classes. (#110655)

2 years agogh-79033: Try to fix asyncio.Server.wait_closed() again (GH-111336)
Guido van Rossum [Sat, 28 Oct 2023 18:04:29 +0000 (11:04 -0700)] 
gh-79033: Try to fix asyncio.Server.wait_closed() again (GH-111336)

* Try to fix asyncio.Server.wait_closed() again

I identified the condition that `wait_closed()` is intended
to wait for: the server is closed *and* there are no more
active connections.

When this condition first becomes true, `_wakeup()` is called
(either from `close()` or from `_detach()`) and it sets `_waiters`
to `None`. So we just check for `self._waiters is None`; if it's
not `None`, we know we have to wait, and do so.

A problem was that the new test introduced in 3.12 explicitly
tested that `wait_closed()` returns immediately when the server
is *not* closed but there are currently no active connections.
This was a mistake (probably a misunderstanding of the intended
semantics). I've fixed the test, and added a separate test that
checks exactly for this scenario.

I also fixed an oddity where in `_wakeup()` the result of the
waiter was set to the waiter itself. This result is not used
anywhere and I changed this to `None`, to avoid a GC cycle.

* Update Lib/asyncio/base_events.py

---------

Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2 years agoCI: Include Python version in cache.config key (#111410)
Hugo van Kemenade [Sat, 28 Oct 2023 07:23:47 +0000 (10:23 +0300)] 
CI: Include Python version in cache.config key (#111410)

* Include Python version in cache.config key, after Python setup

* Remove EOL 3.7 from branch triggers

2 years agogh-111342: fix typo in math.sumprod (GH-111416)
Sergey B Kirpichev [Sat, 28 Oct 2023 04:52:04 +0000 (07:52 +0300)] 
gh-111342: fix typo in math.sumprod (GH-111416)

2 years agogh-110205: Fix asyncio ThreadedChildWatcher._join_threads() (#110884)
Guido van Rossum [Fri, 27 Oct 2023 22:44:12 +0000 (15:44 -0700)] 
gh-110205: Fix asyncio ThreadedChildWatcher._join_threads() (#110884)

- `ThreadedChildWatcher.close()` is now *officially* a no-op; `_join_threads()` never did anything.
- Threads created by that class are now named `asyncio-waitpid-NNN`.
- `test.test_asyncio.utils.TestCase.close_loop()` now waits for the child watcher's threads, but not forever; if a thread hangs, it raises `RuntimeError`.

2 years agogh-59013: Make line number of function breakpoint more precise (#110582)
Tian Gao [Fri, 27 Oct 2023 21:01:31 +0000 (14:01 -0700)] 
gh-59013: Make line number of function breakpoint more precise (#110582)

2 years agogh-108765: Include explicitly <unistd.h> in signalmodule.c (#111402)
Victor Stinner [Fri, 27 Oct 2023 20:56:12 +0000 (22:56 +0200)] 
gh-108765: Include explicitly <unistd.h> in signalmodule.c (#111402)

unistd.h is needed by alarm() and pause() functions.

2 years agogh-111406: Fix broken link to bpython's site (#111407)
Zack Cerza [Fri, 27 Oct 2023 18:36:22 +0000 (12:36 -0600)] 
gh-111406: Fix broken link to bpython's site (#111407)

2 years agoFix typos in import system docs (#111396)
Jonathan Berthias [Fri, 27 Oct 2023 13:20:55 +0000 (15:20 +0200)] 
Fix typos in import system docs (#111396)