summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-115567: Catch test_ctypes.test_callbacks.test_i38748_stackCorruption ↵Kirill Podoprigora2024-02-171-3/+4
| | | | stdout output (GH-115568)
* Document use of ANY in test assertions (GH-94060)Thomas Grainger2024-02-171-0/+8
|
* gh-107155: Fix help() for lambda function with return annotation (GH-107401)Kirill Podoprigora2024-02-173-2/+31
|
* gh-96497: Mangle name before symtable lookup in ↵wookie1842024-02-173-4/+34
| | | | 'symtable_extend_namedexpr_scope' (GH-96561)
* gh-97590: Update docs and tests for ftplib.FTP.voidcmd() (GH-96825)Matthew Hughes2024-02-172-4/+4
| | | | Since 2f3941d743481ac48628b8b2c075f2b82762050b this function returns the response string, rather than nothing.
* gh-95782: Fix io.BufferedReader.tell() etc. being able to return offsets < 0 ↵6t8k2024-02-174-3/+62
| | | | | | | | | | | | | | | | | | | | (GH-99709) lseek() always returns 0 for character pseudo-devices like `/dev/urandom` (for other non-regular files, e.g. `/dev/stdin`, it always returns -1, to which CPython reacts by raising appropriate exceptions). They are thus technically seekable despite not having seek semantics. When calling read() on e.g. an instance of `io.BufferedReader` that wraps such a file, `BufferedReader` reads ahead, filling its buffer, creating a discrepancy between the number of bytes read and the internal `tell()` always returning 0, which previously resulted in e.g. `BufferedReader.tell()` or `BufferedReader.seek()` being able to return positions < 0 even though these are supposed to be always >= 0. Invariably keep the return value non-negative by returning max(former_return_value, 0) instead, and add some corresponding tests.
* gh-56499: Update the pickle library's note section for the __setstate__ ↵Furkan Onder2024-02-171-2/+2
| | | | function (GH-101062)
* gh-87688: Amend SSLContext.hostname_checks_common_name docs (GH-100517)Rami2024-02-171-1/+1
|
* gh-100884: email/_header_value_parser: don't encode list separators (GH-100885)Thomas Weißschuh2024-02-173-1/+9
| | | | | ListSeparator should not be encoded. This could happen when a long line pushes its separator to the next line, which would have been encoded.
* gh-100985: Consistently wrap IPv6 IP address during CONNECT (GH-100986)Derek Higgins2024-02-174-5/+29
| | | | | | Update _get_hostport to always remove square brackets from IPv6 addresses. Then add them if needed in "CONNECT .." and "Host: ".
* gh-101100: Fix Sphinx warnings in `whatsnew/3.2.rst` (#115580)Hugo van Kemenade2024-02-173-43/+44
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-101100: Fix Sphinx warnings in `whatsnew/3.1.rst` (#115575)Hugo van Kemenade2024-02-172-10/+13
|
* gh-101384: Add socket timeout to ThreadedVSOCKSocketStreamTest and skip it ↵Peter Jiping Xie2024-02-171-0/+3
| | | | on WSL (GH-101419)
* gh-101699: Explain using Match.expand with \g<0> (GH-101701)Stevoisiak2024-02-171-1/+2
| | | | | | | Update documentation for re library to explain that a backreference `\g<0>` is expanded to the entire string when using Match.expand(). Note that numeric backreferences to group 0 (`\0`) are not supported. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-113812: Allow DatagramTransport.sendto to send empty data (#115199)Jamie Phan2024-02-178-16/+50
| | | | Also include the UDP packet header sizes (8 bytes per packet) in the buffer size reported to the flow control subsystem.
* gh-111968: Split _Py_async_gen_asend_freelist out of _Py_async_gen_fr… ↵Donghee Na2024-02-172-25/+39
| | | | (gh-115546)
* docs: Add glossary term references to shutil docs (#115559)Brian Schubert2024-02-161-4/+4
| | | Add glossary term references to shutil docs
* gh-85294: Handle missing arguments to @singledispatchmethod gracefully ↵Ammar Askar2024-02-163-2/+23
| | | | | | (GH-21471) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-115103: Implement delayed memory reclamation (QSBR) (#115180)Sam Gross2024-02-1618-2/+577
| | | | | | This adds a safe memory reclamation scheme based on FreeBSD's "GUS" and quiescent state based reclamation (QSBR). The API provides a mechanism for callers to detect when it is safe to free memory that may be concurrently accessed by readers.
* gh-115556: Remove quotes from command-line arguments in test.bat and rt.bat ↵Łukasz Langa2024-02-163-21/+29
| | | | | | | | | | | | (#115557) This change essentially replaces usage of `%1` with `%~1`, which removes quotes, if any. Without this change, the if statements fail due to the quotes mangling the syntax. Additionally, this change works around comma being treated as a parameter delimiter in test.bat by escaping commas at time of parsing. Tested combinations of rt and regrtest arguments, all seems to work as before but now you can specify commas in arguments like "-uall,extralargefile".
* gh-112720: make it easier to subclass and modify dis.ArgResolver's jump arg ↵Irit Katriel2024-02-163-11/+37
| | | | resolution (#115564)
* gh-114271: Make `thread._rlock` thread-safe in free-threaded builds (#115102)mpage2024-02-165-10/+68
| | | | | | | | | The ID of the owning thread (`rlock_owner`) may be accessed by multiple threads without holding the underlying lock; relaxed atomics are used in place of the previous loads/stores. The number of times that the lock has been acquired (`rlock_count`) is only ever accessed by the thread that holds the lock; we do not need to use atomics to access it.
* gh-115480: Type / constant propagation for float binary uops (GH-115550)Peter Lazorchak2024-02-163-38/+184
| | | Co-authored-by: Ken Jin <kenjin@python.org>
* gh-115362: Add documentation to pystats output (#115365)Michael Droettboom2024-02-161-77/+224
|
* gh-113743: Give _PyTypes_AfterFork a prototype. (gh-115563)Benjamin Peterson2024-02-161-1/+1
| | | Fixes a compiler warning.
* gh-112529: Make the GC scheduling thread-safe (#114880)Sam Gross2024-02-167-16/+71
| | | | | | | | | | The GC keeps track of the number of allocations (less deallocations) since the last GC. This buffers the count in thread-local state and uses atomic operations to modify the per-interpreter count. The thread-local buffering avoids contention on shared state. A consequence is that the GC scheduling is not as precise, so "test_sneaky_frame_object" is skipped because it requires that the GC be run exactly after allocating a frame object.
* gh-115480: Minor fixups in int constant propagation (GH-115507)Ken Jin2024-02-163-132/+59
|
* gh-102013: Move PyUnstable_GC_VisitObjects() to Include/cpython/objimpl.h ↵Victor Stinner2024-02-162-19/+17
| | | | | | (#115560) Include/objimpl.h must only contain the limited C API, whereas PyUnstable_GC_VisitObjects() is excluded from the limited C API.
* Add `Python/tier2_redundancy_eliminator_cases.c.h` to `.gitattributes` as ↵Nikita Sobolev2024-02-161-1/+1
| | | | generated (#115551)
* gh-69990: Make Profile.print_stats support sorting by multiple values ↵Furkan Onder2024-02-165-4/+20
| | | | | | (GH-104590) Co-authored-by: Chiu-Hsiang Hsu
* gh-113317: Argument Clinic: move C/Py identifier helpers into libclinic ↵Erlend E. Aasland2024-02-163-29/+45
| | | | (#115520)
* gh-115503: Fix `run_presite` error handling (#115504)Nikita Sobolev2024-02-161-1/+0
|
* gh-111968: Split _Py_dictkeys_freelist out of _Py_dict_freelist (gh-115505)Donghee Na2024-02-167-59/+77
|
* gh-113743: Use per-interpreter locks for types (#115541)Dino Viehland2024-02-163-4/+5
| | | Move type-lock to per-interpreter lock to avoid heavy contention in interpreters test
* gh-114572: Fix locking in cert_store_stats and get_ca_certs (#114573)David Benjamin2024-02-162-5/+64
| | | | | | | | | | | | | | | | | * gh-114572: Fix locking in cert_store_stats and get_ca_certs cert_store_stats and get_ca_certs query the SSLContext's X509_STORE with X509_STORE_get0_objects, but reading the result requires a lock. See https://github.com/openssl/openssl/pull/23224 for details. Instead, use X509_STORE_get1_objects, newly added in that PR. X509_STORE_get1_objects does not exist in current OpenSSLs, but we can polyfill it with X509_STORE_lock and X509_STORE_unlock. * Work around const-correctness problem * Add missing X509_STORE_get1_objects failure check * Add blurb
* gh-113317: Argument Clinic: move linear_format into libclinic (#115518)Erlend E. Aasland2024-02-154-56/+76
|
* gh-115498: Fix `SET_COUNT` error handling in `_xxinterpchannelsmodule` (#115499)Nikita Sobolev2024-02-151-1/+1
|
* 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.