]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 years agogh-104602: ensure all cellvars are known up front (#104603)
Carl Meyer [Fri, 19 May 2023 00:07:35 +0000 (18:07 -0600)] 
gh-104602: ensure all cellvars are known up front (#104603)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2 years agogh-104600: Make function.__type_params__ writable (#104601)
Jelle Zijlstra [Thu, 18 May 2023 23:45:37 +0000 (16:45 -0700)] 
gh-104600: Make function.__type_params__ writable (#104601)

2 years agogh-74690: Don't set special protocol attributes on non-protocol subclasses of protoco...
Alex Waygood [Thu, 18 May 2023 23:34:40 +0000 (00:34 +0100)] 
gh-74690: Don't set special protocol attributes on non-protocol subclasses of protocols (#104622)

Don't set special protocol attributes on non-protocol subclasses of protocols

2 years agogh-104623: Update Windows installer to use SQLite 3.42.0 (#104625)
Erlend E. Aasland [Thu, 18 May 2023 22:59:40 +0000 (00:59 +0200)] 
gh-104623: Update Windows installer to use SQLite 3.42.0 (#104625)

2 years agogh-104050: Add more type annotations to Argument Clinic (#104628)
Erlend E. Aasland [Thu, 18 May 2023 22:57:26 +0000 (00:57 +0200)] 
gh-104050: Add more type annotations to Argument Clinic (#104628)

Annotate the following:

- methods of class Class
- methods of class Module
- methods of class PythonParser
- function compute_checksum()
- function parse_file()
- global variable unsupported_special_methods

2 years agogh-104629: Don't skip test_clinic if _testclinic is missing (#104630)
Erlend E. Aasland [Thu, 18 May 2023 22:56:34 +0000 (00:56 +0200)] 
gh-104629: Don't skip test_clinic if _testclinic is missing (#104630)

Just skip the tests that depend on the _testclinic extension module;
we can still run the Python tests.

2 years agogh-104549: Set __module__ on TypeAliasType (#104550)
Jelle Zijlstra [Thu, 18 May 2023 22:56:15 +0000 (15:56 -0700)] 
gh-104549: Set __module__ on TypeAliasType (#104550)

2 years agogh-104050: Improve some typing around `default`s and sentinel values (#104626)
Alex Waygood [Thu, 18 May 2023 21:58:42 +0000 (22:58 +0100)] 
gh-104050: Improve some typing around `default`s and sentinel values (#104626)

- Convert `unspecified` and `unknown` to be members of a `Sentinels` enum, rather than instances of bespoke classes.
  - An enum feels more idiomatic here, and works better with type checkers.
  - Convert some `==` and `!=` checks for these values to identity checks, which are more idiomatic with sentinels.
  - _Don't_ do the same for `Null`, as this needs to be a distinct type due to its usage in `clinic.py`.
- Use `object` as the annotation for `default` across `clinic.py`. `default` can be literally any object, so `object` is the correct annotation here.

---

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2 years agogh-104146: Remove unused vars from Argument Clinic (#104627)
Erlend E. Aasland [Thu, 18 May 2023 21:52:59 +0000 (23:52 +0200)] 
gh-104146: Remove unused vars from Argument Clinic (#104627)

Remove 'in_classes' and 'so_far' from DSLParser.directive_module()

2 years agogh-104615: don't make unsafe swaps in apply_static_swaps (#104620)
Carl Meyer [Thu, 18 May 2023 21:22:03 +0000 (15:22 -0600)] 
gh-104615: don't make unsafe swaps in apply_static_swaps (#104620)

2 years agoGH-104484: Add case_sensitive argument to `pathlib.PurePath.match()` (GH-104565)
thirumurugan [Thu, 18 May 2023 17:59:31 +0000 (23:29 +0530)] 
GH-104484: Add case_sensitive argument to `pathlib.PurePath.match()` (GH-104565)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
2 years agoGH-96803: Document and test new unstable internal frame API functions (GH-104211)
Mark Shannon [Thu, 18 May 2023 09:10:15 +0000 (10:10 +0100)] 
GH-96803: Document and test new unstable internal frame API functions (GH-104211)

Weaken contract of PyUnstable_InterpreterFrame_GetCode to return PyObject*.

2 years agoGH-104580: Don't cache eval breaker in interpreter (GH-104581)
Mark Shannon [Thu, 18 May 2023 09:08:33 +0000 (10:08 +0100)] 
GH-104580: Don't cache eval breaker in interpreter (GH-104581)

Move eval-breaker to the front of the interpreter state.

2 years agogh-104374: Remove access to class scopes for inlined comprehensions (#104528)
Jelle Zijlstra [Thu, 18 May 2023 05:22:17 +0000 (22:22 -0700)] 
gh-104374: Remove access to class scopes for inlined comprehensions (#104528)

Co-authored-by: Carl Meyer <carl@oddbird.net>
2 years agogh-103606: Improve error message from logging.config.FileConfig (GH-103628)
Prince Roshan [Thu, 18 May 2023 04:20:47 +0000 (09:50 +0530)] 
gh-103606: Improve error message from logging.config.FileConfig (GH-103628)

2 years agogh-104499: Fix typo. (#104598)
Terry Jan Reedy [Thu, 18 May 2023 02:35:46 +0000 (22:35 -0400)] 
gh-104499: Fix typo. (#104598)

2 years agogh-104499: IDLE - fix completions for tk aqua 8.7 (#104591)
Terry Jan Reedy [Thu, 18 May 2023 01:36:58 +0000 (21:36 -0400)] 
gh-104499: IDLE - fix completions for tk aqua 8.7 (#104591)

2 years agogh-104340: Suppress warning about unawaited exception for closed pipe stdin (#104586)
Guido van Rossum [Wed, 17 May 2023 23:45:11 +0000 (16:45 -0700)] 
gh-104340: Suppress warning about unawaited exception for closed pipe stdin (#104586)

2 years agogh-104555: Runtime-checkable protocols: Don't let previous calls to `isinstance(...
Alex Waygood [Wed, 17 May 2023 23:43:12 +0000 (00:43 +0100)] 
gh-104555: Runtime-checkable protocols: Don't let previous calls to `isinstance()` influence whether `issubclass()` raises an exception (#104559)

Co-authored-by: Carl Meyer <carl@oddbird.net>
2 years agogh-104050: Add type hints to Argument Clinic converter keywords (#104588)
Erlend E. Aasland [Wed, 17 May 2023 21:05:22 +0000 (23:05 +0200)] 
gh-104050: Add type hints to Argument Clinic converter keywords (#104588)

Introduce TypeSet, and use it to annotate the 'accept' keyword of
various C converters. Also add some missing return annotations for
converter init functions.

2 years agogh-104496: IDLE - fix About for mixed tcl/tk versions (#104585)
Terry Jan Reedy [Wed, 17 May 2023 19:59:13 +0000 (15:59 -0400)] 
gh-104496: IDLE - fix About for mixed tcl/tk versions (#104585)

Print both if they are different, as may happen in the future.

2 years agogh-104372: Cleanup _posixsubprocess `make_inheritable` for async signal safety and...
Gregory P. Smith [Wed, 17 May 2023 15:59:45 +0000 (08:59 -0700)] 
gh-104372: Cleanup _posixsubprocess `make_inheritable` for async signal safety and no GIL requirement (#104518)

Move all of the Python C API calls into the parent process up front
instead of doing PyLong_AsLong and PyErr_Occurred and PyTuple_GET from
the post-fork/vfork child process.

Much of this was long overdue. We shouldn't have been using PyTuple and
PyLong APIs within all of these low level functions anyways.

2 years agoGH-101520: Move tracemalloc functionality into core, leaving interface in Modules...
Mark Shannon [Wed, 17 May 2023 13:17:16 +0000 (14:17 +0100)] 
GH-101520: Move tracemalloc functionality into core, leaving interface in Modules. (#104508)

2 years agotyping: Add more tests for TypeVar (#104571)
Jelle Zijlstra [Wed, 17 May 2023 13:08:21 +0000 (06:08 -0700)] 
typing: Add more tests for TypeVar (#104571)

During the PEP 695 implementation at one point I made
TypeVar.__name__ return garbage, and all of test_typing passed.
So I decided to add a few more tests. In the process I discovered
a minor incompatibility from the C implementation of TypeVar:
empty constraints were returned as None instead of an empty tuple.

2 years agogh-104572: Improve error messages for invalid constructs in PEP 695 contexts (#104573)
Jelle Zijlstra [Wed, 17 May 2023 13:05:42 +0000 (06:05 -0700)] 
gh-104572: Improve error messages for invalid constructs in PEP 695 contexts (#104573)

2 years agotyping: Use PEP 695 syntax in typing.py (#104553)
Jelle Zijlstra [Wed, 17 May 2023 13:03:58 +0000 (06:03 -0700)] 
typing: Use PEP 695 syntax in typing.py (#104553)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2 years agogh-102153: Start stripping C0 control and space chars in `urlsplit` (#102508)
Illia Volochii [Wed, 17 May 2023 08:49:20 +0000 (11:49 +0300)] 
gh-102153: Start stripping C0 control and space chars in `urlsplit` (#102508)

`urllib.parse.urlsplit` has already been respecting the WHATWG spec a bit #25595.

This adds more sanitizing to respect the "Remove any leading C0 control or space from input" [rule](https://url.spec.whatwg.org/#url-parsing:~:text=Remove%20any%20leading%20and%20trailing%20C0%20control%20or%20space%20from%20input.) in response to [CVE-2023-24329](https://nvd.nist.gov/vuln/detail/CVE-2023-24329).

---------

Co-authored-by: Gregory P. Smith [Google] <greg@krypto.org>
2 years agogh-104469: Update README.txt for _testcapi (gh-104529)
Dong-hee Na [Wed, 17 May 2023 03:56:20 +0000 (12:56 +0900)] 
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>
2 years agoGH-103092: isolate `_elementtree` (#104561)
Kumar Aditya [Tue, 16 May 2023 23:35:07 +0000 (05:05 +0530)] 
GH-103092: isolate `_elementtree` (#104561)

2 years agogh-104050: Add typing to Argument Clinic converters (#104547)
Erlend E. Aasland [Tue, 16 May 2023 22:32:11 +0000 (00:32 +0200)] 
gh-104050: Add typing to Argument Clinic converters (#104547)

2 years agoGH-103906: Remove immortal refcounting in the interpreter (GH-103909)
Brandt Bucher [Tue, 16 May 2023 21:36:02 +0000 (14:36 -0700)] 
GH-103906: Remove immortal refcounting in the interpreter (GH-103909)

2 years agogh-87474: Fix file descriptor leaks in subprocess.Popen (#96351)
cptpcrd [Tue, 16 May 2023 20:23:53 +0000 (16:23 -0400)] 
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>
2 years agoGH-103092: isolate `pyexpat` (#104506)
Kumar Aditya [Tue, 16 May 2023 20:03:01 +0000 (01:33 +0530)] 
GH-103092: isolate `pyexpat`  (#104506)

2 years agogh-75367: Fix data descriptor detection in inspect.getattr_static (#104517)
Furkan Onder [Tue, 16 May 2023 17:34:44 +0000 (17:34 +0000)] 
gh-75367: Fix data descriptor detection in inspect.getattr_static (#104517)

Co-authored-by: Carl Meyer <carl@oddbird.net>
2 years agogh-104050: Add more annotations to `Tools/clinic.py` (#104544)
Nikita Sobolev [Tue, 16 May 2023 17:18:28 +0000 (20:18 +0300)] 
gh-104050: Add more annotations to `Tools/clinic.py` (#104544)

2 years agogh-104555: Fix isinstance() and issubclass() for runtime-checkable protocols that...
Alex Waygood [Tue, 16 May 2023 16:38:10 +0000 (17:38 +0100)] 
gh-104555: Fix isinstance() and issubclass() for runtime-checkable protocols that use PEP 695 (#104556)

Fixes #104555

2 years agogh-103865: add monitoring support to LOAD_SUPER_ATTR (#103866)
Carl Meyer [Tue, 16 May 2023 16:29:00 +0000 (10:29 -0600)] 
gh-103865: add monitoring support to LOAD_SUPER_ATTR (#103866)

2 years agoCODEOWNERS: Assign new PEP 695 files to myself (#104551)
Jelle Zijlstra [Tue, 16 May 2023 15:48:52 +0000 (08:48 -0700)] 
CODEOWNERS: Assign new PEP 695 files to myself (#104551)

2 years agoGH-104510: Fix refleaks in `_io` base types (#104516)
Kumar Aditya [Tue, 16 May 2023 14:38:17 +0000 (20:08 +0530)] 
GH-104510: Fix refleaks in `_io` base types (#104516)

2 years agogh-104539: Fix indentation error in logging.config.rst (#104545)
Jesper Noordsij [Tue, 16 May 2023 12:13:53 +0000 (14:13 +0200)] 
gh-104539: Fix indentation error in logging.config.rst (#104545)

Fix indentation error in logging.config.rst

2 years agogh-104050: Don't star-import 'types' in Argument Clinic (#104543)
Erlend E. Aasland [Tue, 16 May 2023 12:02:18 +0000 (14:02 +0200)] 
gh-104050: Don't star-import 'types' in Argument Clinic (#104543)

2 years agogh-104050: Add basic typing to CConverter in clinic.py (#104538)
Erlend E. Aasland [Tue, 16 May 2023 11:47:35 +0000 (13:47 +0200)] 
gh-104050: Add basic typing to CConverter in clinic.py (#104538)

2 years agogh-64595: Fix write file logic in Argument Clinic (#104507)
Erlend E. Aasland [Tue, 16 May 2023 10:25:43 +0000 (12:25 +0200)] 
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.

2 years agogh-104523: Inline minimal PGO rules (#104524)
Gregory Szorc [Tue, 16 May 2023 08:04:58 +0000 (01:04 -0700)] 
gh-104523: Inline minimal PGO rules (#104524)

Inline profiling rules where the existing indirection was unneeded.

2 years agogh-103861: Fix Zip64 extensions not being properly applied in some cases (#103863)
Carey Metcalfe [Tue, 16 May 2023 07:43:44 +0000 (01:43 -0600)] 
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>
2 years agogh-69152: add method get_proxy_response_headers to HTTPConnection class (#104248)
Alexey Namyotkin [Tue, 16 May 2023 06:20:30 +0000 (09:20 +0300)] 
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>
2 years agogh-103763: Implement PEP 695 (#103764)
Jelle Zijlstra [Tue, 16 May 2023 03:36:23 +0000 (20:36 -0700)] 
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>
2 years agogh-104461: Run tkinter test_configure_screen on X11 only (GH-104462)
Christopher Chavez [Tue, 16 May 2023 02:22:53 +0000 (21:22 -0500)] 
gh-104461: Run tkinter test_configure_screen on X11 only (GH-104462)

2 years agogh-104469: Convert _testcapi/watchers.c to use Argument Clinic (#104503)
Nikita Sobolev [Mon, 15 May 2023 20:59:41 +0000 (23:59 +0300)] 
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

2 years agogh-104482: Fix error handling bugs in ast.c (#104483)
Irit Katriel [Mon, 15 May 2023 20:53:55 +0000 (21:53 +0100)] 
gh-104482: Fix error handling bugs in ast.c (#104483)

2 years agogh-104341: Adjust tstate_must_exit() to Respect Interpreter Finalization (gh-104437)
Eric Snow [Mon, 15 May 2023 19:59:26 +0000 (13:59 -0600)] 
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.

2 years agoGH-102613: Fix recursion error from `pathlib.Path.glob()` (GH-104373)
Barney Gale [Mon, 15 May 2023 17:33:32 +0000 (18:33 +0100)] 
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.

2 years agogh-101819: Fix _io clinic input for unused base class method stubs (#104418)
Erlend E. Aasland [Mon, 15 May 2023 11:21:38 +0000 (13:21 +0200)] 
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.

2 years agogh-101819: Isolate `_io` (#101948)
Erlend E. Aasland [Mon, 15 May 2023 09:26:27 +0000 (11:26 +0200)] 
gh-101819: Isolate `_io` (#101948)

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 years agoBump mypy from 1.2.0 to 1.3.0 in /Tools/clinic (#104501)
dependabot[bot] [Mon, 15 May 2023 09:17:48 +0000 (09:17 +0000)] 
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>
2 years agogh-104494: Update certain Tkinter pack/place tests for Tk 8.7 errors (#104495)
Christopher Chavez [Mon, 15 May 2023 08:54:41 +0000 (03:54 -0500)] 
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>
2 years agogh-104050: Run mypy on `clinic.py` in CI (#104421)
Alex Waygood [Mon, 15 May 2023 08:49:28 +0000 (09:49 +0100)] 
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>
2 years agogh-104490: Consistently define phony make targets (#104491)
Gregory Szorc [Mon, 15 May 2023 08:48:34 +0000 (01:48 -0700)] 
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.

2 years agogh-67056: document that registering/unregistering an atexit func from within an atexi...
Irit Katriel [Mon, 15 May 2023 08:12:52 +0000 (09:12 +0100)] 
gh-67056: document that registering/unregistering an atexit func from within an atexit func is undefined (#104473)

2 years agogh-104487: PYTHON_FOR_REGEN must be minimum Python 3.10 (#104488)
Erlend E. Aasland [Mon, 15 May 2023 08:02:44 +0000 (10:02 +0200)] 
gh-104487: PYTHON_FOR_REGEN must be minimum Python 3.10 (#104488)

Also include Python 3.12 in the list of accepted versions.

2 years agogh-101282: move BOLT config after PGO (gh-104493)
Gregory Szorc [Mon, 15 May 2023 04:29:44 +0000 (21:29 -0700)] 
gh-101282: move BOLT config after PGO (gh-104493)

2 years agogh-104469 Convert _testcapi/float.c to use AC (gh-104470)
Dong-hee Na [Mon, 15 May 2023 03:44:00 +0000 (12:44 +0900)] 
gh-104469 Convert _testcapi/float.c to use AC (gh-104470)

2 years agogh-104456: Fix ref leak in _ctypes.COMError (#104457)
Kirill Podoprigora [Sun, 14 May 2023 21:05:35 +0000 (00:05 +0300)] 
gh-104456: Fix ref leak in _ctypes.COMError (#104457)

2 years agogh-98539: Make _SSLTransportProtocol.abort() safe to call when closed (#104474)
Sam Bull [Sun, 14 May 2023 18:58:13 +0000 (19:58 +0100)] 
gh-98539: Make _SSLTransportProtocol.abort() safe to call when closed (#104474)

2 years ago gh-104337: Clarify random.gammavariate doc entry (#104410)
Terry Jan Reedy [Sun, 14 May 2023 18:45:54 +0000 (14:45 -0400)] 
 gh-104337: Clarify random.gammavariate doc entry  (#104410)

* gh-104337: Clarify random.gammavariate doc entry

* Fix parameter markup.

2 years agoMinor improvements to typing docs (#104465)
Jelle Zijlstra [Sun, 14 May 2023 11:53:15 +0000 (04:53 -0700)] 
Minor improvements to typing docs (#104465)

2 years agogh-87092: avoid gcc warning on uninitialized struct field in assemble.c (#104460)
Dong-hee Na [Sun, 14 May 2023 11:03:30 +0000 (20:03 +0900)] 
gh-87092: avoid gcc warning on uninitialized struct field in assemble.c (#104460)

2 years agoGH-71383: IDLE - Document testing subsets of modules (#104463)
Terry Jan Reedy [Sun, 14 May 2023 03:55:20 +0000 (23:55 -0400)] 
GH-71383: IDLE - Document testing subsets of modules (#104463)

2 years agogh-104454: Fix refleak in AttributeError_reduce (#104455)
Charles Machalow [Sat, 13 May 2023 20:45:36 +0000 (13:45 -0700)] 
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>
2 years agogh-75710: IDLE - add docstrings and comments to editor module (#104446)
Terry Jan Reedy [Sat, 13 May 2023 15:41:39 +0000 (11:41 -0400)] 
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>
2 years agogh-91896: Revert some very noisy DeprecationWarnings for `ByteString` (#104424)
Alex Waygood [Sat, 13 May 2023 08:55:35 +0000 (09:55 +0100)] 
gh-91896: Revert some very noisy DeprecationWarnings for `ByteString` (#104424)

2 years agoAdd a mention of PYTHONBREAKPOINT to breakpoint() docs (#104430)
Ned Batchelder [Sat, 13 May 2023 07:12:03 +0000 (00:12 -0700)] 
Add a mention of PYTHONBREAKPOINT to breakpoint() docs (#104430)

2 years ago gh-99836: IDLE - update news.txt for 3.12 (#104444)
Terry Jan Reedy [Sat, 13 May 2023 04:35:45 +0000 (00:35 -0400)] 
 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

2 years agogh-104404: fix crasher with nested comprehensions plus lambdas (#104442)
Carl Meyer [Sat, 13 May 2023 00:42:04 +0000 (18:42 -0600)] 
gh-104404: fix crasher with nested comprehensions plus lambdas (#104442)

2 years agoGH-104405: Add missing PEP 523 checks (GH-104406)
Brandt Bucher [Fri, 12 May 2023 22:23:13 +0000 (15:23 -0700)] 
GH-104405: Add missing PEP 523 checks (GH-104406)

2 years agoGH-94841: Fix usage of Py_ALWAYS_INLINE (GH-104409)
Brandt Bucher [Fri, 12 May 2023 21:26:54 +0000 (14:26 -0700)] 
GH-94841: Fix usage of Py_ALWAYS_INLINE (GH-104409)

2 years agogh-103333: Pickle the keyword attributes of AttributeError (#103352)
Charles Machalow [Fri, 12 May 2023 20:33:23 +0000 (13:33 -0700)] 
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>
2 years agogh-103204: `http.server` - Enforce that HTTP version numbers must consist only of...
Ben Kallus [Fri, 12 May 2023 20:25:58 +0000 (16:25 -0400)] 
gh-103204: `http.server` - Enforce that HTTP version numbers must consist only of digits (#103205)

Reject HTTP requests with invalid http/x.y version numbers: x or y being non-digits or too-long.

---------

Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2 years agogh-103857: Update deprecation stacktrace to point to calling line (#104431)
Hugo van Kemenade [Fri, 12 May 2023 18:25:45 +0000 (21:25 +0300)] 
gh-103857: Update deprecation stacktrace to point to calling line (#104431)

2 years agoGH-86275: Run hypothesis tests in parallel (#104427)
Paul Ganssle [Fri, 12 May 2023 16:23:08 +0000 (12:23 -0400)] 
GH-86275: Run hypothesis tests in parallel (#104427)

Run hypothesis tests in parallel

2 years agogh-86275: Fix install of new _hypothesis_stubs directory (#104425)
Jelle Zijlstra [Fri, 12 May 2023 15:51:46 +0000 (08:51 -0700)] 
gh-86275: Fix install of new _hypothesis_stubs directory (#104425)

2 years agogh-91896: Fixup some docs issues following ByteString deprecation (#104422)
Alex Waygood [Fri, 12 May 2023 14:38:35 +0000 (15:38 +0100)] 
gh-91896: Fixup some docs issues following ByteString deprecation (#104422)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2 years agoGH-104371: check return value of calling `mv.release` (#104417)
Kumar Aditya [Fri, 12 May 2023 12:57:06 +0000 (18:27 +0530)] 
GH-104371: check return value of calling `mv.release` (#104417)

2 years agogh-104415: Fix refleak tests for `typing.ByteString` deprecation (#104416)
Nikita Sobolev [Fri, 12 May 2023 12:36:12 +0000 (15:36 +0300)] 
gh-104415: Fix refleak tests for `typing.ByteString` deprecation (#104416)

2 years agoGH-86275: Implementation of hypothesis stubs for property-based tests, with zoneinfo...
Paul Ganssle [Fri, 12 May 2023 12:35:53 +0000 (08:35 -0400)] 
GH-86275: Implementation of hypothesis stubs for property-based tests, with zoneinfo tests (#22863)

These are stubs to be used for adding hypothesis (https://hypothesis.readthedocs.io/en/latest/) tests to the standard library.

When the tests are run in an environment where `hypothesis` and its various dependencies are not installed, the stubs will turn any tests with examples into simple parameterized tests and any tests without examples are skipped.

It also adds hypothesis tests for the `zoneinfo` module, and a Github Actions workflow to run the hypothesis tests as a non-required CI job.

The full hypothesis interface is not stubbed out — missing stubs can be added as necessary.

Co-authored-by: Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com>
2 years agoGH-103082: Filter LINE events in VM, to simplify tool implementation. (GH-104387)
Mark Shannon [Fri, 12 May 2023 11:21:20 +0000 (12:21 +0100)] 
GH-103082: Filter LINE events in VM, to simplify tool implementation. (GH-104387)

When monitoring LINE events, instrument all instructions that can have a predecessor on a different line.
Then check that the a new line has been hit in the instrumentation code.
This brings the behavior closer to that of 3.11, simplifying implementation and porting of tools.

2 years agogh-93649: Split gc- and allocation tests from _testcapimodule.c (GH-104403)
Jurica Bradarić [Fri, 12 May 2023 09:26:07 +0000 (11:26 +0200)] 
gh-93649: Split gc- and allocation tests from _testcapimodule.c (GH-104403)

2 years agogh-104389: Add 'unused' keyword to Argument Clinic C converters (#104390)
Erlend E. Aasland [Fri, 12 May 2023 08:34:00 +0000 (10:34 +0200)] 
gh-104389: Add 'unused' keyword to Argument Clinic C converters (#104390)

Use the unused keyword param in the converter to explicitly
mark an argument as unused:

    /*[clinic input]
    SomeBaseClass.stubmethod
        flag: bool(unused=True)
    [clinic start generated code]*/

2 years agogh-101819: Prepare _io._IOBase for module state (#104386)
Erlend E. Aasland [Fri, 12 May 2023 07:30:26 +0000 (09:30 +0200)] 
gh-101819: Prepare _io._IOBase for module state (#104386)

- Add PyIOBase_Type to _io module state
- Pass defining class to _io._IOBase.fileno

2 years agogh-104413: Fix refleak when super attribute throws AttributeError (#104414)
Jelle Zijlstra [Fri, 12 May 2023 07:30:14 +0000 (00:30 -0700)] 
gh-104413: Fix refleak when super attribute throws AttributeError (#104414)

2 years agoFix refleak in `super_descr_get` (#104408)
Brandt Bucher [Fri, 12 May 2023 07:11:27 +0000 (00:11 -0700)] 
Fix refleak in `super_descr_get` (#104408)

2 years agogh-87526: Remove dead initialization from _zoneinfo parse_abbr() (#24700)
Alex Henrie [Fri, 12 May 2023 06:48:42 +0000 (00:48 -0600)] 
gh-87526: Remove dead initialization from _zoneinfo parse_abbr() (#24700)

2 years agogh-91896: Improve visibility of `ByteString` deprecation warnings (#104294)
Alex Waygood [Fri, 12 May 2023 06:01:31 +0000 (07:01 +0100)] 
gh-91896: Improve visibility of `ByteString` deprecation warnings (#104294)

2 years agogh-104371: Fix calls to `__release_buffer__` while an exception is active (#104378)
Jelle Zijlstra [Fri, 12 May 2023 05:22:40 +0000 (22:22 -0700)] 
gh-104371: Fix calls to `__release_buffer__` while an exception is active (#104378)

Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2 years agogh-104377: fix cell in comprehension that is free in outer scope (#104394)
Carl Meyer [Thu, 11 May 2023 23:48:21 +0000 (17:48 -0600)] 
gh-104377: fix cell in comprehension that is free in outer scope (#104394)

2 years agogh-104392: Remove _paramspec_tvars from typing (#104393)
Jelle Zijlstra [Thu, 11 May 2023 23:41:26 +0000 (16:41 -0700)] 
gh-104392: Remove _paramspec_tvars from typing (#104393)

This does nothing.

2 years agogh-104396: uuid.py to skip platform check for emscripten and wasi (gh-104397)
Jeong, YunWon [Thu, 11 May 2023 22:45:55 +0000 (07:45 +0900)] 
gh-104396: uuid.py to skip platform check for emscripten and wasi (gh-104397)

2 years agogh-99108: Refresh HACL* from upstream (#104401)
Jonathan Protzenko [Thu, 11 May 2023 21:23:52 +0000 (14:23 -0700)] 
gh-99108: Refresh HACL* from upstream (#104401)

Refresh HACL* from upstream and add a SHA3 test hashing over 4GiB of data.

2 years agogh-104301: Allow leading whitespace in disambiguated pdb statements (#104342)
James Gerity [Thu, 11 May 2023 17:12:02 +0000 (13:12 -0400)] 
gh-104301: Allow leading whitespace in disambiguated pdb statements (#104342)

2 years agogh-104057: Fix direct invocation of test_support (GH-104069)
Kirill Podoprigora [Thu, 11 May 2023 14:44:39 +0000 (17:44 +0300)] 
gh-104057: Fix direct invocation of test_support (GH-104069)