Commit graph

121662 commits

Author SHA1 Message Date
Sam Gross
520cf2170e
gh-117688: Fix deadlock in test_no_stale_references with GIL disabled (#117720)
Check `my_object_collected.wait()` in a loop to give the main thread a
chance to merge the reference count fields. Additionally, call
`my_object_collected.set()` in a background thread to avoid deadlocking
when the destructor is called asynchronously via the eval breaker
within the body of of `my_object_collected.wait()`.
2024-04-15 12:54:56 -04:00
Alex Waygood
106e9ddc43
Docs: make the whatsnew-typing-py312 anchor point to things that were new in the typing module (#117904) 2024-04-15 16:48:13 +00:00
mpage
0d5238373d
gh-117657: Quiet more TSAN warnings due to incorrect modeling of compare/exchange (#117830) 2024-04-15 12:17:55 -04:00
mpage
6e0b327690
gh-117657: Quiet TSAN warning about a data race between start_the_world() and tstate_try_attach() (#117828)
TSAN erroneously reports a data race between the `_Py_atomic_compare_exchange_int`
on `tstate->state` in `tstate_try_attach()` and the non-atomic load of
`tstate->state` in `start_the_world`. The `_Py_atomic_compare_exchange_int` fails,
but TSAN erroneously treats it as a store.
2024-04-15 12:17:33 -04:00
mpage
47832067da
gh-117657: Add TSAN suppressions for the free-threaded build (#117736)
Additionally, reduce the iterations for a few weakref tests that would
otherwise take a prohibitively long amount of time (> 1 hour) when TSAN
is enabled and the GIL is disabled.
2024-04-15 12:08:25 -04:00
Raymond Hettinger
0823f43618
gh-115532: Minor tweaks to kde() (gh-117897) 2024-04-15 10:08:21 -05:00
Serhiy Storchaka
10f1a2687a
gh-115664: Reorganize versionadded directives for -X options (GH-116304)
Add the versionadded directives just under the description of the
corresponding option.
2024-04-15 18:01:17 +03:00
Steve Dower
7d9d6b53bc
gh-112278: Improve error handling in wmi module and tests (GH-117818) 2024-04-15 15:43:11 +01:00
Steve Dower
185999bb3a
gh-90329: Add _winapi.GetLongPathName and GetShortPathName and use in venv to reduce warnings (GH-117817) 2024-04-15 15:36:06 +01:00
Victor Stinner
64cd6fc9a6
gh-117889: Fix PGO test in test_peg_generator (#117893)
Reuse support.check_cflags_pgo() in test_peg_generator to check for
PGO build.

Log PGO_PROF_USE_FLAG in test.pythoninfo.
2024-04-15 13:59:34 +00:00
Mark Shannon
784e076a10
GH-117750: When clearing object's dict, clear inline values but leave dict attached (GH-117808) 2024-04-15 14:45:05 +01:00
Hugo van Kemenade
7d0be7aea5
Add 'The Python 2.3 Method Resolution Order' (#116435) 2024-04-15 13:01:15 +03:00
Serhiy Storchaka
57bdb75975
gh-117694: Improve tests for PyEval_EvalCodeEx() (GH-117695) 2024-04-15 12:44:54 +03:00
Victor Stinner
a9107fe5c0
gh-117755: Skip test_io.test_constructor() on s390x (#117801)
The test allocates 9 223 372 036 854 775 807 bytes
(0x7fffffffffffffff) and mimalloc fails with a division by zero on
s390x.
2024-04-15 10:24:47 +02:00
Donghee Na
7bcc257e97
gh-117826: Remove lookdict_index from delitemif_lock_held (gh-117869) 2024-04-15 14:26:59 +09:00
Galen Rice
74b0658e6a
docs: typo in 3.13 release notes (#117866) 2024-04-14 14:04:59 -07:00
Nice Zombies
9ee94d1391
gh-117636: Remove redundant type check in os.path.join() (#117638) 2024-04-14 14:04:14 -07:00
Erlend E. Aasland
e01831760e
Doc: mark up classes, attributes, parameters, and methods in dataclasses.rst (#117820) 2024-04-14 16:29:01 +00:00
Hugo van Kemenade
8fc953f606
gh-115692: Add tests to increase json coverage (#115693)
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2024-04-14 06:11:06 -06:00
Jason R. Coombs
9c93b7402b
gh-117348: restore import time performance of configparser (#117703)
Reduces import time by over 50% (10431µs vs 4350µs on Apple M3 Pro).
2024-04-14 11:10:09 +00:00
Jelle Zijlstra
c99d374fc7
dataclasses docs: add some link anchors (#117601) 2024-04-14 01:03:16 -07:00
Erlend E. Aasland
0dcfd0d522
Autoconf: aarch64-apple-darwin/clang is now a tier 1 platform (#117861)
See also python/pep#3705
2024-04-14 09:21:29 +02:00
Gouvernathor
f303651b45
Simpler example of shallow dict export of a dataclass (#117812) 2024-04-13 17:14:43 -07:00
Gouvernathor
e7cce2a9c6
Tweak wording for dataclasses.replace (gh-117758) 2024-04-13 20:03:09 -04:00
Barney Gale
a74f117dab
GH-115060: Speed up pathlib.Path.glob() by omitting initial stat() (#117831)
Since 6258844c, paths that might not exist can be fed into pathlib's
globbing implementation, which will call `os.scandir()` / `os.lstat()` only
when strictly necessary. This allows us to drop an initial `self.is_dir()`
call, which saves a `stat()`.

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2024-04-14 00:08:03 +01:00
Erlend E. Aasland
3095d02642
gh-96398: Fix mpicc check in configure.ac (#117857) 2024-04-13 21:22:06 +00:00
Hugo van Kemenade
56ed979d04
gh-68583: webbrowser: replace getopt with argparse, add long options (#117047) 2024-04-13 08:56:56 -06:00
Michiel W. Beijen
022ba6d161
gh-102247: http: support rfc9110 status codes (GH-117611)
rfc9110 obsoletes the earlier rfc 7231. This document also includes some
status codes that were previously only used for WebDAV and assigns more
generic names to these status codes.

ref: https://www.rfc-editor.org/rfc/rfc9110.html#name-changes-from-rfc-7231

- http.HTTPStatus.CONTENT_TOO_LARGE (413, previously
  REQUEST_ENTITY_TOO_LARGE)
- http.HTTPStatus.URI_TOO_LONG (414, previously REQUEST_URI_TOO_LONG)
- http.HTTPStatus.RANGE_NOT_SATISFYABLE (416, previously
  REQUEST_RANGE_NOT_SATISFYABLE)
- http.HTTPStatus.UNPROCESSABLE_CONTENT (422, previously
  UNPROCESSABLE_ENTITY)

The new constants are added to http.HTTPStatus and the old constant names are
preserved for backwards compatibility.

References in documentation to the obsoleted rfc 7231 are updated
2024-04-13 07:33:20 -07:00
Hugo van Kemenade
dd724239dd
gh-117840: Fix indent to fix shlex syntax highlighting (#117843) 2024-04-13 05:31:01 -06:00
Shantanu
37a4cbd872
gh-114466: explicitly define heap invariant (#117778)
I think the choice of wording in these docs is great and doesn't
need to change. However, it could be useful to explicitly define
this term / the cost of doing so seems relatively low.
2024-04-13 00:05:27 -07:00
Erlend E. Aasland
c2a551a30b
gh-96398: Detect GCC compatible compilers in configure (#117825)
Introduce a cached variable $ac_cv_gcc_compat and set it to 'yes' if
the C preprocessor defines the __GNUC__ macro.
2024-04-13 09:05:07 +02:00
Eric Snow
eca53620e3
gh-94673: Clarify About Runtime State Related to Static Builtin Types (gh-117761)
Guido pointed out to me that some details about the per-interpreter state for the builtin types aren't especially clear.  I'm addressing that by:

* adding a comment explaining that state
* adding some asserts to point out the relationship between each index and the interp/global runtime state
2024-04-12 16:39:27 -06:00
Barney Gale
30f0643e36
GH-117727: Speed up pathlib.Path.iterdir() by using os.scandir() (#117728)
Replace use of `os.listdir()` with `os.scandir()`. Forgo setting `_drv`,
`_root` and `_tail_cached`, as these usually aren't needed. Use
`os.DirEntry.path` to set `_str`.
2024-04-12 22:02:39 +00:00
Barney Gale
0eb52f5f26
GH-115060: Speed up pathlib.Path.glob() by not scanning literal parts (#117732)
Don't bother calling `os.scandir()` to scan for literal pattern segments,
like `foo` in `foo/*.py`. Instead, append the segment(s) as-is and call
through to the next selector with `exists=False`, which signals that the
path might not exist. Subsequent selectors will call `os.scandir()` or
`os.lstat()` to filter out missing paths as needed.
2024-04-12 22:19:21 +01:00
Victor Stinner
069de14cb9
gh-115627: Fix ssl test_pha_required_nocert() (#117821)
Accept also BrokenPipeError error message.
2024-04-12 20:41:16 +02:00
Savannah Ostrowski
a97650912e
gh-117739: Update definition of global interpreter lock for 3.13 (#117740)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-04-12 14:19:41 -04:00
Sam Gross
4ad8f090cc
gh-117376: Partial implementation of deferred reference counting (#117696)
This marks objects as using deferred refrence counting using the
`ob_gc_bits` field in the free-threaded build and collects those objects
during GC.
2024-04-12 17:36:20 +00:00
Serhiy Storchaka
c50cb6dd09
gh-117764: Add more tests for signatures of builtins (GH-117816)
Test signatures of all public builtins and methods of builtin classes
in modules builtins, types, sys, and several other modules (either
included in the list of standard builtin modules sys.builtin_module_names,
or providing a public interface for such modules).

Most builtins should have supported signatures, with few known exceptions.
When more builtins will be converted to Argument Clinic or support of
new signatures be implemented, they will be removed from the exception
lists.
2024-04-12 14:55:29 +00:00
Erlend E. Aasland
4ce10da36f
gh-96398: Detect emcc and mpicc in compiler names in configure (#117819)
- emcc defines __EMSCRIPTEN__
- mpicc doesn't define anything in particular; detect it using basename
2024-04-12 16:33:29 +02:00
Serhiy Storchaka
2d3d9b4461
gh-117764: Add docstrings and signatures for the types of None, Ellipsis and NotImplemented (GH-117813) 2024-04-12 15:45:23 +03:00
Serhiy Storchaka
39a6b29756
gh-117764: Use Argument Clinic for signal.set_wakeup_fd() (GH-117777) 2024-04-12 11:21:00 +00:00
Serhiy Storchaka
3a8c1ca7e7
gh-117764: Fix and add signatures for many builtins (GH-117769) 2024-04-12 13:56:41 +03:00
Hugo van Kemenade
94e9c35cd0
Fix version directive indents (#117719) 2024-04-12 13:30:42 +03:00
Serhiy Storchaka
245e426b55
gh-117764: Add signatures for functions in the faulthandler module (GH-117771) 2024-04-12 13:14:31 +03:00
Serhiy Storchaka
2e098abf95
gh-117764: Add signature for functools.partial() (GH-117775) 2024-04-12 10:00:38 +00:00
Serhiy Storchaka
ffbd97428d
gh-117764: Add signatures and improve docstrings in the _thread module (GH-117772) 2024-04-12 09:49:59 +00:00
Erlend E. Aasland
1ddbeae040
gh-117752: Autoconf: fix PGO builds for 'make -C build' incantations (#117803) 2024-04-12 09:36:40 +00:00
Serhiy Storchaka
49af71a04a
gh-117764: Add signatures for some objects in the itertools module (GH-117774) 2024-04-12 12:36:27 +03:00
Serhiy Storchaka
3a26e29215
gh-117764: Add signatures in the atexit module (GH-117776) 2024-04-12 12:35:56 +03:00
Serhiy Storchaka
35f60c3def
gh-117764: Add signatures for __reduce__ and __reduce_ex__ in the _io module (GH-117773)
__reduce__() does not have parameters, __reduce_ex__() has a single
parameter.
2024-04-12 12:22:17 +03:00