116232 Commits

Author SHA1 Message Date
Mark Shannon
233e32f936
GH-102300: Reuse objects with refcount == 1 in float specialized binary ops. (GH-102301) 2023-03-13 10:34:54 +00:00
Hugo van Kemenade
78e4e6c3d7
gh-101100: Fix Sphinx warnings in turtle module (#102340)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2023-03-13 11:24:52 +02:00
gaogaotiantian
5d677c556f
GH-101673: Fix pdb bug where local variable changes are lost after longlist (#101674) 2023-03-12 23:09:55 +00:00
Виталий Дмитриев
f6ca71a422
Fix duplicated words in the docs (GH-102629)
With grep utility found some duplicated words

Automerge-Triggered-By: GH:AlexWaygood
2023-03-12 11:03:59 -07:00
Raymond Hettinger
6cd7572f85
Optimize fmean() weighted average (#102626) 2023-03-12 12:48:25 -05:00
Guido van Rossum
e6210621be
Fixes duplicated word (#102623)
In line 1627, the end of the sentence reads "only that that it may be." but it should read "only that it may be" (or alternatively "only that that may be").

Co-authored-by: Hugo Gabriel Eyherabide <hugogabriel.eyherabide@gmail.com>
2023-03-12 09:58:02 -07:00
Nikita Sobolev
bb396eece4
gh-101821: Test coverage for ast.main function (#101822) 2023-03-11 11:10:52 -08:00
Thomas Krennwallner
534660f168
gh-79940: skip TestGetAsyncGenState on wasm as it requires working sockets (GH-102605)
Skip `TestGetAsyncGenState` and restoring of the default event loop policy in `test_inspect` if platform lacks working socket support.

Fixes #11590

Automerge-Triggered-By: GH:kumaraditya303
2023-03-11 10:36:49 -08:00
Thomas Krennwallner
ced13c96a4
gh-79940: add introspection API for asynchronous generators to inspect module (#11590) 2023-03-11 18:49:40 +05:30
wangxiang-hz
aa0a73d1bc
gh-102213: Optimize the performance of __getattr__ (GH-102248)
When __getattr__ is defined, python with try to find an attribute using _PyObject_GenericGetAttrWithDict
find nothing is reasonable so we don't need an exception, it will hurt performance.
2023-03-11 19:11:37 +08:00
Alex Waygood
5ffdaf748d
gh-102433: Add tests for how classes with properties interact with isinstance() checks on typing.runtime_checkable protocols (#102449)
Co-authored-by: Carl Meyer <carl@oddbird.net>
2023-03-11 01:20:20 +00:00
Brandt Bucher
08b67fb34f
GH-90997: Shrink the LOAD_GLOBAL caches (#102569) 2023-03-10 17:01:16 -08:00
Ilya V. Schurov
767d3a8f6f
gh-88071: Update docstrings of dataclass' astuple and asdict (#101806)
Update dataclasses.astuple and dataclasses.asdict docstrings to reflect that they deep copy objects in the field values.
2023-03-10 17:27:41 -07:00
Nikita Sobolev
b48be8fa18
gh-102103: add module argument to dataclasses.make_dataclass (#102104) 2023-03-10 17:26:46 -07:00
Xuehai Pan
ee6f8413a9
gh-102578: Optimise setting and deleting mutable attributes on non-dataclass subclasses of frozen dataclasses (gh-102573) 2023-03-10 19:21:22 -05:00
Barney Gale
90f1d77717
GH-80486: Fix handling of NTFS alternate data streams in pathlib (GH-102454)
Co-authored-by: Maor Kleinberger <kmaork@gmail.com>
2023-03-10 17:29:04 +00:00
Steve Dower
12226bec25
gh-102519: Add doc updates for os.listdrives, listvolumes and listmounts (GH-102585) 2023-03-10 15:41:32 +00:00
Paul Ganssle
64bde502cf
GH-102537: Handle check for PYTHONTZPATH failing in zoneinfo test (GH-102538)
It is possible but unlikely for the `python_tzpath_context` function to fail between the start of the `try` block and the point where `os.environ.get` succeeds, in which case `old_env` will be undefined. In this case, we want to take no action.

Practically speaking this will really only happen in an error condition anyway, so it doesn't really matter, but we should probably do it right anyway.
2023-03-10 07:29:37 -08:00
Owain Davies
53dceb53ad
gh-86509: Add link to Lib/_threading_local.py in threading docs (#101824) 2023-03-10 13:22:02 +01:00
Steve Dower
cb35882773
gh-102519: Add os.listdrives, os.listvolumes and os.listmounts on Windows (GH-102544) 2023-03-10 12:21:37 +00:00
Irit Katriel
2999e02836
gh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives in _ctypes (#102477) 2023-03-10 14:32:32 +05:30
David Hewitt
71cf7c3ddd
gh-102378: don't bother stripping / from __text_signature__ (#102379) 2023-03-09 15:06:20 -08:00
Max Bachmann
c6858d1e7f
gh-102255: Improve build support for Windows API partitions (GH-102256)
Add `MS_WINDOWS_DESKTOP`, `MS_WINDOWS_APPS`, `MS_WINDOWS_SYSTEM` and `MS_WINDOWS_GAMES` preprocessor definitions to allow switching off functionality missing from particular API partitions ("partitions" are used in Windows to identify overlapping subsets of APIs).
CPython only officially supports `MS_WINDOWS_DESKTOP` and `MS_WINDOWS_SYSTEM` (APPS is included by normal desktop builds, but APPS without DESKTOP is not covered). Other configurations are a convenience for people building their own runtimes.
`MS_WINDOWS_GAMES` is for the Xbox subset of the Windows API, which is also available on client OS, but is restricted compared to `MS_WINDOWS_DESKTOP`. These restrictions may change over time, as they relate to the build headers rather than the OS support, and so we assume that Xbox builds will use the latest available version of the GDK.
2023-03-09 21:09:12 +00:00
Eric Snow
ca066bdbed
gh-81057: Vendor a Subset of distutils for the c-analyzer Tool (gh-102505)
distutils was removed in November. However, the c-analyzer relies on it. To solve that here, we vendor the parts the tool needs so it can be run against 3.12+. (Also see gh-92584.)

Note that we may end up removing this code later in favor of a solution in common with the peg_generator tool (which also relies on distutils).  At the least, the copy here makes sure the c-analyzer tool works on 3.12+ in the meantime.
2023-03-09 09:50:33 -07:00
Eric Snow
cf6e7c5e55
gh-100227: Isolate the Import State to Each Interpreter (gh-101941)
Specific changes:

* move the import lock to PyInterpreterState
* move the "find_and_load" diagnostic state to PyInterpreterState

Note that the import lock exists to keep multiple imports of the same module in the same interpreter (but in different threads) from stomping on each other.  Independently, we use a distinct global lock to protect globally shared import state, especially related to loaded extension modules.  For now we can rely on the GIL as that lock but with a per-interpreter GIL we'll need a new global lock.

The remaining state in _PyRuntimeState.imports will (probably) continue being global.

https://github.com/python/cpython/issues/100227
2023-03-09 09:46:21 -07:00
Eric Snow
b45d14b886
gh-100227: Move dict_state.global_version to PyInterpreterState (gh-102338)
https://github.com/python/cpython/issues/100227
2023-03-09 08:16:30 -07:00
T. Wouters
58d761e5b5
GH-84783: Document GH-101264 (Make the slice object hashable) in What's New. (#102548) 2023-03-08 18:39:33 -08:00
Eric Snow
5e5acd291f
gh-100227: Move next_keys_version to PyInterpreterState (gh-102335)
https://github.com/python/cpython/issues/100227
2023-03-08 18:04:16 -07:00
Eric Snow
66ff374d4f
gh-100227: Move func_state.next_version to PyInterpreterState (gh-102334)
https://github.com/python/cpython/issues/100227
2023-03-08 15:56:36 -07:00
Eric Snow
cbb0aa71d0
gh-102304: Consolidate Direct Usage of _Py_RefTotal (gh-102514)
This simplifies further changes to _Py_RefTotal (e.g. make it atomic or move it to PyInterpreterState).

https://github.com/python/cpython/issues/102304
2023-03-08 12:03:50 -07:00
Irit Katriel
11a2c6ce51
gh-102192: Replace PyErr_Fetch/Restore etc by more efficient alternatives (in Objects/) (#102218) 2023-03-08 17:03:18 +00:00
JosephSBoyle
b097925858
gh-102507 Remove invisible pagebreak characters (#102531)
Co-authored-by: AlexWaygood <alex.waygood@gmail.com>
2023-03-08 13:58:14 +00:00
Alex Waygood
401d7a7f00
gh-102515: Remove unused imports in the Lib/ directory (#102516) 2023-03-08 11:45:38 +00:00
sblondon
7d801f245e
Remove or update bitbucket links (GH-101963)
Since Mercurial removal from bitbucket.org, some links are broken.
They are replaced by github.com or webarchive.org links if available. Otherwise, they are removed.

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2023-03-08 11:24:39 +01:00
Nikita Sobolev
1f557f94c2
gh-101100: Fix sphinx warnings in zipapp and zipfile modules (#102526) 2023-03-08 08:19:05 +00:00
Kumar Aditya
1a84cc007e
GH-102397: Fix segfault from race condition in signal handling (#102399)
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-03-08 13:29:39 +05:30
Marcin Wieczorek
061325e0d2
Fix style in argparse.rst (#101733) 2023-03-07 23:25:28 -08:00
Thomas Wouters
8fd55dd78e Merge in the release of Python 3.12.0a6. 2023-03-08 05:05:16 +01:00
Thomas Wouters
02b9a921cb Post 3.12.0a6 2023-03-08 05:04:38 +01:00
Kumar Aditya
e499680100
fix typo in async generator code field name ag_code (#102448) 2023-03-08 09:09:50 +05:30
Carl Meyer
1e703a4733
gh-102381: don't call watcher callback with dead object (#102382)
Co-authored-by: T. Wouters <thomas@python.org>
2023-03-07 17:10:58 -07:00
Thomas Wouters
f9774e57d8 Python 3.12.0a6 v3.12.0a6 2023-03-07 22:48:18 +01:00
Irit Katriel
a33ca2ad1f
gh-102493: fix normalization in PyErr_SetObject (#102502)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-03-07 13:27:46 -08:00
Irit Katriel
54060ae91d
gh-87092: compiler's CFG construction moved to after codegen stage (#102320) 2023-03-07 18:16:32 +00:00
C.A.M. Gerlach
4a3ea1fdd8
gh-95913: Consolidate build requirements changes in 3.11 WhatsNew (GH-98781)
Apply suggestion to combine build requirements changes in 3.11 WhatsNew

Co-authored-by: Petr Viktorin <encukou@gmail.com>
2023-03-07 15:38:31 +01:00
Kumar Aditya
d8485d6c8b
Remove redundant _ensure_future in favor of ensure_future in asyncio (#102398) 2023-03-07 08:44:55 +05:30
C.A.M. Gerlach
80b19a30c0
gh-95913: Edit Faster CPython section in 3.11 WhatsNew (GH-98429)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2023-03-07 10:45:52 +08:00
Eric Snow
8606697f49
gh-90110: Fix the c-analyzer Tool (#102483)
Some incompatible changes had gone in, and the "ignore" lists weren't properly undated. This change fixes that. It's necessary prior to enabling test_check_c_globals, which I hope to do soon.

Note that this does include moving last_resort_memory_error to PyInterpreterState.

https://github.com/python/cpython/issues/90110
2023-03-06 19:40:09 -07:00
Ned Deily
f9cdeb7b99
gh-101759: Update macOS installer SQLite 3.40.1 checksum (gh-102485) 2023-03-06 20:02:24 -05:00
JosephSBoyle
c84e6f32df
Remove unused import of warnings from unittest.loader (#102479) 2023-03-06 22:02:19 +00:00