Commit graph

117796 commits

Author SHA1 Message Date
Dong-hee Na
b58bc8c2a9
gh-104469: Update README.txt for _testcapi (gh-104529)
* gh-104469: Update README.txt for _testcapi

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
2023-05-17 12:56:20 +09:00
Kumar Aditya
1b5a2b085c
GH-103092: isolate _elementtree (#104561) 2023-05-17 05:05:07 +05:30
Erlend E. Aasland
0afc473f50
gh-104050: Add typing to Argument Clinic converters (#104547) 2023-05-16 22:32:11 +00:00
Brandt Bucher
b4a9747923
GH-103906: Remove immortal refcounting in the interpreter (GH-103909) 2023-05-16 14:36:02 -07:00
cptpcrd
3a4c44bb1e
gh-87474: Fix file descriptor leaks in subprocess.Popen (#96351)
This fixes several ways file descriptors could be leaked from `subprocess.Popen` constructor during error conditions by opening them later and using a context manager "fds to close" registration scheme to ensure they get closed before returning.

---------

Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
2023-05-16 20:23:53 +00:00
Kumar Aditya
20e994c535
GH-103092: isolate pyexpat (#104506) 2023-05-16 20:03:01 +00:00
Furkan Onder
5e9f471e7d
gh-75367: Fix data descriptor detection in inspect.getattr_static (#104517)
Co-authored-by: Carl Meyer <carl@oddbird.net>
2023-05-16 17:34:44 +00:00
Nikita Sobolev
a454a6651b
gh-104050: Add more annotations to Tools/clinic.py (#104544) 2023-05-16 17:18:28 +00:00
Alex Waygood
1163782868
gh-104555: Fix isinstance() and issubclass() for runtime-checkable protocols that use PEP 695 (#104556)
Fixes #104555
2023-05-16 16:38:10 +00:00
Carl Meyer
f40890b124
gh-103865: add monitoring support to LOAD_SUPER_ATTR (#103866) 2023-05-16 10:29:00 -06:00
Jelle Zijlstra
febcc6ccfb
CODEOWNERS: Assign new PEP 695 files to myself (#104551) 2023-05-16 08:48:52 -07:00
Kumar Aditya
442a3e65da
GH-104510: Fix refleaks in _io base types (#104516) 2023-05-16 20:08:17 +05:30
Jesper Noordsij
0bb61dd5b0
gh-104539: Fix indentation error in logging.config.rst (#104545)
Fix indentation error in logging.config.rst
2023-05-16 13:13:53 +01:00
Erlend E. Aasland
c22fced96c
gh-104050: Don't star-import 'types' in Argument Clinic (#104543) 2023-05-16 12:02:18 +00:00
Erlend E. Aasland
505e2954a9
gh-104050: Add basic typing to CConverter in clinic.py (#104538) 2023-05-16 11:47:35 +00:00
Erlend E. Aasland
cca90b6906
gh-64595: Fix write file logic in Argument Clinic (#104507)
Check if any clinic output actually changes any of the output files
before deciding if we should touch the source file.
2023-05-16 12:25:43 +02:00
Gregory Szorc
9084e1b04f
gh-104523: Inline minimal PGO rules (#104524)
Inline profiling rules where the existing indirection was unneeded.
2023-05-16 10:04:58 +02:00
Carey Metcalfe
798bcaa1eb
gh-103861: Fix Zip64 extensions not being properly applied in some cases (#103863)
Fix Zip64 extensions not being properly applied in some cases:

Fixes an issue where adding a small file to a `ZipFile`
object while forcing zip64 extensions causes an extra Zip64 record to be
added to the zip, but doesn't update the `min_version` or file sizes in
the primary central directory header.

Also fixed an edge case in checking if zip64 extensions are required:

This fixes an issue where if data requiring zip64 extensions was added
to an unseekable stream without specifying `force_zip64=True`, zip64
extensions would not be used and a RuntimeError would not be raised when
closing the file (even though the size would be known at that point).
This would result in successfully writing corrupt zip files.

Deciding if zip64 extensions are required outside of the `FileHeader`
function means that both `FileHeader` and `_ZipWriteFile` will always be
in sync. Previously, the `FileHeader` function could enable zip64
extensions without propagating that decision to the `_ZipWriteFile`
class, which would then not correctly write the data descriptor record
or check for errors on close.

If anyone is actually using `ZipInfo.FileHeader` as a public API without
explicitly passing True or False in for zip64, their own code may still be
susceptible to that kind of bug unless they make a similar change to
where the zip64 decision happens.

Fixes #103861

---------

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-05-16 00:43:44 -07:00
Alexey Namyotkin
85ec192ac4
gh-69152: add method get_proxy_response_headers to HTTPConnection class (#104248)
Add http.client.HTTPConnection method get_proxy_response_headers() - this is a followup to https://github.com/python/cpython/pull/26152 which added it as a non-public attribute. This way we don't pre-compute a headers dictionary that most users will never access. The new method is properly public and documented and triggers full proxy header parsing into a dict only when actually called.

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-05-16 06:20:30 +00:00
Jelle Zijlstra
24d8b88420
gh-103763: Implement PEP 695 (#103764)
This implements PEP 695, Type Parameter Syntax. It adds support for:

- Generic functions (def func[T](): ...)
- Generic classes (class X[T](): ...)
- Type aliases (type X = ...)
- New scoping when the new syntax is used within a class body
- Compiler and interpreter changes to support the new syntax and scoping rules 

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Eric Traut <eric@traut.com>
Co-authored-by: Larry Hastings <larry@hastings.org>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-05-15 20:36:23 -07:00
Christopher Chavez
fdafdc235e
gh-104461: Run tkinter test_configure_screen on X11 only (GH-104462) 2023-05-15 22:22:53 -04:00
Nikita Sobolev
456d56698d
gh-104469: Convert _testcapi/watchers.c to use Argument Clinic (#104503)
Remove boilerplate code by converting the following functions:

- _testcapi.watch_dict
- _testcapi.unwatch_dict
- _testcapi.watch_type
- _testcapi.unwatch_type
- _testcapi.set_func_defaults_via_capi
- _testcapi.set_func_kwdefaults_via_capi
2023-05-15 22:59:41 +02:00
Irit Katriel
8a3702f0c7
gh-104482: Fix error handling bugs in ast.c (#104483) 2023-05-15 21:53:55 +01:00
Eric Snow
26baa747c2
gh-104341: Adjust tstate_must_exit() to Respect Interpreter Finalization (gh-104437)
With the move to a per-interpreter GIL, this check slipped through the cracks.
2023-05-15 13:59:26 -06:00
Barney Gale
cb88ae635e
GH-102613: Fix recursion error from pathlib.Path.glob() (GH-104373)
Use `Path.walk()` to implement the recursive wildcard `**`. This method
uses an iterative (rather than recursive) walk - see GH-100282.
2023-05-15 18:33:32 +01:00
Erlend E. Aasland
b378d991f8
gh-101819: Fix _io clinic input for unused base class method stubs (#104418)
When preparing the _io extension module for isolation, many methods were
adapted to Argument Clinic. Some of these used the '*args: object'
signature, which is incorrect. These are now corrected to an exact
signature, and marked unused, since they are stub methods.
2023-05-15 13:21:38 +02:00
Erlend E. Aasland
186bf39f5c
gh-101819: Isolate _io (#101948)
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2023-05-15 09:26:27 +00:00
dependabot[bot]
35bf0916d9
Bump mypy from 1.2.0 to 1.3.0 in /Tools/clinic (#104501)
build(deps-dev): bump mypy from 1.2.0 to 1.3.0 in /Tools/clinic

Bumps [mypy](https://github.com/python/mypy) from 1.2.0 to 1.3.0.
- [Commits](https://github.com/python/mypy/compare/v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-15 09:17:48 +00:00
Christopher Chavez
3cba61f111
gh-104494: Update certain Tkinter pack/place tests for Tk 8.7 errors (#104495)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-15 04:54:41 -04:00
Alex Waygood
9d41f83c58
gh-104050: Run mypy on clinic.py in CI (#104421)
* Add basic mypy workflow to CI
* Make the type check pass

---------

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-05-15 08:49:28 +00:00
Gregory Szorc
a6bcc8fb92
gh-104490: Consistently define phony make targets (#104491)
By convention make targets that don't refer to a file have a dependency
on the fake .PHONY target/file. This ensures that these targets are
always evaluated because there is no rule to create a .PHONY file
and that will force make to think the rule is out of date and needs
to be rebuilt.

This commit consistently associates virtual targets with .PHONY by
declaring the .PHONY dependency immediately above the make rule. This
should avoid race conditions and avoidable rebuilds across multiple make
invocations.
2023-05-15 08:48:34 +00:00
Irit Katriel
b15a1a6ac6
gh-67056: document that registering/unregistering an atexit func from within an atexit func is undefined (#104473) 2023-05-15 09:12:52 +01:00
Erlend E. Aasland
146106a0f1
gh-104487: PYTHON_FOR_REGEN must be minimum Python 3.10 (#104488)
Also include Python 3.12 in the list of accepted versions.
2023-05-15 08:02:44 +00:00
Gregory Szorc
27d8ecd7f3
gh-101282: move BOLT config after PGO (gh-104493) 2023-05-15 04:29:44 +00:00
Dong-hee Na
48b3617de4
gh-104469 Convert _testcapi/float.c to use AC (gh-104470) 2023-05-15 12:44:00 +09:00
Kirill Podoprigora
2cd1c87d2a
gh-104456: Fix ref leak in _ctypes.COMError (#104457) 2023-05-14 21:05:35 +00:00
Sam Bull
fb8739f0b6
gh-98539: Make _SSLTransportProtocol.abort() safe to call when closed (#104474) 2023-05-14 11:58:13 -07:00
Terry Jan Reedy
88c5c58670
gh-104337: Clarify random.gammavariate doc entry (#104410)
* gh-104337: Clarify random.gammavariate doc entry

* Fix parameter markup.
2023-05-14 14:45:54 -04:00
Jelle Zijlstra
2f7b5e458e
Minor improvements to typing docs (#104465) 2023-05-14 12:53:15 +01:00
Dong-hee Na
178153c9a6
gh-87092: avoid gcc warning on uninitialized struct field in assemble.c (#104460) 2023-05-14 12:03:30 +01:00
Terry Jan Reedy
080a596152
GH-71383: IDLE - Document testing subsets of modules (#104463) 2023-05-13 23:55:20 -04:00
Charles Machalow
7d2deafb73
gh-104454: Fix refleak in AttributeError_reduce (#104455)
* Fix the reference leak introduced by https://github.com/python/cpython/issues/103333

Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
2023-05-13 13:45:36 -07:00
Terry Jan Reedy
46f1c78eeb
gh-75710: IDLE - add docstrings and comments to editor module (#104446)
Commit extracted from PR #3669.  Will edit more later.

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2023-05-13 11:41:39 -04:00
Alex Waygood
c527eb1c2a
gh-91896: Revert some very noisy DeprecationWarnings for ByteString (#104424) 2023-05-13 09:55:35 +01:00
Ned Batchelder
1be80ed107
Add a mention of PYTHONBREAKPOINT to breakpoint() docs (#104430) 2023-05-13 00:12:03 -07:00
Terry Jan Reedy
57139a6b5f
gh-99836: IDLE - update news.txt for 3.12 (#104444)
* gh-99836: IDLE 3.12 news.txt

* gh-99836: IDLE - update news.txt for 3.12
2023-05-13 04:35:45 +00:00
Carl Meyer
563c7dcba0
gh-104404: fix crasher with nested comprehensions plus lambdas (#104442) 2023-05-12 17:42:04 -07:00
Brandt Bucher
1eb950ca55
GH-104405: Add missing PEP 523 checks (GH-104406) 2023-05-12 22:23:13 +00:00
Brandt Bucher
a10b026f0f
GH-94841: Fix usage of Py_ALWAYS_INLINE (GH-104409) 2023-05-12 14:26:54 -07:00
Charles Machalow
79b17f2cf0
gh-103333: Pickle the keyword attributes of AttributeError (#103352)
* Pickle the `name` and `args` attributes of AttributeError when present.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-05-12 13:33:23 -07:00