Commit graph

125054 commits

Author SHA1 Message Date
Peter Bierma
8dfc743a1d
gh-128182: Add per-object memory access synchronization to ctypes (GH-128490) 2025-01-13 14:17:38 +01:00
Cheryl Sabella
5044c2245c
gh-67748: DOC:Add summary table for str methods in stdtypes.rst (GH-1709)
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2025-01-13 14:14:59 +01:00
Petr Viktorin
aa6579cb60
gh-127773: Disable attribute cache on incompatible MRO entries (GH-127924) 2025-01-13 14:10:41 +01:00
Bénédikt Tran
76ffaef729
gh-128078: Clear exception in anext before calling _PyGen_SetStopIterationValue (#128780)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-01-13 18:25:09 +05:30
Mark Shannon
517dc65ffc
GH-128682: Stronger checking of PyStackRef_CLOSE and DEAD. (GH-128683) 2025-01-13 12:37:48 +00:00
Bénédikt Tran
6ff8f82f92
gh-128150: Improve performances of uuid.uuid* constructor functions. (#128151)
We introduce a private constructor `UUID._from_int()` for RFC 4122/9562 UUIDs,
which takes the integral UUID value as input. The latter must have correctly set
its variant and version bits. We also make `UUID.__init__()` slightly more efficient.
2025-01-13 12:46:13 +01:00
Mark Shannon
39fc7ef4fe
GH-124483: Mark Py_DECREF, etc. as escaping for the JIT (GH-128678) 2025-01-13 11:42:45 +00:00
Hugo van Kemenade
afb9dc887c
gh-128595: Add test class helper to force no terminal colour (#128687)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2025-01-13 11:05:02 +00:00
Mark Shannon
ddd959987c
GH-128685: Specialize (rather than quicken) LOAD_CONST into LOAD_CONST_[IM]MORTAL (GH-128708) 2025-01-13 10:30:28 +00:00
Bénédikt Tran
29fe8072cf
gh-123345: improve fnmatch docs (#123346) 2025-01-13 11:21:22 +01:00
Ned Deily
b00e1254fc
gh-128690: temporarily do not use test_embed in PGO profile builds (#128771)
Temporarily do not use test_embed in PGO profile builds until the problem with test_init_pyvenv_cfg failing in some configurations is resolved.
2025-01-13 04:02:18 -05:00
Zanie Blue
6ecb620a0c
gh-90905: Allow cross-compilation on macOS (#128385) 2025-01-13 03:38:28 -05:00
sobolevn
6e1e780540
gh-128759: fix data race in type_modified_unlocked (#128764) 2025-01-13 07:40:52 +00:00
Hood Chatham
d0ecbdd838
gh-128627: Emscripten: Use wasm-gc based call adaptor if available (#128628)
Replaces the trampoline mechanism in Emscripten with an implementation that uses a
recently added feature of wasm-gc instead of JS type reflection, when that feature is
available.
2025-01-13 07:09:39 +08:00
Serhiy Storchaka
5e65a1acc0
gh-128731: Fix ResourceWarning in robotparser.RobotFileParser.read() (GH-128733) 2025-01-12 15:14:46 +02:00
Peter Bierma
f6c61bf2d7
gh-128717: Stop-the-world when setting the recursion limit (#128741) 2025-01-12 18:34:30 +05:30
Pieter Eendebak
ff39e3ff7b
gh-126703: Add freelist for PyMethodObject (#128594) 2025-01-12 18:31:49 +05:30
Serhiy Storchaka
5ace71713b
gh-128734: Fix ResourceWarning in urllib tests (GH-128735) 2025-01-12 12:53:17 +02:00
Serhiy Storchaka
cb72feb8a3
gh-128729: Fix RuntimeWarning in test_unittest (GH-128730) 2025-01-12 12:22:43 +02:00
Yan Yanchii
30268b5d2f
gh-128377: Skip test_cmd_line.test_non_interactive_output_buffering when PYTHONUNBUFFERED=1 (#128378)
The `test_cmd_line.test_non_interactive_output_buffering` test assumes a buffered `stdio`
without checking the `PYTHONUNBUFFERED` value. Instead of changing the environment
variable for the duration of the test, it is better to simply skip it.
2025-01-12 09:27:28 +01:00
Barney Gale
22a442181d
GH-128520: Divide pathlib ABCs into three classes (#128523)
In the private pathlib ABCs, rename `PurePathBase` to `JoinablePath`, and
split `PathBase` into `ReadablePath` and `WritablePath`. This improves the
API fit for read-only virtual filesystems.

The split of `PathBase` entails a similar split of `CopyWorker` (implements
copying) and the test cases in `test_pathlib_abc`.

In a later patch, we'll make `WritablePath` inherit directly from
`JoinablePath` rather than `ReadablePath`. For a couple of reasons,
this isn't quite possible yet.
2025-01-11 19:27:47 +00:00
Yan Yanchii
0946ed25b5
gh-128438: Add EnvironmentVarGuard for test_pdb.py (#128522) 2025-01-11 11:19:29 -05:00
9cel
3a570c6d58
Make the Python CLI error message style more consistent (GH-128129) 2025-01-11 11:17:35 +02:00
RUANG (James Roy)
553cdc6d68
gh-128696: Add arm64 to the get_platform return val description (#128701) 2025-01-11 01:03:12 +00:00
Adam Johnson
1b39b502d3
gh-128409: Document that pdb.post_mortem() accepts exceptions (#128410)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
2025-01-10 10:54:45 -05:00
Petr Viktorin
802556abfa
gh-127257: Add hex code to ssl "unknown error" message (GH-127360)
* ssl: Add hex error code to "unknown error" messages

To make it easier to vary the individual parts of the message,
replace the if-ladder with constant format strings by building
the string piece-wise with PyUnicodeWriter.

Use "unknown error (0x%x)" rather than just "unknown error" if we
can't get a better error message. (Hex makes sense as the error
includes two packed parts.)
2025-01-10 13:59:51 +01:00
Paulie Peña
688f3a0d4b
gh-128388: pyrepl on Windows: add meta and ctrl+arrow keybindings (GH-128389)
Fix `Lib/_pyrepl/windows_console.py` to support more keybindings, like the
`Ctrl`+`←` and `Ctrl`+`→` word-skipping keybindings and those with meta (i.e. Alt),
e.g. to `kill-word` or `backward-kill-word`.

Specifics: if Ctrl is pressed, emit "ctrl left" and "ctrl right" instead of just "left" or
"right," and if Meta/Alt is pressed, emit the special key code for meta before
emitting the other key that was pressed.

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
2025-01-10 13:52:19 +01:00
Bénédikt Tran
baf65715fc
gh-111178: fix UBSan failures for gdbmobject (GH-128178)
* fix UBSan failures for `gdbmobject`
* suppress unused return values
2025-01-10 11:52:36 +01:00
Bénédikt Tran
28ffdc5702
gh-111178: fix UBSan failures in Python/bltinmodule.c (GH-128235)
* fix UBSan failures for `filterobject`
* fix UBSan failures for `mapobject`
* fix UBSan failures for `zipobject`
2025-01-10 11:51:24 +01:00
Bénédikt Tran
613240bf03
gh-111178: fix UBSan failures in Objects/bytearrayobject.c (GH-128236)
* fix UBSan failures for `bytesiterobject`
* fix UBSan failures for `PyByteArrayObject`
2025-01-10 11:50:02 +01:00
Bénédikt Tran
295776c7f3
gh-111178: fix UBSan failures in Objects/bytesobject.c (GH-128237)
* remove redundant casts for `bytesobject`
* fix UBSan failures for `striterobject`
2025-01-10 11:48:06 +01:00
Bénédikt Tran
49d78158c0
gh-111178: fix UBSan failures in Modules/_bz2module.c (GH-128238) 2025-01-10 11:47:19 +01:00
Bénédikt Tran
6cf31750e0
gh-111178: fix UBSan failures in Objects/complexobject.c (GH-128241)
fix UBSan failures for `PyComplexObject`
2025-01-10 10:46:36 +00:00
sobolevn
65b484db97
gh-128694: Fix (env changed) error in test_inspect (#128702) 2025-01-10 13:25:02 +03:00
Bénédikt Tran
2fcdc8488c
gh-126862: Use Py_ssize_t instead of int when processing the number of super-classes (#127523) 2025-01-10 03:32:53 +00:00
Sam Gross
c1417487e9
gh-128691: Use deferred reference counting on _thread._local (#128693)
This change, along with the LOAD_ATTR specializations, makes the
"thread_local_read" micro benchmark in Tools/ftscalingbench/ftscalingbench.py
scale well to multiple threads.
2025-01-10 00:59:10 +00:00
sobolevn
087bb48aca
gh-127196: Fix crash in _interpreters, when shared had invalid encodings (#127220) 2025-01-09 19:45:35 +00:00
dgpb
8af5781094
gh-128650: Fix incorrect statement in partial documentation (gh-128651) 2025-01-09 13:32:00 -06:00
Kumar Aditya
7dc41ad6a7
gh-128002: fix asyncio.all_tasks against concurrent deallocations of tasks (#128541) 2025-01-09 21:26:00 +05:30
sobolevn
b725297cee
gh-128661: Fix typing.evaluate_forward_ref not showing deprecation (#128663)
gh-128661: Fix `typing.evaluate_forward_ref` not showing deprecataion
2025-01-09 18:15:13 +03:00
sobolevn
43ac9f5059
gh-128673: Increase coverage of typing.get_type_hints (#128674) 2025-01-09 17:25:03 +03:00
Peter Bierma
ea39c8b08d
gh-118915: Document PyUnstable_InterpreterState_GetMainModule (GH-128483) 2025-01-09 14:54:44 +01:00
Kumar Aditya
4322a318ea
gh-124433: fix docs for asyncio.Queue.task_done (#128669) 2025-01-09 17:50:12 +05:30
Kumar Aditya
b2adf55674
gh-126137: improve docs for loop.add_reader and loop.add_writer (#128666) 2025-01-09 15:40:45 +05:30
Petr Viktorin
1439b81928
gh-128629: Add Py_PACK_VERSION and Py_PACK_FULL_VERSION (GH-128630) 2025-01-09 11:10:28 +01:00
Kumar Aditya
4685401845
gh-79149: document reentrant safety of loop.call_soon_threadsafe (#128662)
Co-authored-by: Thomas Grainger <tagrain@gmail.com>
2025-01-09 09:19:05 +00:00
Tomas R.
a1284e9797
gh-97850: Remove the mention of removal from ResourceReader docs (#128602)
Remove the mention of removal from ResourceReader docs
2025-01-08 18:38:02 -05:00
Filipe Laíns 🇵🇸
58a9133fc2
acks: add myself (#128652) 2025-01-08 21:10:43 +00:00
Filipe Laíns 🇵🇸
34e840f9dd
GH-66409: check if exec_prefix is the same as prefix before searching executable_dir (#127974) 2025-01-08 20:23:16 +00:00
Brandt Bucher
004f9fd1f2
Remove unnecessary LIST_TO_TUPLE conversions (GH-126558) 2025-01-08 09:00:11 -08:00