Kirill Podoprigora
fc6d4b71eb
gh-129192: Use EnvironmentVarGuard to restore environment variables ( #129193 )
...
Co-authored-by: Cody Maloney <cmaloney@theoreticalchaos.com>
2025-01-22 20:39:26 +00:00
Yury Selivanov
188598851d
GH-91048: Add utils for capturing async call stack for asyncio programs and enable profiling ( #124640 )
...
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
Co-authored-by: Jacob Coffee <jacob@z7x.org>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2025-01-22 17:25:29 +01:00
Pablo Galindo Salgado
60a3a0dd6f
gh-124363: Treat debug expressions in f-string as raw strings ( #128399 )
...
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2025-01-22 16:24:54 +00:00
Tomas R.
ba9a4b6215
gh-128636: Fix crash in PyREPL when os.environ is overwritten with an invalid value ( #128653 )
2025-01-22 16:15:23 +00:00
Łukasz Langa
2ed5ee9a50
gh-129158: Fix unwanted trailing whitespace in test_asyncio.test_subprocess ( #129181 )
2025-01-22 13:52:45 +00:00
Mikhail Efimov
8e20e42cc6
gh-125723: Fix crash with f_locals when generator frame outlive their generator ( #126956 )
...
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
2025-01-22 15:50:01 +03:00
Thomas Grainger
24c84d816f
gh-128770: fix ResourceWarning in test_pyrepl ( #128906 )
2025-01-22 12:48:33 +00:00
sobolevn
a16ded10ad
gh-128894: Fix TracebackException._format_syntax_error on custom SyntaxError metadata ( #128946 )
2025-01-22 12:47:03 +00:00
Pablo Galindo Salgado
a9f5edbf5f
gh-129158: Ensure we restore unix_events.can_use_pidfd after SubprocessThreadedWatcherTests finishes ( #129160 )
2025-01-22 12:25:42 +00:00
Victor Stinner
9012fa741d
gh-128863: Deprecate private C API functions ( #128864 )
...
Deprecate private C API functions:
* _PyBytes_Join()
* _PyDict_GetItemStringWithError()
* _PyDict_Pop()
* _PyThreadState_UncheckedGet()
* _PyUnicode_AsString()
* _Py_HashPointer()
* _Py_fopen_obj()
Replace _Py_HashPointer() with Py_HashPointer().
Remove references to deprecated functions.
2025-01-22 11:04:19 +00:00
Ken Jin
86c1a60d5a
gh-128563: Move GO_TO_INSTRUCTION and PREDICT to cases generator (GH-129115)
2025-01-22 09:22:25 +08:00
Tomas R.
767cf70844
gh-129093: Fix f-string debug text sometimes getting cut off when expression contains ! ( #129159 )
2025-01-22 00:26:37 +00:00
Adam Turner
01bcf13a1c
GH-121970: Extract `pydoc_topics` into a new extension ( #129116 )
2025-01-21 23:28:32 +00:00
Daniel Hollas
29caec62ee
gh-118878: Pyrepl: show completions menu below the current line ( #118939 )
...
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2025-01-21 21:06:13 +00:00
Lysandros Nikolaou
5a9afe2362
gh-123024: Correctly prepare/restore around help and show-history commands ( #124485 )
...
Co-authored-by: Emily Morehouse <emily@cuttlesoft.com>
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2025-01-21 21:04:30 +00:00
Pieter Eendebak
d147e5e52c
gh-126332: Fix pyrepl crash for double ctrl-z in line overflow ( #126650 )
...
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2025-01-21 20:14:10 +00:00
Tomas R.
7ad793e5db
gh-125553: Fix backslash continuation in untokenize ( #126010 )
2025-01-21 19:58:44 +00:00
Barney Gale
01d91500ca
GH-128520: Make pathlib._abc.WritablePath a sibling of ReadablePath ( #129014 )
...
In the private pathlib ABCs, support write-only virtual filesystems by
making `WritablePath` inherit directly from `JoinablePath`, rather than
subclassing `ReadablePath`.
There are two complications:
- `ReadablePath.open()` applies to both reading and writing
- `ReadablePath.copy` is secretly an object that supports the *read* side
of copying, whereas `WritablePath.copy` is a different kind of object
supporting the *write* side
We untangle these as follow:
- A new `pathlib._abc.magic_open()` function replaces the `open()` method,
which is dropped from the ABCs but remains in `pathlib.Path`. The
function works like `io.open()`, but additionally accepts objects with
`__open_rb__()` or `__open_wb__()` methods as appropriate for the mode.
These new dunders are made abstract methods of `ReadablePath` and
`WritablePath` respectively. If the pathlib ABCs are made public, we
could consider blessing an "openable" protocol and supporting it in
`io.open()`, removing the need for `pathlib._abc.magic_open()`.
- `ReadablePath.copy` becomes a true method, whereas `WritablePath.copy` is
deleted. A new `ReadablePath._copy_reader` property provides a
`CopyReader` object, and similarly `WritablePath._copy_writer` is a
`CopyWriter` object. Once GH-125413 is resolved, we'll be able to move
the `CopyReader` functionality into `ReadablePath.info` and eliminate
`ReadablePath._copy_reader`.
2025-01-21 18:35:37 +00:00
Hugo van Kemenade
05d12eecbd
gh-127873: Only check sys.flags.ignore_environment for PYTHON* env vars ( #127877 )
2025-01-21 16:10:08 +00:00
Petr Viktorin
13475e0a5a
gh-128889: Zero out memory ctypes for generated struct layout tests (GH-128944)
2025-01-21 16:29:02 +01:00
Serhiy Storchaka
4b37a6bda2
gh-71339: Fix an order-dependent failure in test_unittest (GH-129133)
...
It failed if it was preceded by test_builtin.
2025-01-21 16:45:20 +02:00
Petr Viktorin
bf150f61ad
gh-126349: test_turtle: Add cleanup to avoid reference leaks (GH-129079)
2025-01-21 11:28:34 +01:00
Petr Viktorin
d3b1bb228c
gh-128156: Guard use of ffi_type_complex_double on macOS system libffi (GH-128680)
...
* Determine ffi complex support at runtime
* Also, generate SIMPLE_TYPE_CHARS once at runtime
2025-01-21 10:59:18 +01:00
Serhiy Storchaka
f7cc7d296c
gh-71339: Use new assertion methods in test_import and test_importlib (GH-129052)
2025-01-21 11:24:19 +02:00
Hugo van Kemenade
417f7a9ef7
gh-128595: Fix test__colorize unexpected keyword argument 'file' on buildbots ( #129070 )
2025-01-21 11:20:54 +02:00
Filipe Laíns 🇵🇸
e52ab564da
GH-92897: schedule the check_home deprecation to 3.15 ( #129102 )
2025-01-20 21:25:14 +00:00
Wulian
5d57959d7d
gh-91279: ZipFile.writestr now respect SOURCE_DATE_EPOCH ( #124435 )
2025-01-20 13:12:29 -05:00
5ec1cff
dda02eb7be
GH-128131: Completely support random read access of uncompressed unencrypted files in ZipFile ( #128143 )
...
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-01-20 13:04:43 -05:00
Thomas Grainger
ed6934e71e
gh-128588: gh-128550: remove eager tasks optimization that missed and introduced incorrect cancellations ( #129063 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-01-20 17:13:01 +00:00
Mark Shannon
ab61d3f430
GH-128914: Remove conditional stack effects from bytecodes.c and the code generators (GH-128918)
2025-01-20 17:09:23 +00:00
Filipe Laíns 🇵🇸
0a6412f9cc
GH-129064: deprecate sysconfig.expand_makefile_vars ( #129082 )
2025-01-20 17:03:44 +00:00
Thomas Grainger
38a9956876
gh-128308: pass **kwargs to asyncio task_factory ( #128768 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-01-20 22:23:55 +05:30
Mark Shannon
f0f7b978be
GH-128939: Refactor JIT optimize structs (GH-128940)
2025-01-20 15:49:15 +00:00
Victor Stinner
8ceb6cb117
gh-129033: Remove _PyInterpreterState_SetConfig() function ( #129048 )
...
Remove _PyInterpreterState_GetConfigCopy() and
_PyInterpreterState_SetConfig() private functions. PEP 741 "Python
Configuration C API" added a better public C API: PyConfig_Get() and
PyConfig_Set().
2025-01-20 16:31:33 +01:00
Serhiy Storchaka
38c3cf6320
gh-71339: Use new assertion methods in test_ctypes (GH-129054)
2025-01-20 13:30:00 +00:00
Bénédikt Tran
df66ff14b4
gh-128978: Fix a NameError in sysconfig.expand_makefile_vars ( #128979 )
...
This fixes a regression introduced by 4a53a397c3 .
2025-01-20 13:27:14 +00:00
Bénédikt Tran
59fcae793f
Remove duplicated dict keys in test_{embed,long}.py fixtures ( #128727 )
2025-01-20 13:50:10 +01:00
Serhiy Storchaka
a30277a06a
gh-71339: Use new assertion methods in test_capi (GH-129053)
2025-01-20 14:32:27 +02:00
Erlend E. Aasland
537296cdcd
gh-111178: Generate correct signature for most self converters ( #128447 )
2025-01-20 12:40:18 +01:00
Serhiy Storchaka
c6b570e5e3
gh-71339: Use new assertion methods in test_asyncio ( #129051 )
2025-01-20 17:02:39 +05:30
Hugo van Kemenade
6f167d7134
gh-128595: Default to stdout isatty for colour detection instead of stderr ( #128498 )
...
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-01-20 12:52:42 +02:00
Victor Stinner
07c3518ffb
gh-129033: Remove _Py_InitializeMain() function ( #129034 )
...
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
2025-01-20 10:03:22 +00:00
Serhiy Storchaka
c463270c73
gh-71339: Use new assertion methods in test_traceback (GH-128848)
2025-01-20 11:22:33 +02:00
Serhiy Storchaka
485d2e831e
gh-71339: Use assertIsSubclass() and assertNotIsSubclass() in test_decimal (GH-128827)
2025-01-20 11:20:49 +02:00
Serhiy Storchaka
36aaf4137d
gh-71339: Use new assertion methods in test_abc (GH-128826)
2025-01-20 11:19:43 +02:00
Serhiy Storchaka
da122b5fac
gh-71339: Improve error report for types in assertHasAttr() and assertNotHasAttr() (GH-128818)
2025-01-20 11:17:49 +02:00
Serhiy Storchaka
89c401fb9a
gh-71339: Use new assertion methods in test_functools (GH-128829)
2025-01-20 11:17:04 +02:00
Serhiy Storchaka
887f2bcf48
gh-71339: Use assertIsSubclass() and assertNotIsSubclass() in test_collections (GH-128824)
2025-01-20 11:16:32 +02:00
Eli Schwartz
3b6a27c560
gh-118761: Redudce the import time of `optparse` ( #128899 )
...
The same change was made, and for the same reason, by ``argparse`` back in
2017. The ``textwrap`` module is only used when printing help text, so most
invocations will never need it imported.
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-01-20 00:03:19 +00:00
Eli Schwartz
c9c9fcb8fc
gh-118761: Improve the import time of `gettext` ( #128898 )
...
``gettext`` is often imported in programs that may not end up translating
anything. In fact, the ``struct`` module already has a delayed import when
parsing ``GNUTranslations`` to speed up the no ``.mo`` files case. The re module
is also used in the same situation, but behind a function chain only
called by ``GNUTranslations``.
Cache the compiled regex globally the first time it is used. The
finditer function is converted to a method call on the compiled
object which is slightly more efficient, and necessary for the
delayed re import.
2025-01-20 00:01:20 +00:00