summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-117089: Apply changes from importlib_metadata 7.1.0 (#117094)Jason R. Coombs2024-03-2110-95/+212
| | | | | * Apply changes from importlib_metadata 7.1.0 * Include the data sources in the makefile (even though they're not needed)
* gh-116869: Enable -Werror in test_cext for Free Threading (#117106)Victor Stinner2024-03-201-5/+7
| | | | Check for warnings, but don't enable the compiler flag -Werror=declaration-after-statement.
* gh-105927: Limit PyWeakref_GetRef() to limited C API 3.13 (#117091)Victor Stinner2024-03-201-0/+3
|
* gh-117089: Move importlib.metadata tests to their own package (#117092)Jason R. Coombs2024-03-2015-3/+7
| | | | | | | | | * Ensure importlib.metadata tests do not leak references in sys.modules. * Move importlib.metadata tests to their own package for easier syncing with importlib_metadata. * Update owners and makefile for new directories. * Add blurb
* Fix sort order for "locale encoding" glossary item (#115794)Carol Willing2024-03-201-12/+12
| | | | Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
* GH-117066: Tier 2 optimizer: Don't throw away good traces if we can't ↵Mark Shannon2024-03-203-8/+16
| | | | optimize them perfectly. (GH-117067)
* gh-114314: ctypes: remove stgdict and switch to heap types (GH-116458)Petr Viktorin2024-03-2015-1411/+1496
| | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, ctypes classes used a custom dict subclass, `StgDict`, as their `tp_dict`. This acts like a regular dict but also includes extra information about the type. This replaces stgdict by `StgInfo`, a C struct on the type, accessed by `PyObject_GetTypeData()` (PEP-697). All usage of `StgDict` (mainly variables named `stgdict`, `dict`, `edict` etc.) is converted to `StgInfo` (named `stginfo`, `info`, `einfo`, etc.). Where the dict is actually used for class attributes (as a regular PyDict), it's now called `attrdict`. This change -- not overriding `tp_dict` -- is made to make me comfortable with the next part of this PR: moving the initialization logic from `tp_new` to `tp_init`. The `StgInfo` is set up in `__init__` of each class, with a guard that prevents calling `__init__` more than once. Note that abstract classes (like `Array` or `Structure`) are created using `PyType_FromMetaclass` and do not have `__init__` called. Previously, this was done in `__new__`, which also wasn't called for abstract classes. Since `__init__` can be called from Python code or skipped, there is a tested guard to ensure `StgInfo` is initialized exactly once before it's used. Co-authored-by: neonene <53406459+neonene@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-117058: Update GUI and packaging recommendations for macOS. (#117059)Russell Keith-Magee2024-03-201-11/+25
|
* gh-116908: Only write to `_pending_calls.calls_to_do` with atomic operations ↵Brett Simmers2024-03-201-2/+2
| | | | | | (#117044) These writes to `pending->calls_to_do` need to be atomic, because other threads can read (atomically) from `calls_to_do` without holding `pending->mutex`.
* gh-116773: Ensure overlapped objects on Windows are not deallocated too ↵jkriegshauser2024-03-204-12/+71
| | | | early by asyncio (GH-116774)
* gh-117021: Fix integer overflow in PyLong_AsPid() on non-Windows 64-bit ↵Serhiy Storchaka2024-03-207-2/+74
| | | | platforms (GH-117064)
* gh-94808: add tests covering `PyFunction_{Get,Set}Closure` (GH-99429)Nikita Sobolev2024-03-202-1/+148
|
* GH-108362: Incremental Cycle GC (GH-116206)Mark Shannon2024-03-2014-388/+684
|
* gh-116869: Fix test_cext for Free Threading (#117043)Victor Stinner2024-03-192-1/+3
| | | Don't check for warnings on Free Threading.
* gh-116869: Fix test_cext on RHEL7 (#117010)Victor Stinner2024-03-193-20/+30
| | | | | Remove -std option from CC command line. Skip C++14 test for now on non-Windows platforms (like RHEL7).
* gh-117041: Add "-X gil" in the Python CLI help (GH-117042)Serhiy Storchaka2024-03-191-0/+5
|
* docs: announce venv creation before installing packages (#117036)Ned Batchelder2024-03-191-0/+1
|
* gh-101100: Fix Sphinx warnings in `library/pydoc.rst` (#116913)Hugo van Kemenade2024-03-192-8/+7
|
* gh-116886: Temporarily disable CIfuzz (memory) (#117018)Łukasz Langa2024-03-191-1/+2
|
* gh-113964: Don't prevent new threads until all non-daemon threads exit (#116677)Sam Gross2024-03-198-27/+57
| | | | | | | | | | Starting in Python 3.12, we prevented calling fork() and starting new threads during interpreter finalization (shutdown). This has led to a number of regressions and flaky tests. We should not prevent starting new threads (or `fork()`) until all non-daemon threads exit and finalization starts in earnest. This changes the checks to use `_PyInterpreterState_GetFinalizing(interp)`, which is set immediately before terminating non-daemon threads.
* gh-56374: Clarify documentation of nonlocal (#116942)Terry Jan Reedy2024-03-191-13/+17
| | | | | Define 'nonlocal scopes' in a way that excludes class scopes. Rearrange the rest of the doc. Add "Programmer's note".
* gh-90300: Improve the Python CLI help output (GH-115853)Serhiy Storchaka2024-03-191-78/+40
| | | | | | | | | * document equivalent command-line options for all environment variables * document equivalent environment variables for all command-line options * reduce the size of variable and option descriptions to minimum * remove the ending period in single-sentence descriptions Co-authored-by: Éric <merwok@netwok.org> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
* gh-116417: Move limited C API complex.c tests to _testlimitedcapi (#117014)Victor Stinner2024-03-198-67/+92
| | | | Split complex.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi.
* gh-107607: Update comment about utf-8 BOM being ignored (#107858)Sunghyun Kim2024-03-191-4/+3
| | | | | --------- Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
* GH-116017: Put JIT code and data on the same page (GH-116845)Brandt Bucher2024-03-193-34/+27
|
* gh-116417: Move limited C API dict.c tests to _testlimitedcapi (#117006)Victor Stinner2024-03-198-304/+325
| | | | Split dict.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi.
* gh-116647: Fix recursive child in dataclasses (#116790)et-repositories2024-03-193-1/+13
|
* gh-116417: Move limited C API long.c tests to _testlimitedcapi (#117001)Victor Stinner2024-03-1912-916/+962
| | | | | | | * Split long.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi. * Move testcapi_long.h from Modules/_testcapi/ to Modules/_testlimitedcapi/. * Add MODULE__TESTLIMITEDCAPI_DEPS to Makefile.pre.in.
* gh-92906: Enable test_cext and test_cppext on Windows (#117000)Victor Stinner2024-03-197-63/+148
| | | | | | | | | | On Windows in release mode, the test_cext and test_cppext can now build C and C++ extensions. * test_cext now also builds the C extension without options. * test_cppext now also builds the C++ extension without options. * Add C++14 test to test_cppext; C++11 is not supported by MSVC. * Make setup_venv_with_pip_setuptools_wheel() quiet when support.verbose is false. Only show stdout and stderr on failure.
* gh-90872: Fix subprocess.Popen.wait() for negative timeout (#116989)Victor Stinner2024-03-193-0/+21
| | | | | On Windows, subprocess.Popen.wait() no longer calls WaitForSingleObject() with a negative timeout: pass 0 ms if the timeout is negative.
* gh-114099 - Add iOS framework loading machinery. (GH-116454)Russell Keith-Magee2024-03-1922-62/+302
| | | | Co-authored-by: Malcolm Smith <smith@chaquo.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
* gh-116417: Move limited C API unicode.c tests to _testlimitedcapi (#116993)Victor Stinner2024-03-1912-2032/+2082
| | | | | | Split unicode.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi. Update test_codecs.
* gh-116869: Test the limited C API in test_cext (#116995)Victor Stinner2024-03-193-30/+55
|
* gh-116808: Fix optimized trace length histogram (GH-116827)Michael Droettboom2024-03-191-1/+2
|
* gh-116869: Build test_cext with -Werror=declaration-after-statement (#116990)Victor Stinner2024-03-192-0/+6
| | | | Make sure that the C API does not emit compiler warnings when built with -Werror=declaration-after-statement.
* gh-116417: Move limited C API abstract.c tests to _testlimitedcapi (#116986)Victor Stinner2024-03-1913-722/+774
| | | | | | | Split abstract.c and float.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi. Update test_bytes and test_class.
* gh-116957: configparser: Do post-process values after DuplicateOptionError ↵David Röthlisberger2024-03-193-91/+111
| | | | | | | | | | | (GH-116958) If you catch DuplicateOptionError / DuplicateSectionError when reading a config file (the intention is to skip invalid config files) and then attempt to use the ConfigParser instance, any values it *had* read successfully so far, were stored as a list instead of string! Later `get` calls would raise "AttributeError: 'list' object has no attribute 'find'" from somewhere deep in the interpolation code.
* gh-115756: make PyCode_GetFirstFree an unstable API (GH-115781)Bogdan Romanyuk2024-03-198-6/+23
|
* gh-116621: Specialize list.extend for dict items (gh-116888)Donghee Na2024-03-191-3/+36
|
* gh-105866: fix dataclass with slots=True, weakref_slot=True (#105870)Aviel Boag2024-03-193-1/+15
| | | | | Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru> Co-authored-by: Carl Meyer <carl@oddbird.net>
* gh-116869: Enable test_cext and test_cppext on Free Threading build (#116973)Victor Stinner2024-03-182-32/+19
| | | | Remove the "if Py_GIL_DISABLED" skip and move all "skip" decorators to the class. Use support.check_sanitizer()
* gh-116417: Fix WASI build of _testlimitedcapi (#116974)Victor Stinner2024-03-1810-24/+26
| | | | Use different function names between _testcapi and _testlimitedcapi to not confuse the WASI linker.
* gh-116941: Fix pyatomic_std.h syntax errors (#116967)Sam Gross2024-03-181-0/+2
|
* gh-116417: Move limited C API list.c tests to _testlimitedcapi (#116602)Victor Stinner2024-03-1811-351/+404
| | | | | Split list.c and set.c tests of _testcapi into two parts: limited C API tests in _testlimitedcapi and non-limited C API tests in _testcapi.
* gh-113538: Add asycio.Server.{close,abort}_clients (redo) (#116784)Pierre Ossman (ThinLinc team)2024-03-188-20/+152
| | | | | | | These give applications the option of more forcefully terminating client connections for asyncio servers. Useful when terminating a service and there is limited time to wait for clients to finish up their work. This is a do-over with a test fix for gh-114432, which was reverted.
* gh-116869: Make C API compatible with ISO C90 (#116950)Victor Stinner2024-03-183-3/+5
| | | | Make the C API compatible with -Werror=declaration-after-statement compiler flag again.
* gh-116869: Add test_cext test: build a C extension (#116954)Victor Stinner2024-03-185-0/+222
|
* gh-108716: Cleanup remaining deepfreeze infrastructure (#116919)Guido van Rossum2024-03-189-180/+7
| | | | | Keep Tools/build/deepfreeze.py around (we may repurpose it for deepfreezing non-code objects), and keep basic "clean" targets that remove the output of former deep-freeze activities, to keep the build directories of current devs clean.
* gh-116916: Remove separate next_func_version counter (#116918)Guido van Rossum2024-03-184-9/+7
| | | | | Somehow we ended up with two separate counter variables tracking "the next function version". Most likely this was a historical accident where an old branch was updated incorrectly. This PR merges the two counters into a single one: `interp->func_state.next_version`.
* Cleanup tier2 debug output (#116920)Guido van Rossum2024-03-185-22/+50
| | | Various tweaks, including a slight refactor of the special cases for `_PUSH_FRAME`/`_POP_FRAME` to show the actual operand emitted.