summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GH-113528: pathlib ABC tests: add repr to dummy path classes. (#113777)Barney Gale2024-01-061-0/+6
| | | | | The `DummyPurePath` and `DummyPath` test classes are simple subclasses of `PurePathBase` and `PathBase`. This commit adds `__repr__()` methods to the dummy classes, which makes debugging test failures less painful.
* gh-107901: synthetic jumps which are not at end of loop no longer check the ↵Irit Katriel2024-01-067-53/+108
| | | | eval breaker (#113721)
* gh-111488: Changed error message in case of no 'in' keyword after 'for' in ↵Grigoriev Semyon2024-01-065-1592/+1820
| | | | cmp (#113656)
* gh-113537: support loads str in plistlib.loads (#113582)AN Long2024-01-064-3/+24
| | | Add support for loading XML plists from a string value instead of a only bytes value.
* gh-113729: Fix IDLE's Help -> "IDLE Help" menu bug in 3.12.1 and 3.11.7 ↵Ronald Oussoren2024-01-065-20/+26
| | | | | (#113731) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
* gh-113750: Fix object resurrection in free-threaded builds (gh-113751)Sam Gross2024-01-063-6/+14
| | | | | | | | | gh-113750: Fix object resurrection on free-threaded builds This avoids the undesired re-initializing of fields like `ob_gc_bits`, `ob_mutex`, and `ob_tid` when an object is resurrected due to its finalizer being called. This change has no effect on the default (with GIL) build.
* GH-113568: Stop raising deprecation warnings from pathlib ABCs (#113757)Barney Gale2024-01-055-24/+46
|
* gh-113360: Fix the documentation of module's attribute __test__ (GH-113393)Serhiy Storchaka2024-01-051-3/+3
| | | It can only be a dict since Python 2.4.
* gh-85567: Fix resouce warnings in pickle and pickletools CLIs (GH-113618)Serhiy Storchaka2024-01-053-13/+30
| | | Explicitly open and close files instead of using FileType.
* GH-113568: Stop raising auditing events from pathlib ABCs (#113571)Barney Gale2024-01-055-35/+64
| | | | | Raise auditing events in `pathlib.Path.glob()`, `rglob()` and `walk()`, but not in `pathlib._abc.PathBase` methods. Also move generation of a deprecation warning into `pathlib.Path` so it gets the right stack level.
* gh-113688: Split up gcmodule.c (gh-113715)Sam Gross2024-01-059-1960/+2031
| | | | | This splits part of Modules/gcmodule.c of into Python/gc.c, which now contains the core garbage collection implementation. The Python module remain in the Modules/gcmodule.c file.
* gh-112532: Tag mimalloc heaps and pages (#113742)Sam Gross2024-01-057-16/+35
| | | | | | | | | | | | | | | | | | | | | * gh-112532: Tag mimalloc heaps and pages Mimalloc pages are data structures that contain contiguous allocations of the same block size. Note that they are distinct from operating system pages. Mimalloc pages are contained in segments. When a thread exits, it abandons any segments and contained pages that have live allocations. These segments and pages may be later reclaimed by another thread. To support GC and certain thread-safety guarantees in free-threaded builds, we want pages to only be reclaimed by the corresponding heap in the claimant thread. For example, we want pages containing GC objects to only be claimed by GC heaps. This allows heaps and pages to be tagged with an integer tag that is used to ensure that abandoned pages are only claimed by heaps with the same tag. Heaps can be initialized with a tag (0-15); any page allocated by that heap copies the corresponding tag. * Fix conversion warning
* gh-101100: Fix Sphinx warnings in `library/pyclbr.rst` (#113739)Hugo van Kemenade2024-01-053-50/+58
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-80532: Do not set ipv6type when cross-compiling (#17956)Zackery Spytz2024-01-053-2/+3
| | | Co-authored-by: Xavier de Gaye <xdegaye@gmail.com>
* gh-101100: Fix Sphinx warnings for 2.6 deprecations and removals (#113725)Hugo van Kemenade2024-01-058-57/+57
| | | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-113703: Correctly identify incomplete f-strings in the codeop module ↵Pablo Galindo Salgado2024-01-053-2/+11
| | | | (#113709)
* GH-113486: Do not emit spurious PY_UNWIND events for optimized calls to ↵Mark Shannon2024-01-056-28/+64
| | | | classes. (GH-113680)
* gh-113320: Reduce the number of dangerous `getattr()` calls when ↵Alex Waygood2024-01-053-20/+68
| | | | | | | constructing protocol classes (#113401) - Only attempt to figure out whether protocol members are "method members" or not if the class is marked as a runtime protocol. This information is irrelevant for non-runtime protocols; we can safely skip the risky introspection for them. - Only do the risky getattr() calls in one place (the runtime_checkable class decorator), rather than in three places (_ProtocolMeta.__init__, _ProtocolMeta.__instancecheck__ and _ProtocolMeta.__subclasscheck__). This reduces the number of locations in typing.py where the risky introspection could go wrong. - For runtime protocols, if determining whether a protocol member is callable or not fails, give a better error message. I think it's reasonable for us to reject runtime protocols that have members which raise strange exceptions when you try to access them. PEP-544 clearly states that all protocol member must be callable for issubclass() calls against the protocol to be valid -- and if a member raises when we try to access it, there's no way for us to figure out whether it's a callable member or not!
* gh-112532: Isolate abandoned segments by interpreter (#113717)Sam Gross2024-01-047-76/+102
| | | | | | | | | | | | | | | * gh-112532: Isolate abandoned segments by interpreter Mimalloc segments are data structures that contain memory allocations along with metadata. Each segment is "owned" by a thread. When a thread exits, it abandons its segments to a global pool to be later reclaimed by other threads. This changes the pool to be per-interpreter instead of process-wide. This will be important for when we use mimalloc to find GC objects in the `--disable-gil` builds. We want heaps to only store Python objects from a single interpreter. Absent this change, the abandoning and reclaiming process could break this isolation. * Add missing '&_mi_abandoned_default' to 'tld_empty'
* GH-113225: Speed up `pathlib.Path.glob()` (#113226)Barney Gale2024-01-042-1/+8
| | | | Use `os.DirEntry.path` as the string representation of child paths, unless the parent path is empty, in which case we use the entry `name`.
* gh-113538: Don't error in stream reader protocol callback when task is ↵Guido van Rossum2024-01-043-7/+21
| | | | cancelled (#113690)
* gh-113569: Display calls in Mock.assert_has_calls failure when empty (GH-113573)wookie1842024-01-043-18/+28
|
* gh-113696: Docs: Annotate PyObject_CallOneArg and PyObject_CallNoArgs as ↵Jamie Phan2024-01-041-0/+7
| | | | returning a strong reference (#113697)
* GH-113689: Fix broken handling of invalid executors (GH-113694)Brandt Bucher2024-01-042-2/+4
|
* gh-52161: Enhance Cmd support for docstrings (#110987)Filip Łapkiewicz2024-01-032-1/+4
| | | | | In `cmd.Cmd.do_help` call `inspect.cleandoc()`, to clean indentation and remove leading/trailing empty lines from a dosctring before printing.
* Document the `co_lines` method on code objects (#113682)Alex Waygood2024-01-036-12/+51
| | | Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-113258: Write frozen modules to the build tree on Windows (GH-113303)Itamar Oren2024-01-035-56/+61
| | | This ensures the source directory is not modified at build time, and different builds (e.g. different versions or GIL vs no-GIL) do not have conflicts.
* gh-113603: Compiler no longer tries to maintain the no-empty-block invariant ↵Irit Katriel2024-01-033-78/+52
| | | | (#113636)
* gh-111926: Set up basic sementics of weakref API for freethreading (gh-113621)Donghee Na2024-01-031-19/+37
| | | | | --------- Co-authored-by: Sam Gross <colesbury@gmail.com>
* gh-101100: Fix Sphinx warnings for removed dead batteries (#113669)Hugo van Kemenade2024-01-0319-53/+53
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* `functools.partial` docs: Use the more common spelling for "referenceable" ↵Rodrigo Girão Serrão2024-01-031-1/+1
| | | | (#113675)
* gh-113637: Let c_annotations.py to handle the spacing of Limited/Unstable ↵Ege Akman2024-01-033-12/+14
| | | | API & Stable ABI translation strings (#113638)
* GH-113595: Don't enter invalid executor (GH-113596)Mark Shannon2024-01-032-19/+39
|
* gh-113628: Fix test_site test with long stdlib paths (#113640)Itamar Oren2024-01-031-22/+21
|
* GH-113657: Add back missing _SET_IP uops in tier two (GH-113662)Brandt Bucher2024-01-022-2/+5
|
* gh-110824 Temporarily skip test_sysconfig.test_library on macOS framework ↵Skip Montanaro2024-01-021-2/+7
| | | | | builds. (GH-113298) Co-authored-by: Ned Deily <nad@python.org>
* gh-53502: Fix plistlib.dump() for naive datetime with aware_datetime option ↵Serhiy Storchaka2024-01-022-3/+4
| | | | (GH-113645)
* build(deps): bump actions/upload-artifact from 3 to 4 (#113614)dependabot[bot]2024-01-021-2/+2
| | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/stale from 8 to 9 (#113611)dependabot[bot]2024-01-021-1/+1
| | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* gh-111178: Avoid calling functions from incompatible pointer types in ↵Christopher Chavez2024-01-021-18/+26
| | | | | _tkinter.c (GH-112893) Fix undefined behavior warnings (UBSan -fsanitize=function).
* gh-111178: Avoid calling functions from incompatible pointer types in ↵Christopher Chavez2024-01-021-100/+126
| | | | | dictobject.c (#112892) Fix undefined behavior warnings (UBSan -fsanitize=function).
* gh-111178: Avoid calling functions from incompatible pointer types in ↵Christopher Chavez2024-01-021-106/+147
| | | | | | | | | | descrobject.c (GH-112861) Fix undefined behavior warnings (UBSan -fsanitize=function), for example: Python/generated_cases.c.h:3315:13: runtime error: call to function mappingproxy_dealloc through pointer to incorrect function type 'void (*)(struct _object *)' descrobject.c:1160: note: mappingproxy_dealloc defined here SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior Python/generated_cases.c.h:3315:13 in
* gh-111178: Avoid calling functions from incompatible pointer types in ↵Christopher Chavez2024-01-021-72/+92
| | | | | | | | | | listobject.c (GH-112820) Fix undefined behavior warnings (UBSan -fsanitize=function), for example: Objects/object.c:674:11: runtime error: call to function list_repr through pointer to incorrect function type 'struct _object *(*)(struct _object *)' listobject.c:382: note: list_repr defined here SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior Objects/object.c:674:11 in
* gh-113602: Bail out when the parser tries to override existing errors (#113607)Pablo Galindo Salgado2024-01-023-0/+8
| | | Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
* gh-81094: Refer to PEP 318 in compound_statements.rst (#113588)John D. McDonald2024-01-021-1/+4
| | | | Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-101100: Fix Sphinx warnings from removed `~!` references (#113629)Hugo van Kemenade2024-01-029-22/+22
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* no-issue: Use the official term "free-threading" for GitHub Action (gh-113622)Donghee Na2024-01-023-20/+20
|
* GH-113633: Use module state structure for _testcapi. (GH-113634)Neil Schemenauer2024-01-012-51/+65
| | | Use module state structure for _testcapi.
* gh-53502: Fixes for tests in gh-113363 (#113627)Ronald Oussoren2024-01-012-5/+4
| | | | | | | * gh-53502: Fixes for tests in gh-113363 * Use 32-bit compatible date in test_dump_naive_datetime_with_aware_datetime_option * Saving non-aware datetimes will use the old behaviour regardless of the aware_datimetime setting
* gh-53502: add a new option aware_datetime in plistlib to loads or dumps ↵AN Long2024-01-014-23/+134
| | | | | | aware datetime. (#113363) * add options to loads and dumps aware datetime in plistlib