]>
git.ipfire.org Git - thirdparty/Python/cpython.git/log
Erlend E. Aasland [Sun, 6 Aug 2023 08:23:50 +0000 (10:23 +0200)]
Docs: Fix Sphinx annotations in Doc/library/ctypes.rst (#107672)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
cocoatomo [Sun, 6 Aug 2023 05:10:50 +0000 (14:10 +0900)]
GH-84435: Make pyspecific directives translatable (#19470)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
Alex Waygood [Sat, 5 Aug 2023 20:58:38 +0000 (21:58 +0100)]
gh-104683: Improve consistency and test coverage of argument-clinic `__repr__` functions (#107667)
Erlend E. Aasland [Sat, 5 Aug 2023 20:19:37 +0000 (22:19 +0200)]
Docs: Argument Clinic: Improve 'How to write a custom converter' (#107328)
- Omit unneccesary wording and sentences
- Don't mention implementation details (no digression, explanation)
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Terry Jan Reedy [Sat, 5 Aug 2023 14:38:20 +0000 (10:38 -0400)]
gh-107662: Switch 'any' and 'anext' in functions.rst (#107663)
Order was reversed in index at top, not in body.
Kumar Aditya [Sat, 5 Aug 2023 12:18:15 +0000 (17:48 +0530)]
GH-106684: raise `ResourceWarning` when `asyncio.StreamWriter` is not closed (#107650)
Daniele Procida [Sat, 5 Aug 2023 11:28:28 +0000 (13:28 +0200)]
gh-107432 Fix incorrect indentation in annotations HOWTO (#107445)
gh-107432 Fix incorrect indentation in annotations document
Body text in https://docs.python.org/3/howto/annotations.html was
indented throughout, and was being rendered in blockquote elements.
Guido van Rossum [Sat, 5 Aug 2023 04:50:36 +0000 (21:50 -0700)]
gh-106812: Fix two tiny bugs in analysis.py (#107649)
This fixes two tiny defects in analysis.py that I didn't catch on time in #107564:
- `get_var_names` in `check_macro_consistency` should skip `UNUSED` names.
- Fix an occurrence of `is UNUSED` (should be `==`).
Ivin Lee [Sat, 5 Aug 2023 04:10:46 +0000 (12:10 +0800)]
gh-106608: make uop trace variable length (#107531)
Executors are now more like tuples.
Brandt Bucher [Fri, 4 Aug 2023 23:24:50 +0000 (16:24 -0700)]
GH-84436: Skip refcounting for known immortals (GH-107605)
Barney Gale [Fri, 4 Aug 2023 23:12:12 +0000 (00:12 +0100)]
GH-70303: Emit FutureWarning when pathlib glob pattern ends with `**` (GH-105413)
In a future Python release, patterns with this ending will match both files
and directories. Users may add a trailing slash to remove the warning.
Alex Waygood [Fri, 4 Aug 2023 19:41:04 +0000 (20:41 +0100)]
gh-106368: Argument clinic: improve coverage for `self.valid_line()` calls (#107641)
Hugo van Kemenade [Fri, 4 Aug 2023 18:33:34 +0000 (21:33 +0300)]
Docs: Only include Plausible for html, not for epub etc (#107637)
Only include Plausible for html, not for epub etc
Erlend E. Aasland [Fri, 4 Aug 2023 17:49:07 +0000 (19:49 +0200)]
gh-104683: Argument Clinic: Use CConverter.length_name where possible (#107638)
Also make it a cached property.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Guido van Rossum [Fri, 4 Aug 2023 16:35:56 +0000 (09:35 -0700)]
gh-106812: Refactor cases_generator to allow uops with array stack effects (#107564)
Introducing a new file, stacking.py, that takes over several responsibilities related to symbolic evaluation of push/pop operations, with more generality.
Alex Waygood [Fri, 4 Aug 2023 14:56:50 +0000 (15:56 +0100)]
gh-104146: Argument clinic: remove dead code highlighted by the `vulture` tool (#107632)
Tomas R [Fri, 4 Aug 2023 14:34:04 +0000 (16:34 +0200)]
gh-107600: Docs: Update ctypes.ArgumentError error message (#107601)
Hugo van Kemenade [Fri, 4 Aug 2023 14:16:10 +0000 (17:16 +0300)]
Docs: upgrade to python-docs-theme 2023.7 (#107617)
Alex Waygood [Fri, 4 Aug 2023 13:28:13 +0000 (14:28 +0100)]
gh-104146: Argument clinic: Remove dead code flagged by mypy's `truthy-bool` check (#107627)
Erlend E. Aasland [Fri, 4 Aug 2023 12:13:10 +0000 (14:13 +0200)]
gh-107614: Normalise Argument Clinic error messages (#107615)
- always wrap the offending line, token, or name in quotes
- in most cases, put the entire error message on one line
Added tests for uncovered branches that were touched by this PR.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Mark Shannon [Fri, 4 Aug 2023 09:34:23 +0000 (10:34 +0100)]
Add some GC stats to Py_STATS (GH-107581)
Mark Shannon [Fri, 4 Aug 2023 09:10:29 +0000 (10:10 +0100)]
GH-107263: Increase C stack limit for most functions, except `_PyEval_EvalFrameDefault()` (GH-107535)
* Set C recursion limit to 1500, set cost of eval loop to 2 frames, and compiler mutliply to 2.
Erlend E. Aasland [Fri, 4 Aug 2023 07:48:32 +0000 (09:48 +0200)]
gh-106368: Increase Argument Clinic test coverage (#107611)
Add tests for directives and destinations
Erlend E. Aasland [Fri, 4 Aug 2023 05:28:25 +0000 (07:28 +0200)]
gh-107609: Fix duplicate module check in Argument Clinic (#107610)
Also remove duplicate module def from _testcapi.
Brandt Bucher [Fri, 4 Aug 2023 04:37:23 +0000 (21:37 -0700)]
GH-105481: Mark more files as generated (GH-107598)
Alex Waygood [Fri, 4 Aug 2023 00:17:17 +0000 (01:17 +0100)]
gh-104146: Argument clinic: remove unused methods and variables (#107608)
Alex Waygood [Thu, 3 Aug 2023 21:26:14 +0000 (22:26 +0100)]
gh-106368: Argument clinic tests: improve error message when `expect_success()` fails (#107606)
Eric Snow [Thu, 3 Aug 2023 19:51:08 +0000 (13:51 -0600)]
gh-107080: Fix Py_TRACE_REFS Crashes Under Isolated Subinterpreters (gh-107567)
The linked list of objects was a global variable, which broke isolation between interpreters, causing crashes. To solve this, we've moved the linked list to each interpreter.
Tian Gao [Thu, 3 Aug 2023 15:04:03 +0000 (07:04 -0800)]
gh-107446: Fix test_inspect.test_class_with_method_from_other_module when ran multiple times (#107451)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
James Hilton-Balfe [Thu, 3 Aug 2023 14:19:24 +0000 (15:19 +0100)]
gh-107576: Ensure `__orig_bases__` are our own in `get_original_bases` (#107584)
Co-authored-by: Chris Bouchard <chris@upliftinglemma.net>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Pablo Galindo Salgado [Thu, 3 Aug 2023 12:37:14 +0000 (13:37 +0100)]
gh-107077: Raise SSLCertVerificationError even if the error is set via SSL_ERROR_SYSCALL (#107586)
Co-authored-by: T. Wouters <thomas@python.org>
Erlend E. Aasland [Thu, 3 Aug 2023 09:35:26 +0000 (11:35 +0200)]
gh-106368: Increase Argument Clinic test coverage (#107582)
Add tests for DSL parser state machine and docstring formatting
Kumar Aditya [Thu, 3 Aug 2023 06:36:02 +0000 (12:06 +0530)]
GH-107458: fix test_tools refleak (#107577)
Tomas R [Thu, 3 Aug 2023 05:29:03 +0000 (07:29 +0200)]
gh-107455: ctypes: Improve error messages when converting to an incompatible type (#107456)
Erlend E. Aasland [Thu, 3 Aug 2023 00:00:06 +0000 (02:00 +0200)]
gh-104683: Rework Argument Clinic error handling (#107551)
Introduce ClinicError, and use it in fail(). The CLI runs main(),
catches ClinicError, formats the error message, prints to stderr
and exits with an error.
As a side effect, this refactor greatly improves the accuracy of
reported line numbers in case of error.
Also, adapt the test suite to work with ClinicError.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Eric Snow [Wed, 2 Aug 2023 20:55:09 +0000 (14:55 -0600)]
gh-107471: Fix Refleaks in test_import (gh-107569)
gh-107184 introduced a refleak in test_import.SubinterpImportTests (specifically test_singlephase_check_with_setting_and_override and test_single_init_extension_compat). We fix it here by making sure _testsinglephase is removed from sys.modules whenever we clear the runtime's internal state for the module.
The underlying problem is strictly contained in the internal function _PyImport_ClearExtension() (AKA _testinternalcapi.clear_extension()), which is only used in tests.
(This also fixes an intermittent segfault introduced in the same place, in test_disallowed_reimport.)
Erlend E. Aasland [Wed, 2 Aug 2023 19:37:36 +0000 (21:37 +0200)]
gh-104683: Make Argument Clinic template strings class level members (#107556)
The motivation for this change is to clean up the output_templates()
method a little bit, as it accounts for ~10% of the lines of code in
clinic.py; removing some clutter helps readability.
Guido van Rossum [Wed, 2 Aug 2023 19:05:25 +0000 (12:05 -0700)]
Fix test_capi.test_misc when run with -R:: (#107566)
Should fix the buildbot failures.
This creates a new function each time that test is run, like Victor did for other tests.
Mark Shannon [Wed, 2 Aug 2023 17:44:20 +0000 (18:44 +0100)]
GH-100964: Break cycles involving exception state when returning from generator (GH-107563)
Irit Katriel [Wed, 2 Aug 2023 17:16:57 +0000 (18:16 +0100)]
gh-105481: simplify definition of pseudo ops in Lib/opcode.py (#107561)
Erlend E. Aasland [Wed, 2 Aug 2023 13:33:10 +0000 (15:33 +0200)]
gh-106368: Increase test coverage for Argument Clinic (#107514)
As per this commit, we've got approx. ~91% test coverage for clinic.py.
Erlend E. Aasland [Wed, 2 Aug 2023 12:40:23 +0000 (14:40 +0200)]
gh-107559: Argument Clinic: complain about non-ASCII chars in param docstrings (#107560)
Previously, only function docstrings were checked for non-ASCII characters.
Also, improve the warn() message.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Erlend E. Aasland [Wed, 2 Aug 2023 09:22:17 +0000 (11:22 +0200)]
gh-104146: Remove dead code from Argument Clinic (#107555)
Erlend E. Aasland [Tue, 1 Aug 2023 23:32:27 +0000 (01:32 +0200)]
gh-104683: Argument Clinic: Refactor and simplify 'add docstring' states (#107550)
Introduce docstring_append() helper, and use it for both parameter and
function docstrings. Remove docstring fixup from
do_post_block_processing_cleanup(); instead, make sure no fixup is needed.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Alex Waygood [Tue, 1 Aug 2023 20:42:39 +0000 (21:42 +0100)]
gh-104683: Argument clinic: cleanup `DLSParser` `state_foo` methods (#107543)
Alexandru Mărășteanu [Tue, 1 Aug 2023 20:20:25 +0000 (21:20 +0100)]
Clarify `Self` interaction with subclasses (#107511)
Alex Waygood [Tue, 1 Aug 2023 20:10:54 +0000 (21:10 +0100)]
gh-104683: Argument clinic: remove the `LandMine` class (#107541)
Irit Katriel [Tue, 1 Aug 2023 20:05:48 +0000 (21:05 +0100)]
gh-105481: combine regen-opcode-targets with regen-opcode to avoid calculating the specialized opcodes in two places (#107540)
Irit Katriel [Tue, 1 Aug 2023 17:05:00 +0000 (18:05 +0100)]
gh-105481: the ENABLE_SPECIALIZATION flag does not need to be generated by the build script, or exposed in opcode.py (#107534)
Erlend E. Aasland [Tue, 1 Aug 2023 16:24:23 +0000 (18:24 +0200)]
gh-107467: Restructure Argument Clinic command-line interface (#107469)
- Use ArgumentParser.error() to handle CLI errors
- Put the entire CLI in main()
- Rework ClinicExternalTest to call main() instead of using subprocesses
Co-authored-by: AlexWaygood <alex.waygood@gmail.com>
Anders Kaseorg [Tue, 1 Aug 2023 09:32:18 +0000 (02:32 -0700)]
gh-106092: Fix use-after-free crash in frame_dealloc (#106875)
It was possible for the trashcan to delay the deallocation of a
PyFrameObject until after its corresponding _PyInterpreterFrame has
already been freed. So frame_dealloc needs to avoid dereferencing the
f_frame pointer unless it first checks that the pointer still points
to the interpreter frame within the frame object.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Hugo van Kemenade [Tue, 1 Aug 2023 07:47:24 +0000 (10:47 +0300)]
Remove newlines from bug template (#107525)
Pieter Eendebak [Tue, 1 Aug 2023 06:45:51 +0000 (08:45 +0200)]
gh-89013: Improve the performance of methodcaller (lazy version) (gh-107201)
Eric Snow [Mon, 31 Jul 2023 23:13:55 +0000 (17:13 -0600)]
gh-99113: Add a What's New Entry for PEP 684 (gh-107520)
Eric Snow [Mon, 31 Jul 2023 23:11:15 +0000 (17:11 -0600)]
gh-105766: Document that Custom Allocators Must Be Thread-Safe (gh-107519)
Eric Snow [Mon, 31 Jul 2023 23:03:01 +0000 (17:03 -0600)]
gh-107306: Add a Doc Entry for Py_mod_multiple_interpreters (#107403)
It was added in 3.12 for PEP 684 (per-interpreter GIL).
Erlend E. Aasland [Mon, 31 Jul 2023 21:33:13 +0000 (23:33 +0200)]
gh-107507: Replace 'The goals of Argument Clinic' with a summary (#107508)
Summarise the goals of Argument Clinic in a single sentence.
Mention that Argument Clinic was introduced with PEP-436.
Brandt Bucher [Mon, 31 Jul 2023 21:18:38 +0000 (14:18 -0700)]
Use tstate->interp to get the interpreter state in bytecodes.c (GH-107506)
Brandt Bucher [Mon, 31 Jul 2023 21:16:57 +0000 (14:16 -0700)]
GH-104584: Fix incorrect uoperands (GH-107513)
Jacob Walls [Mon, 31 Jul 2023 17:24:44 +0000 (13:24 -0400)]
gh-106762: Add news for `EnumMeta.__getattr__` removal (GH-107466)
Guido van Rossum [Mon, 31 Jul 2023 15:55:33 +0000 (08:55 -0700)]
GH-104909: Move unused cache entries from uops to macros (#107444)
There's no need to use a dummy uop to skip unused cache entries. The macro syntax lets you write `unused/1` instead.
Similarly, move `unused/5` from op `_LOAD_ATTR_INSTANCE_VALUE` to macro `LOAD_ATTR_INSTANCE_VALUE`.
Michael The [Mon, 31 Jul 2023 15:43:53 +0000 (17:43 +0200)]
gh-105578: Document that `AnyStr` is deprecated in py313 (#107116)
It will not be removed until Python 3.18.
Michael The [Mon, 31 Jul 2023 15:23:08 +0000 (17:23 +0200)]
gh-105578: Add more usage examples to `typing.AnyStr` docs (#107045)
``typing.AnyStr`` has different semantics to ``str | bytes``, which often leads to user confusion
opavliuk [Mon, 31 Jul 2023 14:33:26 +0000 (16:33 +0200)]
gh-87799: Improve the textual representation of IPv4-mapped IPv6 addresses (#29345)
Represent IPv4-mapped IPv6 address as x:x:x:x:x:x:d.d.d.d,
where the 'x's are the hexadecimal values
of the six high-order 16-bit pieces of the address,
and the 'd's are the decimal values
of the four low-order 8-bit pieces of the address
(standard IPv4 representation).
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
Tomas R [Mon, 31 Jul 2023 12:48:27 +0000 (14:48 +0200)]
gh-105751: Remove obsolete `object` base class in some ctypes tests (#107460)
Georg Brandl [Mon, 31 Jul 2023 12:07:17 +0000 (14:07 +0200)]
no-issue: Fix typo in import.c (gh-107498)
Erlend E. Aasland [Mon, 31 Jul 2023 11:50:03 +0000 (13:50 +0200)]
gh-106368: Add test for Argument Clinic misbehaving custom converter_init() (#107496)
Furkan Onder [Mon, 31 Jul 2023 08:33:37 +0000 (11:33 +0300)]
gh-104280: Add test cases for DTrace probes (#107125)
Konstantin [Mon, 31 Jul 2023 07:10:53 +0000 (09:10 +0200)]
gh-46376: Return existing pointer when possible in ctypes (#107131)
Ned Deily [Mon, 31 Jul 2023 06:05:47 +0000 (02:05 -0400)]
Update macOS installer screens to 3.13. (GH-107475)
Ned Deily [Mon, 31 Jul 2023 05:58:35 +0000 (01:58 -0400)]
gh-99079: Update macOS installer to use OpenSSL 3.0.9. (GH-107474)
Dong-hee Na [Sun, 30 Jul 2023 15:40:37 +0000 (00:40 +0900)]
gh-107427: Update the description of UNPACK_SEQUENCE (gh-107429)
Charlie Zhao [Sun, 30 Jul 2023 08:28:54 +0000 (16:28 +0800)]
gh-106263: Fix segfault in `signaldict_repr` in `_decimal` module (#106270)
Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
Alex Waygood [Sat, 29 Jul 2023 18:47:42 +0000 (19:47 +0100)]
gh-104683: Argument clinic: pass `clinic` as a parameter where possible (#107435)
Alex Waygood [Sat, 29 Jul 2023 18:46:52 +0000 (19:46 +0100)]
gh-104683: Argument clinic: Make the `filename` parameter to `Clinic` required (#107439)
Kumar Aditya [Sat, 29 Jul 2023 18:26:24 +0000 (23:56 +0530)]
add Kumar Aditya as CODEOWNER for import.c (#107441)
da-woods [Sat, 29 Jul 2023 17:41:40 +0000 (18:41 +0100)]
Fix the documentation for PyCode_New add `qualname` parameter (#107186)
Rakesh Sabale [Sat, 29 Jul 2023 17:04:46 +0000 (22:34 +0530)]
gh-107422: Remove outdated `TypedDict` example from typing docs (#107436)
Alex Waygood [Sat, 29 Jul 2023 14:42:44 +0000 (15:42 +0100)]
Improve the GitHub issue templates (#107150)
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Alex Waygood [Sat, 29 Jul 2023 12:39:21 +0000 (13:39 +0100)]
gh-104050: Argument clinic: enable mypy's `--warn-return-any` setting (#107405)
Inada Naoki [Sat, 29 Jul 2023 06:37:23 +0000 (15:37 +0900)]
gh-107369: optimize textwrap.indent() (#107374)
Serhiy Storchaka [Sat, 29 Jul 2023 05:48:10 +0000 (08:48 +0300)]
gh-101100: Sphinx warnings: pick the low hanging fruits (GH-107386)
Serhiy Storchaka [Sat, 29 Jul 2023 05:43:10 +0000 (08:43 +0300)]
gh-107091: Fix some uses of :func: role (GH-107378)
:c:func: or :c:macro: should be used instead.
James Cave [Sat, 29 Jul 2023 00:08:11 +0000 (20:08 -0400)]
gh-107089: Improve Shelf.clear method performance (gh-107090)
justdan6 [Fri, 28 Jul 2023 22:08:43 +0000 (16:08 -0600)]
gh-106881: Check for linux/limits.h before including it (#107397)
* Check for linux/limits.h before including it
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Eric Snow [Fri, 28 Jul 2023 22:00:03 +0000 (16:00 -0600)]
gh-107307: Update the importlib Docs for PEP 684 (gh-107400)
Eric Snow [Fri, 28 Jul 2023 20:39:08 +0000 (14:39 -0600)]
gh-105699: Use a _Py_hashtable_t for the PyModuleDef Cache (gh-106974)
This fixes a crasher due to a race condition, triggered infrequently when two isolated (own GIL) subinterpreters simultaneously initialize their sys or builtins modules. The crash happened due the combination of the "detached" thread state we were using and the "last holder" logic we use for the GIL. It turns out it's tricky to use the same thread state for different threads. Who could have guessed?
We solve the problem by eliminating the one object we were still sharing between interpreters. We replace it with a low-level hashtable, using the "raw" allocator to avoid tying it to the main interpreter.
We also remove the accommodations for "detached" thread states, which were a dubious idea to start with.
Alex Waygood [Fri, 28 Jul 2023 20:27:21 +0000 (21:27 +0100)]
gh-104050: Argument clinic: complete type annotations (#107399)
Eric Snow [Fri, 28 Jul 2023 19:46:55 +0000 (13:46 -0600)]
gh-107305: Update the C-API Docs for PEP 684 (gh-107324)
Alex Waygood [Fri, 28 Jul 2023 18:10:45 +0000 (19:10 +0100)]
gh-106368: Argument clinic: Fix minor bug in `state_modulename_name` (#107387)
Erlend E. Aasland [Fri, 28 Jul 2023 16:31:30 +0000 (18:31 +0200)]
gh-104629: Build _testclinic extension module on Windows (#104723)
Mark Shannon [Fri, 28 Jul 2023 16:07:33 +0000 (17:07 +0100)]
GH-101291: Add warning to "what's new" that `PyLongObject` internals have changed. (GH-107388)
Tom Niget [Fri, 28 Jul 2023 14:52:29 +0000 (16:52 +0200)]
Fix typo in comment (gh-107389)
Illia Volochii [Fri, 28 Jul 2023 13:39:54 +0000 (16:39 +0300)]
gh-102509: Start initializing `ob_digit` of `_PyLongValue` (GH-102510)
Mark Shannon [Fri, 28 Jul 2023 12:55:25 +0000 (13:55 +0100)]
GH-104580: Put `eval_breaker` back at the start of the interpreter state. (GH-107383)
Serhiy Storchaka [Fri, 28 Jul 2023 10:26:28 +0000 (13:26 +0300)]
gh-107091: Fix some uses of :const: role (GH-107379)
It is for references, not for literals.
Charlie Zhao [Fri, 28 Jul 2023 05:58:14 +0000 (13:58 +0800)]
gh-106078: Isolate `decimal` module (#107287)
Felipe A. Hernandez [Fri, 28 Jul 2023 05:04:26 +0000 (06:04 +0100)]
gh-106723: forward -Xfrozen_modules option to spawned process interpreters (#106724)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
Alex Waygood [Thu, 27 Jul 2023 23:57:55 +0000 (00:57 +0100)]
gh-106368: Argument clinic tests: improve failure message when tests in `ClinicExternalTests` fail (#107364)
Alex Waygood [Thu, 27 Jul 2023 21:51:18 +0000 (22:51 +0100)]
gh-104683: Argument clinic: cleanup `state_modulename_name()` (#107340)