summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-110222: Add support of PyStructSequence in copy.replace() (GH-110223)Xuehai Pan2023-10-043-1/+155
|
* gh-110235: Raise TypeError for duplicate/unknown fields in PyStructSequence ↵Xuehai Pan2023-10-043-7/+84
| | | | constructor (GH-110258)
* GH-109369: Merge all eval-breaker flags and monitoring version into one ↵Mark Shannon2023-10-0413-234/+188
| | | | word. (GH-109846)
* gh-104909: Split more LOAD_ATTR specializations (GH-110317)Guido van Rossum2023-10-046-219/+598
| | | | | | | | | | | | | | | | | | | * Split LOAD_ATTR_MODULE * Split LOAD_ATTR_WITH_HINT * Split _GUARD_TYPE_VERSION out of the latter * Split LOAD_ATTR_CLASS * Split LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES * Fix indent of DEOPT_IF in macros * Split LOAD_ATTR_METHOD_LAZY_DICT * Split LOAD_ATTR_NONDESCRIPTOR_NO_DICT * Fix omission of _CHECK_ATTR_METHOD_LAZY_DICT
* Lint: Remove files that no longer fail to parse or with F811 (#110356)Hugo van Kemenade2023-10-041-4/+0
|
* gh-110260: Check for PyList_SetItem() errors in termios module (GH-110261)Nikita Sobolev2023-10-041-17/+32
|
* gh-109151: Enable readline in the sqlite3 CLI (GH-109152)Serhiy Storchaka2023-10-042-0/+5
|
* gh-110332: Remove mentions of `random.WichmannHill` from `test_zlib` (#110334)Nikita Sobolev2023-10-041-12/+1
|
* gh-109276: regrtest: shorter list of resources (#110326)Victor Stinner2023-10-043-17/+63
|
* gh-110335: asyncio test_unix_events cleans multiprocessing (#110336)Victor Stinner2023-10-041-0/+8
| | | | test_unix_events tests using the multiprocessing module now call multiprocessing.util._cleanup_tests().
* gh-110166: Fix gdb CFunctionFullTests on ppc64le clang build (#110331)Victor Stinner2023-10-041-1/+1
| | | | | | CFunctionFullTests now also runs "bt" command before "py-bt-full", similar to CFunctionTests which also runs "bt" command before "py-bt". So test_gdb can skip the test if patterns like "?? ()" are found in the gdb output.
* gh-110171: `libregrtest` always sets `random.seed` (#110172)Nikita Sobolev2023-10-045-16/+24
|
* gh-110273: dataclasses.replace() now raise TypeError for all invalid ↵Serhiy Storchaka2023-10-043-11/+14
| | | | | | | arguments (GH-110274) dataclasses.replace() now raises TypeError instead of ValueError if specify keyword argument for a field declared with init=False or miss keyword argument for required InitVar field.
* gh-109653: Defer importing `warnings` in several modules (#110286)Alex Waygood2023-10-046-6/+10
|
* gh-85984: Document change in return type of tty functions (#110028)Jelle Zijlstra2023-10-041-0/+6
|
* gh-110300: Fix Refleaks in test_interpreters and test__xxinterpchannels ↵Eric Snow2023-10-043-10/+30
| | | | (gh-110318)
* gh-109979: Unify _GUARD_TYPE_VERSION{,_STORE} (#110301)Guido van Rossum2023-10-035-63/+36
| | | | | Now the target for `DEOPT_IF()` is auto-filled, we don't need a separate `_GUARD_TYPE_VERSION_STORE` uop.
* gh-109917: Fix test instability in test_concurrent_futures (#110306)elfstrom2023-10-031-1/+2
| | | | | | | | | | The test had an instability issue due to the ordering of the dummy queue operation and the real wakeup pipe operations. Both primitives are thread safe but not done atomically as a single update and may interleave arbitrarily. With the old order of operations this can lead to an incorrect state where the dummy queue is full but the wakeup pipe is empty. By swapping the order in clear() I think this can no longer happen in any possible operation interleaving (famous last words).
* Revert "gh-76785: Print the Traceback from Interpreter.run() (gh-110248)" ↵Eric Snow2023-10-031-4/+0
| | | | | | | (gh-110314) This reverts commit 6bc889aedc11cc8e0b9f57948a3d528ad2685497. That commit is causing some buildbot failures.
* gh-76785: Print the Traceback from Interpreter.run() (gh-110248)Eric Snow2023-10-031-0/+4
| | | This is a temporary fix. The full fix may involve serializing the traceback in some form.
* Docs: Avoid the deprecated ``.. cmdoption::`` directive (#110292)Adam Turner2023-10-0318-243/+243
|
* gh-109979: Auto-generate the target for DEOPT_IF() (#110193)Guido van Rossum2023-10-038-315/+315
| | | | | | | | | | | | | | | | In Python/bytecodes.c, you now write ``` DEOPT_IF(condition); ``` The code generator expands this to ``` DEOPT_IF(condition, opcode); ``` where `opcode` is the name of the unspecialized instruction. This works inside macro expansions too. **CAVEAT:** The entire `DEOPT_IF(condition)` statement must be on a single line. If it isn't, the substitution will fail; an error will be printed by the code generator and the C compiler will report some errors.
* gh-108867: Add PyThreadState_GetUnchecked() function (#108870)Victor Stinner2023-10-0310-8/+34
| | | | | | Add PyThreadState_GetUnchecked() function: similar to PyThreadState_Get(), but don't issue a fatal error if it is NULL. The caller is responsible to check if the result is NULL. Previously, this function was private and known as _PyThreadState_UncheckedGet().
* gh-110276: No longer ignore PROFILE_TASK failure silently (#110295)Victor Stinner2023-10-033-2/+7
|
* gh-107073: Mention pythoncapi-compat for PyObject_VisitManagedDict() (#110291)Victor Stinner2023-10-031-1/+3
|
* gh-109860: Use a New Thread State When Switching Interpreters, When ↵Eric Snow2023-10-038-68/+151
| | | | | | | | | Necessary (gh-110245) In a few places we switch to another interpreter without knowing if it has a thread state associated with the current thread. For the main interpreter there wasn't much of a problem, but for subinterpreters we were *mostly* okay re-using the tstate created with the interpreter (located via PyInterpreterState_ThreadHead()). There was a good chance that tstate wasn't actually in use by another thread. However, there are no guarantees of that. Furthermore, re-using an already used tstate is currently fragile. To address this, now we create a new thread state in each of those places and use it. One consequence of this change is that PyInterpreterState_ThreadHead() may not return NULL (though that won't happen for the main interpreter).
* Enhanced sqlite3 connection context management documentation with ↵Lincoln2023-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | contextlib.closing gh-109234 (#109322) * Enhanced sqlite3 connection context management documentation with contextlib.closing * 📜🤖 Added by blurb_it. * Fixed gitignore spelling error from nitignore to gitignore * Renamed .gitignore to .nitignore * Added generated doctests * Deleted sqlite3 generated files * Removed white-space changes * Removed News entry from the doc * Expanded a note that context manager can be used for connection management using contextlib.closing * Removed repeated contextlib.closing code snippet * Expanded the note around usage of context manageer for sqlite3 connection management * Deleted extra white-spaces * Deleted extra white-space * re-arranged context manager wording * Re-arranged word layout on how to use context manager * Fix whitespace errors * Remove unneeded change in .gitignore * Added suggested changes * Added suggested change redirecting to the contextlib.closing implementation * Added closing keyword * Removed line 2473 --------- Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend@python.org>
* gh-110267: Add tests for pickling and copying PyStructSequence objects ↵Xuehai Pan2023-10-032-2/+75
| | | | (GH-110272)
* Bump various dependencies in `Doc/requirements-oldest-sphinx.txt` (#110278)Alex Waygood2023-10-031-7/+7
| | | This resolves a Dependabot security alert on the repository for urllib3==2.0.4.
* gh-110276: Run `test_str`, not `test_unicode`, as part of the PGO build ↵Alex Waygood2023-10-031-1/+1
| | | | | (#110277) `test_unicode` does not exist
* gh-109956: Also test typing.NamedTuple with copy.replace() (GH-109957)Nikita Sobolev2023-10-031-8/+18
|
* Fix typo in py312 whatsnew: add missing closing paren (#110255)Lele Gaifax2023-10-031-1/+1
|
* Remove unused Misc/requirements-test.txt (#110240)Hugo van Kemenade2023-10-031-1/+0
|
* Add --inline-caches flag to dis command line (#110249)Guido van Rossum2023-10-032-1/+4
|
* gh-109653: Reduce the import time of `random` by 60% (#110221)Alex Waygood2023-10-022-1/+3
|
* gh-110241: Add missing error check to `record_eval` in `_testinternalcapi` ↵Nikita Sobolev2023-10-021-1/+5
| | | | (#110242)
* gh-76785: Module-level Fixes for test.support.interpreters (gh-110236)Eric Snow2023-10-023-25/+206
| | | | | * add RecvChannel.close() and SendChannel.close() * make RecvChannel and SendChannel shareable * expose ChannelEmptyError and ChannelNotEmptyError
* Enable ruff on `Lib/test/test_typing.py` (#110179)Alex Waygood2023-10-023-54/+53
|
* gh-105716: Support Background Threads in Subinterpreters Consistently ↵Eric Snow2023-10-0211-45/+257
| | | | | | | (gh-109921) The existence of background threads running on a subinterpreter was preventing interpreters from getting properly destroyed, as well as impacting the ability to run the interpreter again. It also affected how we wait for non-daemon threads to finish. We add PyInterpreterState.threads.main, with some internal C-API functions.
* gh-109853: Fix sys.path[0] For Subinterpreters (gh-109994)Eric Snow2023-10-027-10/+214
| | | This change makes sure sys.path[0] is set properly for subinterpreters. Before, it wasn't getting set at all. This PR does not address the broader concerns from gh-109853.
* gh-107073: Make PyObject_VisitManagedDict() public (#108763)Victor Stinner2023-10-0212-24/+77
| | | | | | | | Make PyObject_VisitManagedDict() and PyObject_ClearManagedDict() functions public in Python 3.13 C API. * Rename _PyObject_VisitManagedDict() to PyObject_VisitManagedDict(). * Rename _PyObject_ClearManagedDict() to PyObject_ClearManagedDict(). * Document these functions.
* gh-108494: Document how to add a project in PCbuild/readme.txt (#110077)Victor Stinner2023-10-022-9/+37
| | | Add _testclinic_limited to Tools/msi/test/test_files.wxs.
* gh-110014: Remove PY_TIMEOUT_MAX from limited C API (#110217)Victor Stinner2023-10-028-20/+17
| | | | | | | | If the timeout is greater than PY_TIMEOUT_MAX, PyThread_acquire_lock_timed() uses a timeout of PY_TIMEOUT_MAX microseconds, which is around 280.6 years. This case is unlikely and limiting a timeout to 280.6 years sounds like a reasonable trade-off. The constant PY_TIMEOUT_MAX is not used in PyPI top 5,000 projects.
* gh-110178: Use fewer weakrefs in test_typing.py (#110194)Jelle Zijlstra2023-10-021-1/+1
| | | Confirmed that without the C changes from #108517, this test still segfaults with only 10 weakrefs.
* 3.12 What's New: Remove duplicate "up to" (#110219)numbermaniac2023-10-021-1/+1
|
* gh-83180: Made launcher treat shebang 'python' tags as low priority so that ↵Steve Dower2023-10-024-12/+71
| | | | active virtual environments are preferred (GH-108101)
* GH-109190: Announce final release in What's New in Python 3.12 (#110117)Adam Turner2023-10-021-1/+1
| | | | Prepare What's New in Python 3.12 for final release
* gh-108963: using random to generate unique string in sys.intern test (#109491)AN Long2023-10-021-10/+3
|
* GH-92584: Move installation schemes overview to sysconfig docs (#108018)Adam Turner2023-10-023-18/+167
| | | | | | | | | | | * Add new installation path functions subsection * Add content from install/index to sysconfig * Fix table * Update note about installers * Clean up the list of schemes, remove references to Distutils
* Docs: bump Pygments to fix contrast ratios to meet WCAG AA guidelines (#110208)Hugo van Kemenade2023-10-021-2/+1
|