summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-119577: Adjust DeprecationWarning when testing element truth values in ↵Jacob Walls2024-06-077-13/+21
| | | | | ElementTree (GH-119762) Adjust DeprecationWarning when testing element truth values in ElementTree, we're planning to go with the more natural True return rather than a disruptive harder to code around exception raise, and are deferring the behavior change for a few more releases.
* GH-119054: Add "Reading directories" section to pathlib docs (#119956)Barney Gale2024-06-061-95/+102
| | | | | | Add a dedicated subsection for `Path.iterdir()`-related methods, specifically `iterdir()`, `glob()`, `rglob()` and `walk()`. Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-120178: Documentation typo corrections (#120179)David Lowry-Duda2024-06-063-3/+3
|
* gh-117657: Fix TSAN race involving import lock (#118523)Sam Gross2024-06-067-105/+90
| | | | | This adds a `_PyRecursiveMutex` type based on `PyMutex` and uses that for the import lock. This fixes some data races in the free-threaded build and generally simplifies the import lock code.
* Add Tian Gao to CODEOWNERS and ACKS (GH-120166)Tian Gao2024-06-062-0/+5
|
* Restore decimal context after decimal doctests (GH-120149)Serhiy Storchaka2024-06-061-3/+7
| | | The modified context caused tests failures in several other tests.
* CODEOWNERS: Add myself to symtable and AST (#120139)Jelle Zijlstra2024-06-061-4/+5
| | | Co-authored-by: Carl Meyer <carl@oddbird.net>
* gh-120155: Initialize variables in _tkinter.c (#120156)Victor Stinner2024-06-061-2/+7
| | | Initialize variables in _tkinter.c to make static analyzers happy.
* gh-119679: Fix layout of PYD and DLL files on Windows when using PC/layout ↵Steve Dower2024-06-061-2/+2
| | | | script (GH-120133)
* gh-120111: Don't use cirrus M1 macOS runners on fork (#120116)Nice Zombies2024-06-062-5/+14
| | | Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
* gh-119786: move adaptive interpreter doc from Python to InternalsDoc (#120137)Irit Katriel2024-06-062-4/+7
|
* gh-120128: fix description of argument to ipaddress.collapse_addresses() ↵Jan Kaliszewski2024-06-052-2/+2
| | | | | | (#120131) The argument to collapse_addresses() is now described as an *iterable* (rather than *iterator*).
* pathlib ABCs: remove duplicate `realpath()` implementation. (#119178)Barney Gale2024-06-052-70/+57
| | | | | | | | | Add private `posixpath._realpath()` function, which is a generic version of `realpath()` that can be parameterised with string tokens (`sep`, `curdir`, `pardir`) and query functions (`getcwd`, `lstat`, `readlink`). Also add support for limiting the number of symlink traversals. In the private `pathlib._abc.PathBase` class, call `posixpath._realpath()` and remove our re-implementation of the same algorithm. No change to any public APIs, either in `posixpath` or `pathlib`. Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
* gh-115225: Raise error on unsupported ISO 8601 time strings (#119339)benchatt2024-06-054-0/+7
| | | | | | | | Some time strings that contain fractional hours or minutes are permitted by ISO 8601, but such strings are very unlikely to be intentional. The current parser does not parse such strings correctly or raise an error. This change raises a ValueError when hours or minutes contain a decimal mark. Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-119786: add links to code in exception handling doc (#120077)Irit Katriel2024-06-051-33/+16
|
* gh-120065: Increase `collect_in_thread` period to 5 ms. (#120068)Sam Gross2024-06-051-1/+1
| | | | | This matches the default GIL switch interval. It greatly speeds up the free-threaded build: previously, it spent nearly all its time in `gc.collect()`.
* gh-119287: clarify doc on BaseExceptionGroup.derive and link to it from ↵Irit Katriel2024-06-052-2/+5
| | | | contextlib.suppress (#119657)
* gh-119819: Update logging configuration to support joinable multiproc… ↵Vinay Sajip2024-06-052-3/+9
| | | | | (GH-120090) gh-119819: Update logging configuration to support joinable multiprocessing manager queues.
* gh-120078: Fix struct_time attr typo tm_day -> tm_mday in ↵shurj02024-06-051-1/+1
| | | | Doc/library/time.rst (GH-120081)
* gh-114616: Improve docs regarding changes to caches representation in dis ↵Irit Katriel2024-06-042-3/+11
| | | | (#120033)
* gh-119553: Fix console when pressing Ctrl-C within a multiline block (#120075)Lysandros Nikolaou2024-06-042-1/+3
|
* gh-119999: Fix potential race condition in `_Py_ExplicitMergeRefcount` (#120000)Sam Gross2024-06-041-8/+11
| | | | | | We need to write to `ob_ref_local` and `ob_tid` before `ob_ref_shared`. Once we mark `ob_ref_shared` as merged, some other thread may free the object because the caller also passes in `-1` as `extra` to give up its only reference.
* gh-119819: Update test to skip if _multiprocessing is unavailable. (GH-120067)Vinay Sajip2024-06-041-1/+1
|
* gh-120048: Make `test_imaplib` faster (#120050)Sam Gross2024-06-041-14/+8
| | | | | | | | | | | The `test_imaplib` was taking 40+ minutes in the refleak build bots because the tests waiting on a client `self._setup()` was creating a client that prevented progress until its connection timed out, which scaled with the global timeout. We should set `connect=False` for the tests that don't want `_setup()` to create a client. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-119842: Honor PyOS_InputHook in the new REPL (GH-119843)Pablo Galindo Salgado2024-06-048-11/+144
| | | | | Signed-off-by: Pablo Galindo <pablogsal@gmail.com> Co-authored-by: Łukasz Langa <lukasz@langa.pl> Co-authored-by: Michael Droettboom <mdboom@gmail.com>
* doc: Mention the missing reflected special methods for all binary operations ↵Paulo Freitas2024-06-041-7/+17
| | | | (GH-119931)
* gh-119553: Clear reader on Ctrl-C command (GH-119801)Lysandros Nikolaou2024-06-043-0/+19
|
* gh-120039: Reduce expected timeout in test_siginterrupt_off (#120047)Sam Gross2024-06-041-3/+3
| | | | | The process is expected to time out. In the refleak builds, `support.SHORT_TIMEOUT` is often five minutes and we run the tests six times, so test_signal was taking >30 minutes.
* gh-120041: Refactor check for visible completion menu in completing_reader ↵Lysandros Nikolaou2024-06-042-6/+4
| | | | (#120055)
* gh-112672: Fix builtin Tkinter with Tcl 9.0 (GH-112681)Christopher Chavez2024-06-042-14/+25
| | | | | | * Add declaration of Tcl_AppInit(), missing in Tcl 9.0. * Use Tcl_Size instead of int where needed. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-89928: Fix integer conversion of device numbers (GH-31794)Serhiy Storchaka2024-06-044-39/+99
| | | | | | Fix os.major(), os.minor() and os.makedev(). Support device numbers larger than 2**63-1. Support non-existent device number (NODEV).
* Fix incorrect pull GitHub link in What's New (#120045)Trey Hunner2024-06-041-1/+1
| | | Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
* gh-120041: Do not use append_to_screen when completions are visible (GH-120042)Lysandros Nikolaou2024-06-044-11/+55
|
* gh-119588: Update docs to reflect decision to include the change with Python ↵Jason R. Coombs2024-06-041-2/+2
| | | | 3.13 and not 3.12. (#120043)
* gh-120029: export `DEF_TYPE_PARAM` compiler flag (#120028)Bénédikt Tran2024-06-045-5/+24
|
* gh-117657: Fix race involving GC and heap initialization (#119923)Sam Gross2024-06-044-3/+7
| | | | | | | | | | | | The `_PyThreadState_Bind()` function is called before the first `PyEval_AcquireThread()` so it's not synchronized with the stop the world GC. We had a race where `gc_visit_heaps()` might visit a thread's heap while it's being initialized. Use a simple atomic int to avoid visiting heaps for threads that are not yet fully initialized (i.e., before `tstate_mimalloc_bind()` is called). The race was reproducible by running: `python Lib/test/test_importlib/partial/pool_in_threads.py`.
* gh-94808: Reorganize _make_posargs and mark unused code (GH-119227)Mark Jason Dominus (陶敏修)2024-06-041-13/+21
| | | | | | | | | | | * Reorganize four-way if-elsif-elsif-elsif as nested if-elses * Mark unused branch in _make_posargs `names_with_default` is never `NULL`, even if there are no names with defaults. In that case it points to a structure with `size` zero. Rather than eliminating the branch, we leave it behind with an `assert(0)` in case a future change to the grammar exercises the branch.
* gh-119819: Fix regression to allow logging configuration with multipr… ↵Vinay Sajip2024-06-043-1/+31
| | | | (GH-120030)
* gh-118868: logging QueueHandler fix passing of kwargs (GH-118869)Kaundur2024-06-043-8/+39
| | | | Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com> Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
* Fix typos in documentation and comments (#119763)Xie Yanbo2024-06-047-9/+9
|
* gh-111499: Fix PYTHONMALLOCSTATS at Python exit (#120021)Victor Stinner2024-06-041-6/+6
| | | | Call _PyObject_DebugMallocStats() earlier in Py_FinalizeEx(), before the interpreter is deleted.
* gh-119613: Soft deprecate the Py_MEMCPY() macro (#120020)Victor Stinner2024-06-042-0/+3
| | | Use directly memcpy() instead.
* gh-119070: Update test_shebang_executable_extension to always use ↵Steve Dower2024-06-041-3/+3
| | | | non-installed version (GH-119846)
* gh-119879: str.find(): Utilize last character gap for two-way periodic ↵d.grigonis2024-06-042-28/+36
| | | | needles (#119880)
* gh-106531: Apply changes from importlib_resources 6.3.2 (#117054)Jason R. Coombs2024-06-0416-146/+231
| | | Apply changes from importlib_resources 6.3.2.
* gh-119724: Revert "bpo-45759: Better error messages for non-matching ↵Petr Viktorin2024-06-044-612/+455
| | | | | | 'elif'/'else' statements (#29513)" (#119974) This reverts commit 1c8f912ebdfdb146cd7dd2d7a3a67d2c5045ddb0.
* gh-117398: Use Per-Interpreter State for the _datetime Static Types (gh-119929)Eric Snow2024-06-0313-166/+381
| | | | | | | We make use of the same mechanism that we use for the static builtin types. This required a few tweaks. The relevant code could use some cleanup but I opted to avoid the significant churn in this change. I'll tackle that separately. This change is the final piece needed to make _datetime support multiple interpreters. I've updated the module slot accordingly.
* gh-117142: Support Importing ctypes in Isolated Interpreters (gh-119991)Eric Snow2024-06-032-1/+3
| | | | | This makes the support official. Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
* gh-117398: Add datetime Module State (gh-119810)Eric Snow2024-06-035-162/+376
| | | | | | | | | | | | I was able to make use of the existing datetime_state struct, but there was one tricky thing I had to sort out. We mostly aren't converting to heap types, so we can't use things like PyType_GetModuleByDef() to look up the module state. The solution I came up with is somewhat novel, but I consider it straightforward. Also, it shouldn't have much impact on performance. In summary, this main changes here are: * I've added some macros to help hide how various objects relate to module state * as a solution to the module state lookup problem, I've stored the last loaded module on the current interpreter's internal dict (actually a weakref) * if the static type method is used after the module has been deleted, it is reloaded * to avoid extra work when loading the module, we directly copy the objects (new refs only) from the old module state into the new state if the old module hasn't been deleted yet * during module init we set various objects on the static types' __dict__s; to simplify things, we only do that the first time; once those static types have a separate __dict__ per interpreter, we'll do it every time * we now clear the module state when the module is destroyed (before, we were leaking everything in _datetime_global_state)
* gh-117657: Fix race involving immortalizing objects (#119927)Sam Gross2024-06-039-44/+30
| | | | | | | | | The free-threaded build currently immortalizes objects that use deferred reference counting (see gh-117783). This typically happens once the first non-main thread is created, but the behavior can be suppressed for tests, in subinterpreters, or during a compile() call. This fixes a race condition involving the tracking of whether the behavior is suppressed.