8000 gh-119517: Fixes for pasting in pyrepl by godlygeek · Pull Request #120251 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

gh-119517: Fixes for pasting in pyrepl #120251

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 282 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
282 commits
Select commit Hold shift + click to select a range
cceb758
[3.13] gh-118846: Fix free-threading test failures when run sequentia…
miss-islington May 10, 2024
7dc9e92
[3.13] gh-117657: Log TSAN warnings to separate files and archive the…
miss-islington May 10, 2024
93ef7aa
[3.13] gh-118921: Add `copy()` method for `FrameLocalsProxy` (GH-1189…
miss-islington May 10, 2024
d309474
[3.13] gh-117655: Prevent `test_strptime` from raising a DeprecationW…
miss-islington May 11, 2024
6e855b3
[3.13] gh-118899: Add tests for `NotImplemented` attribute access (GH…
miss-islington May 12, 2024
9d2c10b
[3.13] GH-118844: Fix build failures when combining --disable-gil wit…
miss-islington May 13, 2024
a8ea966
[3.13] gh-87106: Fix inspect.signature.bind() handling of positional-…
miss-islington May 13, 2024
9418832
[3.13] Improve the `rmtree` doc for `dir_fd` param addition in 3.11 (…
miss-islington May 13, 2024
44995aa
gh-118876: Ensure PC/layout sets ns.temp before using it (GH-118880)
miss-islington May 13, 2024
09d4c07
[3.13] gh-58933: Make pdb return to caller frame correctly when f_tra…
miss-islington May 13, 2024
d1aac22
[3.13] gh-119010: Adds docs about `__type_params__` to `functools.upd…
miss-islington May 13, 2024
c7628b0
[3.13] gh-118998: Handle errors correctly in `tmtotuple` in `timemodu…
miss-islington May 13, 2024
29a2f9c
[3.13] GH-118836: Fix JIT build error when SHT_NOTE section is presen…
miss-islington May 13, 2024
8720006
[3.13] gh-67693: Fix urlunparse() and urlunsplit() for URIs with path…
miss-islington May 14, 2024
54839f0
[3.13] Add yet few cases for urlparse/urlunparse roundtrip tests (GH-…
miss-islington May 14, 2024
041cc2a
[3.13] typing tests: remove some unnecessary uses of `exec()` (GH-119…
miss-islington May 14, 2024
87f683e
[3.13] Itertools docs: fix parameter names and indentation in Python …
miss-islington May 14, 2024
8439d09
[3.13] Misc improvements to the itertools docs (gh-119040) (#119045)
miss-islington May 14, 2024
dd8a61f
[3.13] 3.13 What's New: Add PEP 702 (GH-118922) (#119062)
miss-islington May 15, 2024
e1dfa97
gh-118486: Simplify test_win32_mkdir_700 to check the exact ACL (GH-1…
miss-islington May 15, 2024
f85d59c
[3.13] Remove references to private symbols from zipimport module doc…
miss-islington May 15, 2024
4f81915
[3.13] gh-118760: Fix errors in calling Tkinter bindings on Windows (…
miss-islington May 15, 2024
7c224dd
[3.13] gh-119009: Add gettext target (GH-119006) (#119074)
miss-islington May 15, 2024
bca7fb0
[3.13] Use literal syntax in origin property (GH-119029) (#119083)
miss-islington May 16, 2024
1dc7fcd
[3.13] gh-119064: Use os_helper.FakePath instead of pathlib.Path in t…
miss-islington May 16, 2024
8a4730e
[3.13] Add Tkinter tests for different events (GH-118778) (GH-119091)
miss-islington May 16, 2024
c69fe80
[3.13] gh-108267: Fix object.__setattr__ regression in dataclasses do…
miss-islington May 16, 2024
45fbca9
[3.13] Explain how to install LLVM on Fedora (GH-119100)
miss-islington May 16, 2024
acffe20
[3.13] GH-118943: Fix a race condition when generating jit_stencils.h…
miss-islington May 16, 2024
ada4ad0
[3.13] Fix typos in documentation (GH-119092) (#119116)
miss-islington May 17, 2024
ced71d3
[3.13] gh-119049: Fix incorrect display of warning which is construct…
miss-islington May 17, 2024
374655f
[3.13] Minor improvements to the docs for itertools.tee() (gh-119135)…
miss-islington May 18, 2024
1bb3a9d
[3.13] gh-119078: Clarify venv tutorial (GH-119129) (GH-119142)
miss-islington May 18, 2024
9c2de86
[3.13] gh-119132: Log sys._is_gil_enabled() in test.pythoninfo (GH-11…
miss-islington May 18, 2024
641e59d
[3.13] docs: make mimalloc license text literal (GH-119046) (#119149)
miss-islington May 18, 2024
ec88e9f
[3.13] gh-119132: Update sys.version to identify free-threaded or not…
miss-islington May 18, 2024
9129614
[3.13] gh-119050: Add type hints to libregrtest/results.py (GH-119144…
miss-islington May 18, 2024
7407267
[3.13] GH-118447: Fix handling of unreadable symlinks in `os.path.rea…
miss-islington May 18, 2024
bc5e47c
[3.13] marshal docs: Remove reference to "Sun" (GH-119161) (#119167)
miss-islington May 19, 2024
fdc50ba
[3.13] GH-118447: Fix FreeBSD test failures. (GH-119170) (#119181)
miss-islington May 19, 2024
27b61c1
[3.13] GH-119113: Raise `TypeError` from `pathlib.PurePath.with_suffi…
miss-islington May 19, 2024
3b90807
[3.13] IDLE: fix url in config.py comment (GH-119198) (#119199)
miss-islington May 20, 2024
3a8ab99
[3.13] gh-119121: Fix and test `async.staggered.staggered_race` (GH-1…
miss-islington May 20, 2024
cbf064b
[3.13] typing docs: Fix formatting issue (GH-119210) (#119212)
miss-islington May 20, 2024
a52ed7e
[3.13] gh-119185: Fix typo in `_pyrepl.pager`: `tempfilepager` should…
miss-islington May 20, 2024
8f3fc01
[3.13] [docs] TypeVarTuple default is keyword-only (GH-119215) (#119224)
miss-islington May 20, 2024
e370b64
[3.13] gh-115119: Fall back to bundled libmpdec if system libmpdec is…
miss-islington May 20, 2024
a6b873f
[3.13] GH-119146: Don't run JIT CI on unrelated changes (GH-119226)
miss-islington May 20, 2024
fda3291
[3.13] DOCS: Suggest always calling exec with a globals argument and …
miss-islington May 20, 2024
d8c562a
[3.13] gh-112844: Update CPE references for external dependencies (GH…
miss-islington May 20, 2024
054f1af
[3.13] gh-92081: Fix for email.generator.Generator with whitespace be…
miss-islington May 20, 2024
906f6cb
[3.13] Use correct markup in unittest.mock.reset_mock documentation (…
miss-islington May 20, 2024
b4462aa
[3.13] gh-118760: Restore the default value of tkinter.wantobjects to…
miss-islington May 20, 2024
572b0b0
[3.13] gh-119189: Add more tests for mixed Fraction arithmetic (GH-11…
miss-islington May 20, 2024
071d996
[3.13] gh-119253: use ImportError in _ios_support (GH-119254) (#119265)
miss-islington May 20, 2024
42a8d11
[3.13] gh-119050: Add XML support to libregrtest refleak checker (GH-…
miss-islington May 20, 2024
d8fbe5b
[3.13] gh-108267 Fix another dataclasses docs typo (GH-119277) (#119279)
miss-islington May 20, 2024
24b0e8d
[3.13] gh-118912: Remove description of issue fixed in 3.5 from autos…
miss-islington May 20, 2024
f7303cd
[3.13] gh-119174: Fix high DPI causes turtledemo(turtle-graphics exam…
miss-islington May 21, 2024
db64dae
[3.13] gh-74929: PEP 667 general docs update (gh-119291)
miss-islington May 21, 2024
49ad4d0
[3.13] Use `fail-fast: false` in `mypy.yml` (GH-119297) (#119304)
miss-islington May 21, 2024
f028451
[3.13] gh-119102: Fix REPL for dumb terminal (GH-119269) (#119308)
miss-islington May 21, 2024
1929b7e
[3.13] Docs: Ensure no warnings are found in the NEWS file before a g…
hugovk May 21, 2024
dcb8030
[3.13] gh-119053: Implement the fast path for list.__getitem__ (gh-11…
miss-islington May 21, 2024
d93c4f9
[3.13] GH-119292: Add job to JIT CI to build and test with --disable-…
miss-islington May 21, 2024
11ca1d9
[3.13] GH-110383: Improve Tutorial for Input Ouput (GH-119230) (GH-11…
miss-islington May 21, 2024
256b791
[3.13] gh-110383: Document `socket.makefile()` accepts combined modes…
miss-islington May 21, 2024
8860f83
[3.13] gh-119035: Add Ctrl+← and Ctrl+→ word-skipping keybindings to …
miss-islington May 21, 2024
fef202f
[3.13] Fix typos in documentation (GH-119295) (#119337)
miss-islington May 21, 2024
0582016
[3.13] Docs: Add central references to free-threading-related options…
miss-islington May 21, 2024
f371565
[3.13] gh-119102: Fix REPL for dumb terminal (GH-119332) (#119359)
miss-islington May 22, 2024
f15fbe9
gh-118507 : Refactor `nt._path_is*` to improve applicability for othe…
miss-islington May 22, 2024
e992217
[3.13] gh-118877: Fix AssertionError crash in pyrepl (GH-118936) (#11…
miss-islington May 22, 2024
455b386
[3.13] gh-110383: Align dict.get(), .fromkeys(), and .setdefault() do…
miss-islington May 22, 2024
b5b0e32
[3.13] DOCS: fix error in exec namespace note (gh-119380)
miss-islington May 22, 2024
f757996
[3.13] Clarify that dklen is expected in bytes for the hashlib functi…
miss-islington May 22, 2024
ec484b6
[3.13] gh-119189: Add yet more tests for mixed Fraction arithmetic (G…
miss-islington May 22, 2024
0e61989
[3.13] Fix typos in NEWS entries for 3.13 (GH-119374) (GH-119385)
miss-islington May 22, 2024
414346e
[3.13] Fix version number in use_load_tests deprecation reference (GH…
miss-islington May 22, 2024
6892b40
[3.13] gh-118643: Fix AttributeError in the email module (GH-119099) …
miss-islington May 22, 2024
7214598
[3.13] gh-119306: Break up _pyrepl tests (GH-119307) (#119362)
lysnikolaou May 22, 2024
ac91636
[3.13] gh-111201: Remove readline dependency from the PyREPL (GH-1192…
lysnikolaou May 22, 2024
aefe2e6
[3.13] gh-111201: Add append to screen method to avoid recalculation …
miss-islington May 22, 2024
eafd633
[3.13] gh-119205: Fix autocompletion bug in new repl (GH-119229) (#11…
miss-islington May 22, 2024
a463cd8
[3.13] gh-118893: Evaluate all statements in the new REPL separately …
miss-islington May 22, 2024
bfd9c3e
[3.13] gh-119213: Be More Careful About _PyArg_Parser.kwtuple Across …
miss-islington May 22, 2024
cd39da7
[3.13] Improve `pyrepl` type-annotation coverage (GH-119081) (#119415)
miss-islington May 22, 2024
0841606
[3.13] gh-119247: Add macros to use PySequence_Fast safely in free-th…
miss-islington May 22, 2024
0bd7c87
[3.13] gh-112066: Fix versionadded in PyDict_SetDefaultRef docs (GH-1…
miss-islington May 22, 2024
3e30a38
gh-117505: Run ensurepip in isolated env in Windows installer (GH-118…
miss-islington May 22, 2024
e6e4efc
[3.13] gh-119357: Increase test coverage for keymap in _pyrepl (GH-11…
lysnikolaou May 22, 2024
6bc7fc0
[3.13] gh-113978: Ignore warnings on text completion inside REPL (GH-…
miss-islington May 22, 2024
81440c5
[3.13] Enable some stricter mypy settings on `Lib/_pyrepl` (GH-119077…
miss-islington May 22, 2024
9435124
[3.13] gh-111201: auto-indentation in _pyrepl (GH-119348) (#119427)
lysnikolaou May 22, 2024
a6ed742
[3.13] gh-70795: Rework RLock documentation (GH-103853) (#119436)
miss-islington May 22, 2024
cd35e9d
[3.13] gh-117657: Fix missing atomic in dict_resize (GH-119312) (#119…
miss-islington May 22, 2024
dbff1f1
[3.13] gh-119434: Fix culmitive errors in wrapping as lines proceed (…
miss-islington May 23, 2024
9fa1b4f
[3.13] gh-118911: Trailing whitespace in a block shouldn't prevent th…
lysnikolaou May 23, 2024
58dbb4a
[3.13] gh-111201: Speed up paste mode in the REPL (#119341) (GH-11943…
miss-islington May 23, 2024
89e2689
[3.13] gh-90562: Mention slots pitfall in dataclass docs (GH-107391) …
miss-islington May 23, 2024
dbe4f8a
[3.13] Fix typos in what's new documentation (GH-119448) (#119449)
miss-islington May 23, 2024
251ef2e
[3.13] GH-117195: Avoid assertion error in `object.__sizeof__` (GH-11…
miss-islington May 23, 2024
8fd8cc5
[3.13] gh-119469: Fix _pyrepl reference leaks (GH-119470) (#119471)
miss-islington May 23, 2024
d98d6b1
[3.13] gh-118727: Don't drop the GIL in `drop_gil()` unless the curre…
miss-islington May 23, 2024
c750061
[3.13] gh-119461: Fix ThreadedVSOCKSocketStreamTest (#119465) (#119479)
vstinner May 23, 2024
e27e369
[3.13] GH-113464: Run the JIT interpreter before any other JIT CI (GH…
miss-islington May 24, 2024
c864efb
[3.13] gh-118692: Avoid creating unnecessary StopIteration instances …
miss-islington May 24, 2024
0bab0b3
[3.13] gh-69214: Fix fcntl.ioctl() request type (GH-119498) (#119504)
miss-islington May 24, 2024
217d57f
[3.13] GH-119496: accept UTF-8 BOM in .pth files (GH-119508)
miss-islington May 24, 2024
cc38ee1
gh-118263: Add additional arguments to path_t (Argument Clinic type) …
miss-islington May 24, 2024
392a3d8
[3.13] Regen ``Doc/requirements-oldest-sphinx.txt`` (GH-119520) (#119…
miss-islington May 24, 2024
5544651
[3.13] Misc improvement to the docs for itertools (gh-119529) (#119531)
rhettinger May 24, 2024
f49749c
[3.13] gh-111999: Fix the signature of str.format_map() (GH-119540) (…
miss-islington May 25, 2024
317cc3b
[3.13] FAQ: Add reference to Python version numbering scheme (GH-1192…
miss-islington May 25, 2024
2404cd9
[3.13] gh-99180: Make `StackSummary.should_show_carets` private (GH-1…
miss-islington May 25, 2024
3f0198d
[3.13] docs: fix a few typos identified by codespell (GH-119516) (#11…
miss-islington May 26, 2024
825a5ae
[3.13] gh-111997: Fix argument count for LINE event and clarify type …
miss-islington May 26, 2024
46d7712
[3.13] Fix typos in HISTORY documentation (GH-119453) (#119597)
miss-islington May 27, 2024
f1302c1
[3.13] gh-119467: Fix Py_buffer.format type and correct documentation…
miss-islington May 27, 2024
ba71835
[3.13] Docs: Only install sphinx-autobuild for `make htmllive` (GH-11…
miss-islington May 27, 2024
9edf010
[3.13] gh-119580: Improve version added section for convenience varia…
miss-islington May 27, 2024
8117cb5
[3.13] Misc cleanups and wording improvements for the itertools docs …
miss-islington May 27, 2024
0a4a318
[3.13] Docs: Move inline JavaScript to own file to reduce duplication…
hugovk May 27, 2024
bd9983c
[3.13] gh-119560: Drop an Invalid Assert in PyState_FindModule() (gh-…
miss-islington May 27, 2024
660125f
[3.13] gh-119584: Fix test_import Failed Assertion (gh-119623) (gh-11…
miss-islington May 27, 2024
d58ebf0
[3.13] gh-117398: Add multiphase support to _datetime (gh-119373) (gh…
miss-islington May 27, 2024
7322ff1
[3.13] gh-119317: findall instead of traverse for docutils nodes (GH-…
miss-islington May 27, 2024
9216a53
[3.13] gh-117398: Revert gh-119636, Add multiphase support to _dateti…
ericsnowcurrently May 28, 2024
3b111a3
[3.13] gh-116860: Remove outdated `test_parserhack` from `test_future…
miss-islington May 28, 2024
dcf585d
[3.13] Re-order imports to align with zipp 3.18.2 (GH-119587) (#119589)
miss-islington May 28, 2024
47fb0f8
[3.13] [doc] Clarify the nature of the root logger in the `logging` d…
miss-islington May 28, 2024
cc8586a
[3.13] Clarify base64.a85encode docs: *wrapcols* doesn't count the ne…
miss-islington May 28, 2024
2b46253
[3.13] gh-119581: Add a test of InitVar with name shadowing (GH-11958…
miss-islington May 28, 2024
6394a72
[3.13] gh-119311: Fix name mangling with PEP 695 generic classes (#11…
JelleZijlstra May 28, 2024
c0e9961
[3.13] gh-119011: `type.__type_params__` now return an empty tuple (G…
miss-islington May 28, 2024
0d0be6b
[3.13] gh-119118: Fix performance regression in tokenize module (GH-1…
miss-islington May 28, 2024
12a580b
[3.13] gh-117398: Statically Allocate the Datetime C-API (GH-119472) …
ericsnowcurrently May 28, 2024
ef9fd10
[3.13] gh-119538: Add missing expat build dependencies (GH-119647) (#…
miss-islington May 28, 2024
17d3398
[3.13] gh-119443: Turn off from __future__ import annotations in REPL…
miss-islington May 29, 2024
7a9534f
[3.13] gh-119704: Fix reference leak in the ``Python/Python-tokenize.…
miss-islington May 29, 2024
48c7776
[3.13] gh-119661: Add _Py_SINGLETON() include in Argumenet Clinic (#1…
vstinner May 29, 2024
40a024c
[3.13] gh-119555: catch SyntaxError from compile() in the Interactive…
miss-islington May 29, 2024
dcfbd3b
[3.13] gh-119525: Fix deadlock with `_PyType_Lookup` and the GIL (GH-…
miss-islington May 29, 2024
c3cfc04
gh-119070: Fix py.exe handling of /usr/bin/env commands missing exten…
miss-islington May 29, 2024
061abf8
[3.13] GH-89727: Partially fix `shutil.rmtree()` recursion error on d…
miss-islington May 29, 2024
a7aa7c4
[3.13] GH-119169: Implement `pathlib.Path.walk()` using `os.walk()` (…
miss-islington May 29, 2024
af57832
[3.13] gh-117398: Add multiphase support to _datetime (gh-119694)
ericsnowcurrently May 29, 2024
06c62d6
[3.13] gh-119260: Clarify is_dataclass Behavior for Subclasses in Doc…
miss-islington May 30, 2024
810a09a
[3.13] GH-89727: Fix `os.fwalk()` recursion error on deep trees (GH-1…
miss-islington May 30, 2024
083bf3a
[3.13] GH-89727: Fix FD leak on `os.fwalk()` generator finalization. …
miss-islington May 30, 2024
1eddc9e
[3.13] subprocess docs: Fix semantically important typo (GH-119752) (…
miss-islington May 30, 2024
d1c7f5e
[3.13] gh-118055: Update the finder glossary entry (GH-118278) (GH-11…
miss-islington May 30, 2024
322e0ad
[3.13] gh-117142: Slightly hacky fix for memory leak of StgInfo (GH-1…
miss-islington May 30, 2024
a7327b3
[3.13] gh-119779: Fix pyporting howto docs (GH-119785) (#119788)
miss-islington May 30, 2024
5a037b7
[3.13] gh-117398: Convert datetime.IsoCalendarDate To A Heap Type (gh…
miss-islington May 30, 2024
608cfb8
[3.13] gh-119729: Use 't' in pkg-config file name for free-threaded b…
miss-islington May 30, 2024
d6bede8
[3.13] gh-119791: Fix new Tkinter tests for wantobjects=0 (GH-119792)…
miss-islington May 30, 2024
844b535
[3.13] gh-109218: Improve documentation for the complex() constructor…
miss-islington May 30, 2024
1e75dc7
[3.13] Docs: `shutil.rmtree`'s `onerror` has no pending removal versi…
miss-islington May 30, 2024
978b86a
[3.13] gh-107262: Update Tkinter tests for Tcl/Tk 8.6.14 (GH-119322) …
miss-islington May 30, 2024
8470593
[3.13] gh-119548: Add a 'clear' command to the REPL (GH-119549) (#119…
miss-islington May 31, 2024
7dae73b
[3.13] gh-97747: Improvements to WASM browser REPL. (GH-97665) (GH-11…
miss-islington May 31, 2024
38bf39c
[3.13] gh-111201: Improve pyrepl auto indentation (GH-119606) (GH-119…
miss-islington May 31, 2024
5539bd9
[3.13] gh-103194: Fix Tkinter’s Tcl value type handling for Tcl 8.7/9…
miss-islington May 31, 2024
6e57bd0
gh-116145: Updated bundled Tcl/Tk on Windows to 8.6.14 (GH-117030)
miss-islington May 31, 2024
d6faac6
[3.13] gh-111201: Support pyrepl on Windows (GH-119559) (GH-119850)
miss-islington May 31, 2024
ea48de4
[3.13] gh-119585: Fix crash involving `PyGILState_Release()` and `PyT…
miss-islington May 31, 2024
8e0777d
gh-119690: Adds Unicode support for named pipes in _winapi (GH-119717)
miss-islington May 31, 2024
24e3a8a
[3.13] gh-100117: Fix inaccuracy in documentation of the CodeObject's…
miss-islington May 31, 2024
eb5e19a
[3.13] contextlib docs: Clean up redundant 'up' after 'cleanup' (GH-1…
miss-islington May 31, 2024
5e8396e
[3.13] doc: Add glossary entry for "free threading" (GH-119865) (#119…
miss-islington May 31, 2024
a7e81fd
[3.13] gh-119369: Fix deadlock during thread exit in free-threaded bu…
miss-islington May 31, 2024
67ac191
[3.13] gh-119799: Add missing `_Py_IncRefTotal` to `_Py_NewRefWithLoc…
miss-islington May 31, 2024
a5272e6
[3.13] gh-118894: Make asyncio REPL use pyrepl (GH-119433) (#119884)
miss-islington May 31, 2024
0a266f7
[3.13] gh-74929: PEP 667 C API documentation (gh-119892)
miss-islington Jun 1, 2024
a055984
[3.13] gh-119821: Support non-dict globals in LOAD_FROM_DICT_OR_GLOBA…
JelleZijlstra Jun 1, 2024
48f3378
[3.13] gh-117657: Fix TSAN race in free-threaded GC (GH-119883) (#119…
miss-islington Jun 1, 2024
48054d2
[3.13] gh-117657: Fix TSAN race in QSBR assertion (GH-119887) (#119904)
miss-islington Jun 1, 2024
4e147ca
[3.13] Revert "[3.13] gh-69214: Fix fcntl.ioctl() request type (GH-11…
vstinner Jun 1, 2024
0ea77d4
[3.13] gh-113892: Add a extra check to `ProactorEventLoop.sock_connec…
miss-islington Jun 1, 2024
9f9be95
[3.13] gh-117657: Add TSAN suppression for `set_discard_entry` (GH-11…
miss-islington Jun 1, 2024
99d0f51
[3.13] Add unique() recipe to itertools docs (gh-119911) (gh-119916)
miss-islington Jun 1, 2024
225c3cd
[3.13] GH-89727: Fix `shutil.rmtree()` recursion error on deep trees …
miss-islington Jun 1, 2024
ac35d96
[3.13] gh-111201: Skip pyrepl Windows tests earlier (#119848) (#119924)
vstinner Jun 1, 2024
edb6883
[3.13] gh-119016: Remove outdated sentences from the "classes" tutori…
miss-islington Jun 1, 2024
36ca00f
[3.13] gh-118888: Further PEP 667 docs updates (gh-119894)
miss-islington Jun 2, 2024
cf8f292
[3.13] gh-118934: Fix PyEval_GetLocals docs (PEP 667) (GH-119934)
miss-islington Jun 2, 2024
9d3de7b
[3.13] gh-117657: Fix TSAN reported race in `_PyEval_IsGILEnabled`. (…
miss-islington Jun 2, 2024
cfec22c
[3.13] Improve documentation for typing.get_type_hints (GH-119928) (#…
miss-islington Jun 2, 2024
590fd9c
[3.13] GH-119054: Add "Querying file type and status" section to path…
barneygale Jun 2, 2024
d33b086
[3.13] GH-119054: Add "Reading and writing files" section to pathlib …
miss-islington Jun 2, 2024
3709e1b
[3.13] gh-109975: What's New in Python 3.13: fix broken link for `tel…
miss-islington Jun 3, 2024
e5dfcea
[3.13] gh-117657: Fix data races report by TSAN unicode-hash (gh-1199…
miss-islington Jun 3, 2024
c3fc3a2
[3.13] gh-119856: Support exiting help() with just "exit" (GH-119858)…
miss-islington Jun 3, 2024
cc663b7
[3.13] gh-119336: Restore removed _PyLong_NumBits() function (GH-1194…
miss-islington Jun 3, 2024
6db1eb9
[3.13] gh-119968: Improved monitoring c-api docs (GH-119969) (#119971)
miss-islington Jun 3, 2024
b26b410
gh-102511: Amend 3.13.0b1.rst (GH-119895)
miss-islington Jun 3, 2024
671b740
gh-119679: Ensures correct import libraries are included in Windows i…
miss-islington Jun 3, 2024
060d846
[3.13] Use Cirrus M1 macOS runners for CI (GH-119979) (GH-119986)
miss-islington Jun 3, 2024
6b10467
[3.13] gh-118835: pyrepl: Fix prompt length computation for custom pr…
miss-islington Jun 3, 2024
ca37034
[3.13] gh-117657: Avoid `sem_clockwait` in TSAN (GH-119915) (#119992)
miss-islington Jun 3, 2024
ae70531
[3.13] gh-117657: Fix race involving immortalizing objects (GH-119927…
colesbury Jun 3, 2024
79fae3b
[3.13] gh-117657: Fix itertools.count thread safety (GH-119268) (#120…
colesbury Jun 3, 2024
39510da
[3.13] gh-117398: Add datetime Module State (gh-120004)
miss-islington Jun 3, 2024
c348e27
[3.13] gh-117142: Support Importing ctypes in Isolated Interpreters (…
miss-islington Jun 3, 2024
e5fb3a2
[3.13] gh-117398: Use Per-Interpreter State for the _datetime Static …
miss-islington Jun 3, 2024
6be55f1
[3.13] gh-119724: Revert "bpo-45759: Better error messages for non-ma…
Yhg1s Jun 4, 2024
1177897
[3.13] gh-111389: Add PyHASH_MULTIPLIER constant (GH-119214) (#119334)
miss-islington Jun 4, 2024
6e67fd5
[3.13] gh-111499: Fix PYTHONMALLOCSTATS at Python exit (GH-120021) (#…
miss-islington Jun 4, 2024
6ce2810
[3.13] gh-119070: Update test_shebang_executable_extension to always …
miss-islington Jun 4, 2024
feaecf8
[3.13] gh-118868: logging QueueHandler fix passing of kwargs (GH-1188…
miss-islington Jun 4, 2024
720a44d
[3.13] gh-119819: Fix regression to allow logging configuration with …
miss-islington Jun 4, 2024
ee7d268
[3.13] gh-117657: Fix race involving GC and heap initialization (GH-1…
miss-islington Jun 4, 2024
23ebf87
[3.13] gh-106531: Apply changes from importlib_resources 6.3.2 (GH-11…
miss-islington Jun 4, 2024
34a6d89
[3.13] gh-119588: Implement zipfile.Path.is_symlink (zipp 3.19.0). (G…
miss-islington Jun 4, 2024
6725c78
[3.13] gh-119588: Update docs to reflect decision to include the chan…
miss-islington Jun 4, 2024
54023a6
[3.13] Fix incorrect pull GitHub link in What's New (GH-120045) (#120…
miss-islington Jun 4, 2024
2acbdc2 8000
[3.13] gh-89928: Fix integer conversion of device numbers (GH-31794) …
miss-islington Jun 4, 2024
8d74eae
[3.13] gh-120041: Do not use append_to_screen when completions are vi…
miss-islington Jun 4, 2024
fd5428d
[3.13] gh-120039: Reduce expected timeout in test_siginterrupt_off (G…
miss-islington Jun 4, 2024
93b95e9
[3.13] gh-119553: Clear reader on Ctrl-C command (GH-119801) (#120062)
miss-islington Jun 4, 2024
eea45ea
[3.13] gh-119842: Honor PyOS_InputHook in the new REPL (GH-119843) (G…
ambv Jun 4, 2024
7edc6bd
[3.13] gh-119819: Update test to skip if _multiprocessing is unavaila…
miss-islington Jun 4, 2024
327a36a
[3.13] gh-119999: Fix potential race condition in `_Py_ExplicitMergeR…
miss-islington Jun 4, 2024
a9e807f
[3.13] gh-120048: Make `test_imaplib` faster (GH-120050) (#120069)
miss-islington Jun 4, 2024
4ac0ccf
[3.13] gh-119553: Fix console when pressing Ctrl-C within a multiline…
miss-islington Jun 4, 2024
a653562
[3.13] gh-114616: Improve docs regarding changes to caches representa…
miss-islington Jun 4, 2024
df8a98a
[3.13] gh-120078: Fix struct_time attr typo tm_day -> tm_mday in Doc/…
miss-islington Jun 5, 2024
71f86ee
[3.13] gh-119819: Update logging configuration to support joinable mu…
miss-islington Jun 5, 2024
8e0c80a
[3.13] gh-119287: clarify doc on BaseExceptionGroup.derive and link t…
miss-islington Jun 5, 2024
f561258
[3.13] gh-120065: Increase `collect_in_thread` period to 5 ms. (GH-12…
miss-islington Jun 5, 2024
3a83b17
Python 3.13.0b2
Yhg1s Jun 5, 2024
8ac0855
[3.13] Withdraw most of my ownership in favor of Mark (#120126)
gvanrossum Jun 5, 2024
1ba3cce
Post 3.13.0b2
Yhg1s Jun 5, 2024
3a84779
Merge branch '3.13' of https://github.com/python/cpython into 3.13
Yhg1s Jun 5, 2024
13e5f45
[3.13] gh-120111: Don't use cirrus M1 macOS runners on fork (GH-12011…
miss-islington Jun 6, 2024
fbdff38
gh-119679: Fix layout of PYD and DLL files on Windows when using PC/l…
miss-islington Jun 6, 2024
015ddfe
[3.13] Restore decimal context after decimal doctests (GH-120149) (GH…
miss-islington Jun 6, 2024
517733c
[3.13] gh-117657: Fix TSAN race involving import lock (GH-118523) (#1…
miss-islington Jun 6, 2024
d4566c0
[3.13] GH-119054: Add "Reading directories" section to pathlib docs (…
barneygale Jun 7, 2024
1ae5586
Remove pyrepl's optimization for self-insert
godlygeek Jun 7, 2024
4e25383
Use line-buffering when pyrepl echoes pastes
godlygeek Jun 7, 2024
0e6d02b
Remove dead code from pyrepl
godlygeek Jun 7, 2024
73fa40c
Speed up pyrepl's screen rendering computation
godlygeek Jun 7, 2024
f66da51
Speed up pyrepl prompt drawing
godlygeek Jun 7, 2024
52366ba
Speed up pasting multiple lines into the REPL
godlygeek Jun 7, 2024
fc9e71b
Use a read buffer for input in pyrepl
godlygeek Jun 7, 2024
67e28a7
Optimize finding width of a single character
godlygeek Jun 7, 2024
d9a6e26
Optimize disp_str for ASCII characters
godlygeek Jun 7, 2024
fcfdfff
Speed up cursor movements in long pyrepl commands
godlygeek Jun 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
[3.13] gh-118846: Fix free-threading test failures when run sequentia…
…lly (GH-118864) (#118927)

The free-threaded build currently immortalizes some objects once the
first thread is started. This can lead to test failures depending on the
order in which tests are run. This PR addresses those failures by
suppressing immortalization or skipping the affected tests.
(cherry picked from commit b309c8e)

Co-authored-by: Sam Gross <colesbury@gmail.com>
  • Loading branch information
miss-islington and colesbury authored May 10, 2024
commit cceb758c788adb51ca1660e9d49410c2347feadc
1 change: 1 addition & 0 deletions Lib/test/seq_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,7 @@ def test_pickle(self):
self.assertEqual(lst2, lst)
self.assertNotEqual(id(lst2), id(lst))

@support.suppress_immortalization()
def test_free_after_iterating(self):
support.check_free_after_iterating(self, iter, self.type2test)
support.check_free_after_iterating(self, reversed, self.type2test)
5 changes: 4 additions & 1 deletion Lib/test/test_capi/test_misc.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
from test.support import threading_helper
from test.support import warnings_helper
from test.support import requires_limited_api
from test.support import requires_gil_enabled, expected_failure_if_gil_disabled
from test.support import suppress_immortalization
from test.support import expected_failure_if_gil_disabled
from test.support import Py_GIL_DISABLED
from test.support.script_helper import assert_python_failure, assert_python_ok, run_python_until_end
try:
Expand Down Expand Up @@ -481,6 +482,7 @@ def test_heap_ctype_doc_and_text_signature(self):
def test_null_type_doc(self):
self.assertEqual(_testcapi.NullTpDocType.__doc__, None)

@suppress_immortalization()
def test_subclass_of_heap_gc_ctype_with_tpdealloc_decrefs_once(self):
class HeapGcCTypeSubclass(_testcapi.HeapGcCType):
def __init__(self):
Expand All @@ -498,6 +500,7 @@ def __init__(self):
del subclass_instance
self.assertEqual(type_refcnt - 1, sys.getrefcount(HeapGcCTypeSubclass))

@suppress_immortalization()
def test_subclass_of_heap_gc_ctype_with_del_modifying_dunder_class_only_decrefs_once(self):
class A(_testcapi.HeapGcCType):
def __init__(self):
Expand Down
1 change: 1 addition & 0 deletions Lib/test/test_descr.py
Original file line number Diff line number Diff line change
Expand Up @@ -5014,6 +5014,7 @@ def __new__(cls):
cls.lst = [2**i for i in range(10000)]
X.descr

@support.suppress_immortalization()
def test_remove_subclass(self):
# bpo-46417: when the last subclass of a type is deleted,
# remove_subclass() clears the internal dictionary of subclasses:
Expand Down
20 changes: 18 additions & 2 deletions Lib/test/test_gc.py
558
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
from test import support
from test.support import (verbose, refcount_test,
cpython_only, requires_subprocess,
requires_gil_enabled)
requires_gil_enabled, suppress_immortalization,
Py_GIL_DISABLED)
from test.support.import_helper import import_module
from test.support.os_helper import temp_dir, TESTFN, unlink
from test.support.script_helper import assert_python_ok, make_script
Expand Down Expand Up @@ -109,6 +110,7 @@ def test_tuple(self):
del l
self.assertEqual(gc.collect(), 2)

@suppress_immortalization()
def test_class(self):
class A:
pass
Expand All @@ -117,6 +119,7 @@ class A:
del A
self.assertNotEqual(gc.collect(), 0)

@suppress_immortalization()
def test_newstyleclass(self):
class A(object):
pass
Expand All @@ -133,6 +136,7 @@ class A:
del a
self.assertNotEqual(gc.collect(), 0)

@suppress_immortalization()
def test_newinstance(self):
class A(object):
pass
Expand Down Expand Up @@ -219,6 +223,7 @@ class B(object):
self.fail("didn't find obj in garbage (finalizer)")
gc.garbage.remove(obj)

@suppress_immortalization()
def test_function(self):
# Tricky: f -> d -> f, code should call d.clear() after the exec to
# break the cycle.
Expand Down Expand Up @@ -561,6 +566,7 @@ def test_get_referents(self):

self.assertEqual(gc.get_referents(1, 'a', 4j), [])

@suppress_immortalization()
def test_is_tracked(self):
# Atomic built-in types are not tracked, user-defined objects and
# mutable containers are.
Expand Down Expand Up @@ -598,7 +604,9 @@ class UserFloatSlots(float):
class UserIntSlots(int):
__slots__ = ()

self.assertTrue(gc.is_tracked(gc))
if not Py_GIL_DISABLED:
# gh-117783: modules may be immortalized in free-threaded build
self.assertTrue(gc.is_tracked(gc))
self.assertTrue(gc.is_tracked(UserClass))
self.assertTrue(gc.is_tracked(UserClass()))
self.assertTrue(gc.is_tracked(UserInt()))
Expand Down Expand Up @@ -1347,6 +1355,10 @@ def callback(ignored):
junk = []
i = 0
detector = GC_Detector()
if Py_GIL_DISABLED:
# The free-threaded build doesn't have multiple generations, so
# just trigger a GC manually.
gc.collect()
while not detector.gc_happened:
i += 1
if i > 10000:
Expand Down Expand Up @@ -1415,6 +1427,10 @@ def __del__(self):
detector = GC_Detector()
junk = []
i = 0
if Py_GIL_DISABLED:
# The free-threaded build doesn't have multiple generations, so
# just trigger a GC manually.
gc.collect()
while not detector.gc_happened:
i += 1
if i > 10000:
Expand Down
4 changes: 3 additions & 1 deletion Lib/test/test_inspect/test_inspect.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
except ImportError:
ThreadPoolExecutor = None

from test.support import cpython_only, import_helper
from test.support import cpython_only, import_helper, suppress_immortalization
from test.support import MISSING_C_DOCSTRINGS, ALWAYS_EQ
from test.support.import_helper import DirsOnSysPath, ready_to_import
from test.support.os_helper import TESTFN, temp_cwd
Expand Down Expand Up @@ -768,6 +768,7 @@ def test_getfile_builtin_function_or_method(self):
inspect.getfile(list.append)
self.assertIn('expected, got', str(e_append.exception))

@suppress_immortalization()
def test_getfile_class_without_module(self):
class CM(type):
@property
Expand Down Expand Up @@ -2430,6 +2431,7 @@ def __getattribute__(self, attr):

self.assertFalse(test.called)

@suppress_immortalization()
def test_cache_does_not_cause_classes_to_persist(self):
# regression test for gh-118013:
# check that the internal _shadowed_dict cache does not cause
Expand Down
3 changes: 3 additions & 0 deletions Lib/test/test_module/__init__.py
< F438 td id="diff-8650acd0d84aa122f5d0f3d5975d602dedb7fac645ed6dea24ea53e14be0021dL106" data-line-number="106" class="blob-num blob-num-context js-linkable-line-number">
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import weakref
from test.support import gc_collect
from test.support import import_helper
from test.support import suppress_immortalization
from test.support.script_helper import assert_python_ok

import sys
Expand Down Expand Up @@ -103,6 +104,7 @@ def f():
gc_collect()
self.assertEqual(f().__dict__["bar"], 4)

@suppress_immortalization()
def test_clear_dict_in_ref_cycle(self):
destroyed = []
m = ModuleType("foo")
Expand All @@ -118,6 +120,7 @@ def __del__(self):
gc_collect()
self.assertEqual(destroyed, [1])

@suppress_immortalization()
def test_weakref(self):
m = ModuleType("foo")
wr = weakref.ref(m)
Expand Down
4 changes: 3 additions & 1 deletion Lib/test/test_trace.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os
from pickle import dump
import sys
from test.support import captured_stdout, requires_resource
from test.support import captured_stdout, requires_resource, requires_gil_enabled
from test.support.os_helper import (TESTFN, rmtree, unlink)
from test.support.script_helper import assert_python_ok, assert_python_failure
import textwrap
Expand Down Expand Up @@ -301,6 +301,7 @@ def test_loop_caller_importing(self):

@unittest.skipIf(hasattr(sys, 'gettrace') and sys.gettrace(),
'pre-existing trace function throws off measurements')
@requires_gil_enabled("gh-117783: immortalization of types affects traced method names")
def test_inst_method_calling(self):
obj = TracedClass(20)
self.tracer.runfunc(obj.inst_method_calling, 1)
Expand Down Expand Up @@ -334,6 +335,7 @@ def setUp(self):

@unittest.skipIf(hasattr(sys, 'gettrace') and sys.gettrace(),
'pre-existing trace function throws off measurements')
@requires_gil_enabled("gh-117783: immortalization of types affects traced method names")
def test_loop_caller_importing(self):
self.tracer.runfunc(traced_func_importing_caller, 1)

Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_zoneinfo/test_zoneinfo.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from datetime import date, datetime, time, timedelta, timezone
from functools import cached_property

from test.support import MISSING_C_DOCSTRINGS
from test.support import MISSING_C_DOCSTRINGS, requires_gil_enabled
from test.test_zoneinfo import _support as test_support
from test.test_zoneinfo._support import OS_ENV_LOCK, TZPATH_TEST_LOCK, ZoneInfoTestBase
from test.support.import_helper import import_module, CleanImport
Expand Down Expand Up @@ -1931,6 +1931,7 @@ def test_cache_location(self):
self.assertFalse(hasattr(c_zoneinfo.ZoneInfo, "_weak_cache"))
self.assertTrue(hasattr(py_zoneinfo.ZoneInfo, "_weak_cache"))

@requires_gil_enabled("gh-117783: types may be immortalized")
def test_gc_tracked(self):
import gc

Expand Down
Loading
0