]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 years agogh-108303: Move more `typing` related files to `Lib/test/typinganndata` (#111825)
Nikita Sobolev [Wed, 8 Nov 2023 14:19:34 +0000 (17:19 +0300)] 
gh-108303: Move more `typing` related files to `Lib/test/typinganndata` (#111825)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2 years agogh-111662: Update socket module to use AC for optimizing performance (gh-111661)
Bogdan Romanyuk [Wed, 8 Nov 2023 14:03:52 +0000 (17:03 +0300)] 
gh-111662: Update socket module to use AC for optimizing performance (gh-111661)

2 years agoGH-111848: Tidy up tier 2 handling of FOR_ITER specialization by using DEOPT_IF inste...
Mark Shannon [Wed, 8 Nov 2023 13:31:55 +0000 (13:31 +0000)] 
GH-111848: Tidy up tier 2 handling of FOR_ITER specialization by using DEOPT_IF instead of jumps. (GH-111849)

2 years agogh-111089: Revert PyUnicode_AsUTF8() changes (#111833)
Victor Stinner [Tue, 7 Nov 2023 22:36:13 +0000 (23:36 +0100)] 
gh-111089: Revert PyUnicode_AsUTF8() changes (#111833)

* Revert "gh-111089: Use PyUnicode_AsUTF8() in Argument Clinic (#111585)"

This reverts commit d9b606b3d04fc56fb0bcc479d7d6c14562edb5e2.

* Revert "gh-111089: Use PyUnicode_AsUTF8() in getargs.c (#111620)"

This reverts commit cde1071b2a72e8261ca66053ef61431b7f3a81fd.

* Revert "gh-111089: PyUnicode_AsUTF8() now raises on embedded NUL (#111091)"

This reverts commit d731579bfb9a497cfb0076cb6b221058a20088fe.

* Revert "gh-111089: Add PyUnicode_AsUTF8() to the limited C API (#111121)"

This reverts commit d8f32be5b6a736dc2fc9dca3f1bf176c82fc9b44.

* Revert "gh-111089: Use PyUnicode_AsUTF8() in sqlite3 (#111122)"

This reverts commit 37e4e20eaa8f27ada926d49e5971fecf0477ad26.

2 years agogh-61199: Remove superfluous global statements from `base64._b32{en,de}code()*` ...
Romuald Brunet [Tue, 7 Nov 2023 22:32:44 +0000 (23:32 +0100)] 
gh-61199: Remove superfluous global statements from `base64._b32{en,de}code()*` (GH-111785)

Minor cleanup after commit 4ce6faa6c9591de6079347eccc9e61ae4e8d9e31

2 years agogh-111806: Fix `test_recursion` in `test_richcmp` on WASI builds (GH-111830)
Nikita Sobolev [Tue, 7 Nov 2023 21:37:29 +0000 (00:37 +0300)] 
gh-111806: Fix `test_recursion` in `test_richcmp` on WASI builds (GH-111830)

2 years agogh-111808: Fix recursion error on WASM in `test_typing` (GH-111819)
Nikita Sobolev [Tue, 7 Nov 2023 19:23:57 +0000 (22:23 +0300)] 
gh-111808: Fix recursion error on WASM in `test_typing` (GH-111819)

2 years agogh-81137: deprecate assignment of code object to a function of a mismatched type...
Irit Katriel [Tue, 7 Nov 2023 18:54:36 +0000 (18:54 +0000)] 
gh-81137: deprecate assignment of code object to a function of a mismatched type (#111823)

2 years agogh-111623: Add Support for Cross-interpreter tuples (gh-111628)
Anthony Shaw [Tue, 7 Nov 2023 17:58:29 +0000 (02:58 +0900)] 
gh-111623: Add Support for Cross-interpreter tuples (gh-111628)

2 years agogh-85098: Implement functional CLI of symtable (#109112)
Serhiy Storchaka [Tue, 7 Nov 2023 16:32:16 +0000 (18:32 +0200)] 
gh-85098: Implement functional CLI of symtable (#109112)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2 years agogh-106672: C API: Report indiscriminately ignored errors (GH-106674)
Serhiy Storchaka [Tue, 7 Nov 2023 13:58:04 +0000 (15:58 +0200)] 
gh-106672: C API: Report indiscriminately ignored errors (GH-106674)

Functions which indiscriminately ignore all errors now report them as
unraisable errors.

2 years agogh-111765: Move old PyFloat_* tests to Lib/test/test_capi/test_float.py (GH-111766)
Sergey B Kirpichev [Tue, 7 Nov 2023 11:40:58 +0000 (14:40 +0300)] 
gh-111765: Move old PyFloat_* tests to Lib/test/test_capi/test_float.py  (GH-111766)

2 years agoGH-111485: Allow arbitrary annotations on instructions and micro-ops. (GH-111697)
Mark Shannon [Tue, 7 Nov 2023 09:42:39 +0000 (09:42 +0000)] 
GH-111485: Allow arbitrary annotations on instructions and micro-ops. (GH-111697)

2 years agogh-79932: raise exception if frame.clear() is called on a suspended frame (#111792)
Irit Katriel [Tue, 7 Nov 2023 08:49:30 +0000 (08:49 +0000)] 
gh-79932: raise exception if frame.clear() is called on a suspended frame (#111792)

2 years agogh-110395: test: assert after the child dies. (#111816)
Gregory P. Smith [Tue, 7 Nov 2023 06:05:56 +0000 (22:05 -0800)] 
gh-110395: test: assert after the child dies. (#111816)

based on review from Victor Stinner.  I already made this edit in the 3.12 backport PR.

2 years agogh-111729: update generic syntax for `typing.Concatenate` sample code in `Doc/library...
方糖 [Tue, 7 Nov 2023 00:53:17 +0000 (08:53 +0800)] 
gh-111729: update generic syntax for `typing.Concatenate` sample code in `Doc/library/typing.rst` (#111734)

use new generic syntax

2 years agoGH-111485: Make BEFORE_WITH a uop (GH-111812)
Brandt Bucher [Tue, 7 Nov 2023 00:42:49 +0000 (16:42 -0800)] 
GH-111485: Make BEFORE_WITH a uop (GH-111812)

2 years agogh-76785: Move _Py_excinfo Functions Out of the Internal C-API (gh-111715)
Eric Snow [Mon, 6 Nov 2023 18:09:22 +0000 (11:09 -0700)] 
gh-76785: Move _Py_excinfo Functions Out of the Internal C-API (gh-111715)

I added _Py_excinfo to the internal API (and added its functions in Python/errors.c) in gh-111530 (9322ce9).  Since then I've had a nagging sense that I should have added the type and functions in its own PR.  While I do plan on using _Py_excinfo outside crossinterp.c very soon (see gh-111572/gh-111573), I'd still feel more comfortable if the _Py_excinfo stuff went in as its own PR.  Hence, here we are.

(FWIW, I may combine that with gh-111572, which I may, in turn, combine with gh-111573.  We'll see.)

2 years agogh-111698: Restrict Py_mod_multiple_interpreters to 3.12+ Under Py_LIMITED_API (gh...
Eric Snow [Mon, 6 Nov 2023 16:34:57 +0000 (09:34 -0700)] 
gh-111698: Restrict Py_mod_multiple_interpreters to 3.12+ Under Py_LIMITED_API (gh-111707)

This should have been done in gh-104148.

(A similar fix has already be done for that slot's value macros, and backported to 3.12.  See gh-110968.)

2 years agosimplify code to pop exception in frame_setlineno (#111702)
Irit Katriel [Mon, 6 Nov 2023 15:45:33 +0000 (15:45 +0000)] 
simplify code to pop exception in frame_setlineno (#111702)

2 years agogh-96954: Use skip_if_missing in test_makeunicodedata (GH-111764)
Dennis Sweeney [Mon, 6 Nov 2023 14:32:35 +0000 (09:32 -0500)] 
gh-96954: Use skip_if_missing in test_makeunicodedata (GH-111764)

skip_if_missing in test_makeunicodedata

2 years agoGH-111772: Specialize slot loads and stores for `_Py_T_OBJECT` (GH-111773)
Mark Shannon [Mon, 6 Nov 2023 13:55:04 +0000 (13:55 +0000)] 
GH-111772: Specialize slot loads and stores for `_Py_T_OBJECT` (GH-111773)

2 years agoGH-111646: Simplify optimizer, by compacting uops when making executor. (GH-111647)
Mark Shannon [Mon, 6 Nov 2023 11:28:52 +0000 (11:28 +0000)] 
GH-111646: Simplify optimizer, by compacting uops when making executor. (GH-111647)

2 years agogh-101180: Fix a bug where iso2022_jp_3 and iso2022_jp_2004 codecs read out of bounds...
Masayuki Moriyama [Mon, 6 Nov 2023 10:59:22 +0000 (19:59 +0900)] 
gh-101180: Fix a bug where iso2022_jp_3 and iso2022_jp_2004 codecs read out of bounds (gh-111695)

2 years agogh-109466: Add ipv6_mapped property to IPv4Address (#109467)
Charles Machalow [Sun, 5 Nov 2023 16:50:31 +0000 (08:50 -0800)] 
gh-109466: Add ipv6_mapped property to IPv4Address (#109467)

Adds the `IPv4Address.ipv6_mapped` property.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-111495: Add tests for PyComplex C API (GH-111591)
Sergey B Kirpichev [Sun, 5 Nov 2023 07:42:42 +0000 (10:42 +0300)] 
gh-111495: Add tests for PyComplex C API (GH-111591)

2 years agogh-111495: Add tests for PyFloat C API (GH-111624)
Sergey B Kirpichev [Sun, 5 Nov 2023 07:20:12 +0000 (10:20 +0300)] 
gh-111495: Add tests for PyFloat C API (GH-111624)

2 years agogh-111747: DOC: fix moved link to Documentation Translations (#111748)
partev [Sun, 5 Nov 2023 04:23:01 +0000 (00:23 -0400)] 
gh-111747: DOC: fix moved link to Documentation Translations (#111748)

Update old link in bugs.rst to the table of doc translators and translation repositories at Github.

2 years agogh-111719: Add extra check for alias command (#111720)
Tian Gao [Sat, 4 Nov 2023 23:05:22 +0000 (16:05 -0700)] 
gh-111719: Add extra check for alias command (#111720)

2 years agogh-110395: invalidate open kqueues after fork (#110517)
Davide Rizzo [Sat, 4 Nov 2023 21:45:24 +0000 (22:45 +0100)] 
gh-110395: invalidate open kqueues after fork (#110517)

Invalidate open select.kqueue instances after fork as the fd will be invalid in the child.

2 years agogh-80675: Set `f_trace_lines = True` on all frames upon `pdb.set_trace()` (#110881)
Tian Gao [Sat, 4 Nov 2023 19:59:36 +0000 (12:59 -0700)] 
gh-80675: Set `f_trace_lines = True` on all frames upon `pdb.set_trace()` (#110881)

2 years agogh-96954: use a directed acyclic word graph for storing the unicodedata codepoint...
CF Bolz-Tereick [Sat, 4 Nov 2023 14:56:58 +0000 (15:56 +0100)] 
gh-96954: use a directed acyclic word graph for storing the unicodedata codepoint names (#97906)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
2 years agoGH-110829: Ensure Thread.join() joins the OS thread (#110848)
Antoine Pitrou [Sat, 4 Nov 2023 13:59:24 +0000 (14:59 +0100)] 
GH-110829: Ensure Thread.join() joins the OS thread (#110848)

Joining a thread now ensures the underlying OS thread has exited. This is required for safer fork() in multi-threaded processes.

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2 years agogh-111666: Speed up `BaseExceptionGroup.{derive,split,subgroup}` (#111667)
Nikita Sobolev [Sat, 4 Nov 2023 09:59:46 +0000 (12:59 +0300)] 
gh-111666: Speed up `BaseExceptionGroup.{derive,split,subgroup}` (#111667)

2 years agogh-108303: Move `zip` and `tar` archives to `Lib/test/archivetestdata` (#111549)
Nikita Sobolev [Sat, 4 Nov 2023 09:57:53 +0000 (12:57 +0300)] 
gh-108303: Move `zip` and `tar` archives to `Lib/test/archivetestdata` (#111549)

2 years agogh-111159: Fix `SyntaxError` doctests for non-builtin exception classes (#111541)
Nikita Sobolev [Sat, 4 Nov 2023 09:54:10 +0000 (12:54 +0300)] 
gh-111159: Fix `SyntaxError` doctests for non-builtin exception classes (#111541)

2 years agogh-111495: Test C API functions with extreme sizes and indices (GH-111631)
Serhiy Storchaka [Sat, 4 Nov 2023 09:40:46 +0000 (11:40 +0200)] 
gh-111495: Test C API functions with extreme sizes and indices (GH-111631)

2 years agogh-111724: Fix doctest `ResourceWarning` in `howto/descriptor.rst` (#111725)
Nikita Sobolev [Sat, 4 Nov 2023 09:22:19 +0000 (12:22 +0300)] 
gh-111724: Fix doctest `ResourceWarning` in `howto/descriptor.rst` (#111725)

Close database connection explicitly in test cleanup.

2 years agogh-111644: Fix asyncio test_unhandled_exceptions() (#111713)
Victor Stinner [Sat, 4 Nov 2023 00:47:07 +0000 (01:47 +0100)] 
gh-111644: Fix asyncio test_unhandled_exceptions() (#111713)

Fix test_unhandled_exceptions() of test_asyncio.test_streams: break
explicitly a reference cycle.

Fix also StreamTests.tearDown(): the loop must not be closed
explicitly, but using set_event_loop() which takes care of shutting
down the executor with executor.shutdown(wait=True).
BaseEventLoop.close() calls executor.shutdown(wait=False).

2 years agogh-111644: Fix support threading_cleanup() (#111714)
Victor Stinner [Sat, 4 Nov 2023 00:18:42 +0000 (01:18 +0100)] 
gh-111644: Fix support threading_cleanup() (#111714)

Copy the list of dangling threads to make sure that the list of
"Dangling thread" is complete. Previously, the list was incomplete if
threads completed just before the list was displayed.

Changes:

* Rewrite the warning to make it easier to understand.
* Use support.sleeping_retry().
* threading_cleanup() no longer copies threading._dangling,
  but only counts the number of dangling thread.
* Remove support.gc_support() call.

2 years agogh-109649: Fix test_os.test_process_cpu_count_affinity() (#111689)
Victor Stinner [Fri, 3 Nov 2023 23:53:18 +0000 (00:53 +0100)] 
gh-109649: Fix test_os.test_process_cpu_count_affinity() (#111689)

When CPUs are isolated on Linux, os.process_cpu_count() is smaller
than os.cpu_count(). Fix the test for this case.

Example with "isolcpus=5,11 rcu_nocbs=5,11" options passed to a Linux
command line to isolated two logical CPUs:

$ ./python -c 'import os; print(os.process_cpu_count(), "/", os.cpu_count())'
10 / 12

2 years agoAdd a fuzz target for `_elementtree.XMLParser._parse_whole` (#111477)
Brad Larsen [Fri, 3 Nov 2023 21:01:56 +0000 (17:01 -0400)] 
Add a fuzz target for `_elementtree.XMLParser._parse_whole` (#111477)

* Add a fuzzer for `_elementtree.XMLParser._parse_whole`

2 years agogh-111684: Avoid a Compiler Warning (gh-111706)
Eric Snow [Fri, 3 Nov 2023 19:37:10 +0000 (13:37 -0600)] 
gh-111684: Avoid a Compiler Warning (gh-111706)

2 years agogh-111506: Implement Py_SET_REFCNT() as opaque function in limited C API (#111508)
Victor Stinner [Fri, 3 Nov 2023 17:18:57 +0000 (18:18 +0100)] 
gh-111506: Implement Py_SET_REFCNT() as opaque function in limited C API (#111508)

In the limited C API version 3.13, Py_SET_REFCNT() function is now
implemented as an opaque function call.

Add _Py_SetRefcnt() to the stable ABI.

2 years agogh-103615: Use local events for opcode tracing (GH-109472)
Tian Gao [Fri, 3 Nov 2023 16:39:50 +0000 (09:39 -0700)] 
gh-103615: Use local events for opcode tracing (GH-109472)

* Use local monitoring for opcode trace

* Remove f_opcode_trace_set

* Add test for setting f_trace_opcodes after settrace

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>