]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 years agogh-107091: Fix some uses of :const: role (GH-107379)
Serhiy Storchaka [Fri, 28 Jul 2023 10:26:28 +0000 (13:26 +0300)] 
gh-107091: Fix some uses of :const: role (GH-107379)

It is for references, not for literals.

2 years agogh-106078: Isolate `decimal` module (#107287)
Charlie Zhao [Fri, 28 Jul 2023 05:58:14 +0000 (13:58 +0800)] 
gh-106078: Isolate `decimal` module (#107287)

2 years agogh-106723: forward -Xfrozen_modules option to spawned process interpreters (#106724)
Felipe A. Hernandez [Fri, 28 Jul 2023 05:04:26 +0000 (06:04 +0100)] 
gh-106723: forward -Xfrozen_modules option to spawned process interpreters (#106724)

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2 years agogh-106368: Argument clinic tests: improve failure message when tests in `ClinicExtern...
Alex Waygood [Thu, 27 Jul 2023 23:57:55 +0000 (00:57 +0100)] 
gh-106368: Argument clinic tests: improve failure message when tests in `ClinicExternalTests` fail (#107364)

2 years agogh-104683: Argument clinic: cleanup `state_modulename_name()` (#107340)
Alex Waygood [Thu, 27 Jul 2023 21:51:18 +0000 (22:51 +0100)] 
gh-104683: Argument clinic: cleanup `state_modulename_name()` (#107340)

2 years agogh-106931: Fix the WASM Buildbots (gh-107362)
Eric Snow [Thu, 27 Jul 2023 21:46:02 +0000 (15:46 -0600)] 
gh-106931: Fix the WASM Buildbots (gh-107362)

Skip subinterpreter tests when not supported.

2 years agogh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-107359)
Eric Snow [Thu, 27 Jul 2023 21:30:16 +0000 (15:30 -0600)] 
gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-107359)

The _xxsubinterpreters module should not rely on internal API.  Some of the functions it uses were recently moved there however.  Here we move them back (and expose them properly).

2 years agogh-104621: Check for Incompatible Extensions in import_find_extension() (gh-107184)
Eric Snow [Thu, 27 Jul 2023 21:08:38 +0000 (15:08 -0600)] 
gh-104621: Check for Incompatible Extensions in import_find_extension() (gh-107184)

This fixes a bug where incompatible modules could still be imported if attempted multiple times.

2 years agogh-106931: Intern Statically Allocated Strings Globally (gh-107272)
Eric Snow [Thu, 27 Jul 2023 19:56:59 +0000 (13:56 -0600)] 
gh-106931: Intern Statically Allocated Strings Globally (gh-107272)

We tried this before with a dict and for all interned strings.  That ran into problems due to interpreter isolation.  However, exclusively using a per-interpreter cache caused some inconsistency that can eliminate the benefit of interning.  Here we circle back to using a global cache, but only for statically allocated strings.  We also use a more-basic _Py_hashtable_t for that global cache instead of a dict.

Ideally we would only have the global cache, but the optional isolation of each interpreter's allocator means that a non-static string object must not outlive its interpreter.  Thus we would have to store a copy of each such interned string in the global cache, tied to the main interpreter.

2 years agogh-105699: Disable the Interpreters Stress Tests (gh-107354)
Eric Snow [Thu, 27 Jul 2023 19:39:26 +0000 (13:39 -0600)] 
gh-105699: Disable the Interpreters Stress Tests (gh-107354)

The two tests are crashing periodically in CI and on buildbots.  I suspect the problem is in the _xxsubinterpreters module.
 Regardless, I'm disabling the tests temporarily, to reduce the noise as we approach 3.12rc1.  I'll be investigating the crashes separately.

2 years agogh-104432: Use `memcpy()` to avoid misaligned loads (#104433)
Christopher Chavez [Thu, 27 Jul 2023 19:20:25 +0000 (14:20 -0500)] 
gh-104432: Use `memcpy()` to avoid misaligned loads (#104433)

Fix potential unaligned memory access on C APIs involving returned sequences
of `char *` pointers within the :mod:`grp` and :mod:`socket` modules. These
were revealed using a ``-fsaniziter=alignment`` build on ARM macOS.

2 years agogh-107298: Fix yet more Sphinx warnings in the C API doc (GH-107345)
Serhiy Storchaka [Thu, 27 Jul 2023 15:44:32 +0000 (18:44 +0300)] 
gh-107298: Fix yet more Sphinx warnings in the C API doc (GH-107345)

2 years agoGH-106898: Add the exception as an argument to the `PY_UNWIND` event callback functio...
Mark Shannon [Thu, 27 Jul 2023 14:47:33 +0000 (15:47 +0100)] 
GH-106898: Add the exception as an argument to the `PY_UNWIND` event callback function. (GH-107347)

2 years agogh-105268: _PyGC_FINALIZED() removal is already documented in 3.12 (#107350)
Victor Stinner [Thu, 27 Jul 2023 14:43:09 +0000 (16:43 +0200)] 
gh-105268: _PyGC_FINALIZED() removal is already documented in 3.12 (#107350)

2 years agogh-107196: Remove _PyArg_VaParseTupleAndKeywordsFast() function (#107197)
Victor Stinner [Thu, 27 Jul 2023 14:36:54 +0000 (16:36 +0200)] 
gh-107196: Remove _PyArg_VaParseTupleAndKeywordsFast() function (#107197)

Remove the private _PyArg_VaParseTupleAndKeywordsFast() function: it
is no longer used.

2 years agoGH-106895: Raise a `ValueError` when attempting to disable events that cannot be...
Mark Shannon [Thu, 27 Jul 2023 14:27:11 +0000 (15:27 +0100)] 
GH-106895: Raise a `ValueError` when attempting to disable events that cannot be disabled. (GH-107337)

2 years agogh-105481: remove dependency of _inline_cache_entries on opname (#107339)
Irit Katriel [Thu, 27 Jul 2023 13:15:25 +0000 (14:15 +0100)] 
gh-105481: remove dependency of _inline_cache_entries on opname (#107339)

2 years agoGH-106897: Add `RERAISE` event to `sys.monitoring`. (GH-107291)
Mark Shannon [Thu, 27 Jul 2023 12:32:30 +0000 (13:32 +0100)] 
GH-106897: Add `RERAISE` event to `sys.monitoring`. (GH-107291)

* Ensures that exception handling events are balanced. Each [re]raise event has a matching unwind/handled event.

2 years agoBump some docs dependencies to resolve a Dependabot security alert (#107341)
Alex Waygood [Thu, 27 Jul 2023 11:53:21 +0000 (12:53 +0100)] 
Bump some docs dependencies to resolve a Dependabot security alert (#107341)

2 years agogh-103731: Remove unneeded checks for TCL_WIDE_INT_TYPE (GH-103732)
Christopher Chavez [Thu, 27 Jul 2023 08:25:19 +0000 (03:25 -0500)] 
gh-103731: Remove unneeded checks for TCL_WIDE_INT_TYPE (GH-103732)

2 years agogh-106996: Rewrite turtle explanation (#107244)
Daniele Procida [Thu, 27 Jul 2023 08:02:19 +0000 (10:02 +0200)] 
gh-106996: Rewrite turtle explanation (#107244)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agoremove outdated `_asyncio` globals from globals-to-fix.tsv (#107334)
Kumar Aditya [Thu, 27 Jul 2023 07:24:44 +0000 (12:54 +0530)] 
remove outdated `_asyncio` globals from globals-to-fix.tsv (#107334)

2 years agogh-107279 Add `<stddef.h>` to `Modules/zlibmodule.c` to fix failing builds (#107280)
shailshouryya [Thu, 27 Jul 2023 06:56:39 +0000 (23:56 -0700)] 
gh-107279 Add `<stddef.h>` to `Modules/zlibmodule.c` to fix failing builds (#107280)

2 years agogh-107298: Docs: add targets for some :c:member: and :c:macro: references (GH-107316)
Serhiy Storchaka [Thu, 27 Jul 2023 06:04:02 +0000 (09:04 +0300)] 
gh-107298: Docs: add targets for some :c:member: and :c:macro: references (GH-107316)

Add targets for PyStructSequence_Desc and PyStructSequence_Field members
and macros like Py_EQ.
Fix target for Py_RETURN_RICHCOMPARE.

2 years agogh-107091: Fix some uses of :attr: role (GH-107318)
Serhiy Storchaka [Thu, 27 Jul 2023 05:52:54 +0000 (08:52 +0300)] 
gh-107091: Fix some uses of :attr: role (GH-107318)

Fix also formatting of PyMethodDef members.

2 years agogh-107298: Fix more Sphinx warnings in the C API doc (#107329)
Victor Stinner [Thu, 27 Jul 2023 00:52:40 +0000 (02:52 +0200)] 
gh-107298: Fix more Sphinx warnings in the C API doc (#107329)

Declare the following functions as macros, since they are actually
macros. It avoids a warning on "TYPE" or "macro" argument.

* PyMem_New()
* PyMem_Resize()
* PyModule_AddIntMacro()
* PyModule_AddStringMacro()
* PyObject_GC_New()
* PyObject_GC_NewVar()
* PyObject_New()
* PyObject_NewVar()

Add C standard C types to nitpick_ignore in Doc/conf.py:

* int64_t
* uint64_t
* uintptr_t

No longer ignore non existing "__int" type in nitpick_ignore.

Update Doc/tools/.nitignore

2 years agogh-107298: Fix Sphinx warnings in the C API doc (#107302)
Victor Stinner [Wed, 26 Jul 2023 23:41:15 +0000 (01:41 +0200)] 
gh-107298: Fix Sphinx warnings in the C API doc (#107302)

* Update Doc/tools/.nitignore
* Fix BufferedIOBase.write() link in buffer.rst

2 years agogh-106149: fix comment on stackdepth of generators (#107321)
Irit Katriel [Wed, 26 Jul 2023 22:31:47 +0000 (23:31 +0100)] 
gh-106149: fix comment on stackdepth of generators (#107321)

2 years agoDocs: Argument Clinic: Restructure "Basic concepts and usage" (#106981)
Erlend E. Aasland [Wed, 26 Jul 2023 22:08:43 +0000 (00:08 +0200)] 
Docs: Argument Clinic: Restructure "Basic concepts and usage" (#106981)

Split "Basic concepts and usage" into:

- Reference
  - Terminology
  - CLI reference

- Background
  - Basic concepts

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2 years agoDocs: Remove the numbered steps from the Argument Clinic tutorial (#107203)
Erlend E. Aasland [Wed, 26 Jul 2023 20:54:25 +0000 (22:54 +0200)] 
Docs: Remove the numbered steps from the Argument Clinic tutorial (#107203)

Instead, order the tutorial as one body of prose, making it easier to
align the tutorial according to Diátaxis principles.

2 years agogh-104050: Argument clinic: Annotate `str_converter_key()` (#107294)
Alex Waygood [Wed, 26 Jul 2023 20:12:18 +0000 (21:12 +0100)] 
gh-104050: Argument clinic: Annotate `str_converter_key()` (#107294)

2 years agogh-104050: Argument clinic: Complete `get_destination_buffer` annotations (#107293)
Alex Waygood [Wed, 26 Jul 2023 20:11:15 +0000 (21:11 +0100)] 
gh-104050: Argument clinic: Complete `get_destination_buffer` annotations (#107293)

2 years agogh-105002: [pathlib] Fix relative_to with walk_up=True using ".." (#107014)
János Kukovecz [Wed, 26 Jul 2023 19:44:55 +0000 (21:44 +0200)] 
gh-105002: [pathlib] Fix relative_to with walk_up=True using ".." (#107014)

It makes sense to raise an Error because ".." can not
be resolved and the current working directory is unknown.

2 years agogh-107091: Fix some uses of :c:type: role (GH-107138)
Serhiy Storchaka [Wed, 26 Jul 2023 19:29:23 +0000 (22:29 +0300)] 
gh-107091: Fix some uses of :c:type: role (GH-107138)

2 years agogh-107091: Fix some uses of :c:member: role (GH-107129)
Serhiy Storchaka [Wed, 26 Jul 2023 19:16:06 +0000 (22:16 +0300)] 
gh-107091: Fix some uses of :c:member: role (GH-107129)

2 years agoDocument that `os.link()` is not available on Emscripten (GH-104822)
Roman Yurchak [Wed, 26 Jul 2023 18:38:59 +0000 (18:38 +0000)] 
Document that `os.link()` is not available on Emscripten (GH-104822)

2 years agogh-107298: Fix doc references to undocumented modules (#107300)
Victor Stinner [Wed, 26 Jul 2023 16:59:06 +0000 (18:59 +0200)] 
gh-107298: Fix doc references to undocumented modules (#107300)

Update also Doc/tools/.nitignore.

2 years agogh-106948: Update documentation nitpick_ignore for c:identifer domain (#107295)
Victor Stinner [Wed, 26 Jul 2023 16:04:46 +0000 (18:04 +0200)] 
gh-106948: Update documentation nitpick_ignore for c:identifer domain (#107295)

Update the nitpick_ignore of the documentation configuration to fix
Sphinx warnings about standard C types when declaring functions with
the "c:function" markups.

Copy standard C types declared in the "c:type" domain to the
"c:identifier" domain, since "c:function" markup looks for types in
the "c:identifier" domain.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 years agogh-107015: Remove async_hacks from the tokenizer (#107018)
Pablo Galindo Salgado [Wed, 26 Jul 2023 15:34:15 +0000 (16:34 +0100)] 
gh-107015: Remove async_hacks from the tokenizer (#107018)

2 years agogh-106149: Simplify stack depth calculation. Replace asserts by exceptions. (#107255)
Irit Katriel [Wed, 26 Jul 2023 12:32:47 +0000 (13:32 +0100)] 
gh-106149: Simplify stack depth calculation. Replace asserts by exceptions. (#107255)

2 years agogh-104683: Argument Clinic: Make most arguments to `Class` and `Function` required...
Alex Waygood [Wed, 26 Jul 2023 10:54:03 +0000 (11:54 +0100)] 
gh-104683: Argument Clinic: Make most arguments to `Class` and `Function` required (#107289)

2 years agogh-104050: Argument clinic: improve typing around `parse_arg()` methods (#107288)
Alex Waygood [Wed, 26 Jul 2023 10:51:24 +0000 (11:51 +0100)] 
gh-104050: Argument clinic: improve typing around `parse_arg()` methods (#107288)

2 years agogh-103735: Tkinter: remove handling for uninteresting "procbody" Tcl value type ...
Christopher Chavez [Wed, 26 Jul 2023 09:11:50 +0000 (04:11 -0500)] 
gh-103735: Tkinter: remove handling for uninteresting "procbody" Tcl value type (GH-103736)

2 years agogh-106368: Increase Argument Clinic CLI test coverage (#107277)
Erlend E. Aasland [Wed, 26 Jul 2023 06:34:14 +0000 (08:34 +0200)] 
gh-106368: Increase Argument Clinic CLI test coverage (#107277)

2 years agogh-104050: Argument clinic: annotate `post_parsing()` and `cleanup()` (#107225)
Alex Waygood [Tue, 25 Jul 2023 22:33:03 +0000 (23:33 +0100)] 
gh-104050: Argument clinic: annotate `post_parsing()` and `cleanup()` (#107225)

2 years agogh-106939: document ShareableList nul-strip quirk. (#107266)
Gregory P. Smith [Tue, 25 Jul 2023 21:09:25 +0000 (14:09 -0700)] 
gh-106939: document ShareableList nul-strip quirk. (#107266)

* gh-106939: document ShareableList nul-strip quirk.
* Mention the `int` size constraint.

2 years agogh-104050: Argument clinic: more misc typing improvements (#107264)
Alex Waygood [Tue, 25 Jul 2023 21:08:52 +0000 (22:08 +0100)] 
gh-104050: Argument clinic: more misc typing improvements (#107264)

2 years agogh-106185: Deduplicate `CPythonTracebackErrorCaretTests` in `test_traceback` (GH...
Nikita Sobolev [Tue, 25 Jul 2023 20:37:47 +0000 (23:37 +0300)] 
gh-106185: Deduplicate `CPythonTracebackErrorCaretTests` in `test_traceback` (GH-106187)

2 years agogh-107082: Fix instruction size computation for ENTER_EXECUTOR (#107256)
Guido van Rossum [Tue, 25 Jul 2023 20:01:02 +0000 (13:01 -0700)] 
gh-107082: Fix instruction size computation for ENTER_EXECUTOR (#107256)

Co-authored-by: Victor Stinner <vstinner@python.org>
2 years agogh-107226: PyModule_AddObjectRef() should only be in the limited API 3.10 (GH-107227)
Serhiy Storchaka [Tue, 25 Jul 2023 19:01:45 +0000 (22:01 +0300)] 
gh-107226: PyModule_AddObjectRef() should only be in the limited API 3.10 (GH-107227)

2 years agogh-106350: Tkinter: do not ignore return value of `mp_init()` (GH-106351)
Christopher Chavez [Tue, 25 Jul 2023 18:52:07 +0000 (13:52 -0500)] 
gh-106350: Tkinter: do not ignore return value of `mp_init()` (GH-106351)

2 years agogh-106004: PyDict_GetItemRef() should only be in the limited API 3.13 (GH-107229)
Serhiy Storchaka [Tue, 25 Jul 2023 18:48:07 +0000 (21:48 +0300)] 
gh-106004: PyDict_GetItemRef() should only be in the limited API 3.13 (GH-107229)

2 years agogh-107249: Implement Py_UNUSED() for MSVC (#107250)
Victor Stinner [Tue, 25 Jul 2023 17:28:16 +0000 (19:28 +0200)] 
gh-107249: Implement Py_UNUSED() for MSVC (#107250)

Fix warnings C4100 in Py_UNUSED() when Python is built with "cl /W4".

Example with this function included by Python.h:

    static inline unsigned int
    PyUnicode_IS_READY(PyObject* Py_UNUSED(op))
    { return 1; }

Without this change, building a C program with "cl /W4" which just
includes Python.h emits the warning:

    Include\cpython/unicodeobject.h(199):
    warning C4100: '_unused_op': unreferenced formal parameter

This change fix this warning.

2 years agogh-106739: Add `rtype_cache` to `warnings.warn` message when leaked objects found...
shailshouryya [Tue, 25 Jul 2023 17:27:36 +0000 (10:27 -0700)] 
gh-106739: Add `rtype_cache` to `warnings.warn` message when leaked objects found (#106740)

Adding the `rtype_cache` to the `warnings.warn` message improves the
previous, somewhat vague message from

```
/Users/username/cpython/Lib/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 6 leaked semaphore objects to clean up at shutdown
```

to

```
/Users/username/cpython/Lib/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 6 leaked semaphore objects to clean up at shutdown: {'/mp-yor5cvj8', '/mp-10jx8eqr', '/mp-eobsx9tt', '/mp-0lml23vl', '/mp-9dgtsa_m', '/mp-frntyv4s'}
```

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2 years agoRemove unused internal _PyImport_GetModuleId() function (#107235)
Victor Stinner [Tue, 25 Jul 2023 17:02:12 +0000 (19:02 +0200)] 
Remove unused internal _PyImport_GetModuleId() function (#107235)

2 years agogh-105059: Fix MSCV compiler warning on PyObject union (#107239)
Victor Stinner [Tue, 25 Jul 2023 14:45:38 +0000 (16:45 +0200)] 
gh-105059: Fix MSCV compiler warning on PyObject union (#107239)

Use pragma to ignore the MSCV compiler warning on the PyObject
nameless union.

2 years agogh-106869: Use new PyMemberDef constant names (#106871)
Victor Stinner [Tue, 25 Jul 2023 13:28:30 +0000 (15:28 +0200)] 
gh-106869: Use new PyMemberDef constant names (#106871)

* Remove '#include "structmember.h"'.
* If needed, add <stddef.h> to get offsetof() function.
* Update Parser/asdl_c.py to regenerate Python/Python-ast.c.
* Replace:

  * T_SHORT => Py_T_SHORT
  * T_INT => Py_T_INT
  * T_LONG => Py_T_LONG
  * T_FLOAT => Py_T_FLOAT
  * T_DOUBLE => Py_T_DOUBLE
  * T_STRING => Py_T_STRING
  * T_OBJECT => _Py_T_OBJECT
  * T_CHAR => Py_T_CHAR
  * T_BYTE => Py_T_BYTE
  * T_UBYTE => Py_T_UBYTE
  * T_USHORT => Py_T_USHORT
  * T_UINT => Py_T_UINT
  * T_ULONG => Py_T_ULONG
  * T_STRING_INPLACE => Py_T_STRING_INPLACE
  * T_BOOL => Py_T_BOOL
  * T_OBJECT_EX => Py_T_OBJECT_EX
  * T_LONGLONG => Py_T_LONGLONG
  * T_ULONGLONG => Py_T_ULONGLONG
  * T_PYSSIZET => Py_T_PYSSIZET
  * T_NONE => _Py_T_NONE
  * READONLY => Py_READONLY
  * PY_AUDIT_READ => Py_AUDIT_READ
  * READ_RESTRICTED => Py_AUDIT_READ
  * PY_WRITE_RESTRICTED => _Py_WRITE_RESTRICTED
  * RESTRICTED => (READ_RESTRICTED | _Py_WRITE_RESTRICTED)

2 years agogh-107237: Fix test_udp_reconnection() of test_logging (#107238)
Victor Stinner [Tue, 25 Jul 2023 13:13:59 +0000 (15:13 +0200)] 
gh-107237: Fix test_udp_reconnection() of test_logging (#107238)

test_logging: Fix test_udp_reconnection() by increasing the timeout
from 100 ms to 5 minutes (LONG_TIMEOUT).

Replace also blocking wait() with wait(LONG_TIMEOUT) in
test_output() to prevent the test to hang.

2 years agogh-105059: Use GCC/clang extension for PyObject union (#107232)
Victor Stinner [Tue, 25 Jul 2023 12:27:48 +0000 (14:27 +0200)] 
gh-105059: Use GCC/clang extension for PyObject union (#107232)

Anonymous union is new in C11. To prevent compiler warning
when using -pedantic compiler option, use Clang and GCC
extension on C99 and older.

2 years agogh-106996: Add a how-to section to the turtle documentation (#107153)
Daniele Procida [Tue, 25 Jul 2023 12:03:57 +0000 (14:03 +0200)] 
gh-106996: Add a how-to section to the turtle documentation (#107153)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-86493: Modernize modules initialization code (GH-106858)
Serhiy Storchaka [Tue, 25 Jul 2023 11:34:49 +0000 (14:34 +0300)] 
gh-86493: Modernize modules initialization code (GH-106858)

Use PyModule_Add() or PyModule_AddObjectRef() instead of soft deprecated
PyModule_AddObject().

2 years agogh-106774: Update bundled pip version to 23.2.1 (#106775)
Paul Moore [Tue, 25 Jul 2023 09:59:25 +0000 (10:59 +0100)] 
gh-106774: Update bundled pip version to 23.2.1 (#106775)

* Update bundled pip version to 23.2.1

2 years agogh-104050: Argument clinic: more misc typing coverage improvements (#107210)
Alex Waygood [Tue, 25 Jul 2023 08:49:07 +0000 (09:49 +0100)] 
gh-104050: Argument clinic: more misc typing coverage improvements (#107210)

2 years agogh-104050: Argument clinic: improve typing around adding C converters (#107209)
Alex Waygood [Tue, 25 Jul 2023 08:18:19 +0000 (09:18 +0100)] 
gh-104050: Argument clinic: improve typing around adding C converters (#107209)

2 years agogh-107211: No longer export internal variables (#107218)
Victor Stinner [Tue, 25 Jul 2023 03:48:04 +0000 (05:48 +0200)] 
gh-107211: No longer export internal variables (#107218)

No longer export these 5 internal C API variables:

* _PyBufferWrapper_Type
* _PyImport_FrozenBootstrap
* _PyImport_FrozenStdlib
* _PyImport_FrozenTest
* _Py_SwappedOp

Fix the definition of these internal functions, replace PyAPI_DATA()
with PyAPI_FUNC():

* _PyImport_ClearExtension()
* _PyObject_IsFreed()
* _PyThreadState_GetCurrent()

2 years agogh-107211: No longer export internal functions (4) (#107217)
Victor Stinner [Tue, 25 Jul 2023 03:16:28 +0000 (05:16 +0200)] 
gh-107211: No longer export internal functions (4) (#107217)

No longer export these 2 internal C API functions:

* _PyEval_SignalAsyncExc()
* _PyEval_SignalReceived()

Add also comments explaining why some internal functions have to be
exported, and update existing comments.

2 years agogh-107211: No longer export internal functions (3) (#107215)
Victor Stinner [Tue, 25 Jul 2023 02:25:45 +0000 (04:25 +0200)] 
gh-107211: No longer export internal functions (3) (#107215)

No longer export these 14 internal C API functions:

* _PySys_Audit()
* _PySys_SetAttr()
* _PyTraceBack_FromFrame()
* _PyTraceBack_Print_Indented()
* _PyUnicode_FormatAdvancedWriter()
* _PyUnicode_ScanIdentifier()
* _PyWarnings_Init()
* _Py_DumpASCII()
* _Py_DumpDecimal()
* _Py_DumpHexadecimal()
* _Py_DumpTraceback()
* _Py_DumpTracebackThreads()
* _Py_WriteIndent()
* _Py_WriteIndentedMargin()

2 years agogh-107211: No longer export internal functions (2) (#107214)
Victor Stinner [Tue, 25 Jul 2023 01:49:28 +0000 (03:49 +0200)] 
gh-107211: No longer export internal functions (2) (#107214)

No longer export these 43 internal C API functions:

* _PyDict_CheckConsistency()
* _PyErr_ChainStackItem()
* _PyErr_CheckSignals()
* _PyErr_CheckSignalsTstate()
* _PyErr_Clear()
* _PyErr_ExceptionMatches()
* _PyErr_Fetch()
* _PyErr_Format()
* _PyErr_FormatFromCauseTstate()
* _PyErr_GetExcInfo()
* _PyErr_GetHandledException()
* _PyErr_GetTopmostException()
* _PyErr_NoMemory()
* _PyErr_NormalizeException()
* _PyErr_Restore()
* _PyErr_SetHandledException()
* _PyErr_SetNone()
* _PyErr_SetObject()
* _PyErr_SetString()
* _PyErr_StackItemToExcInfoTuple()
* _PyExc_CreateExceptionGroup()
* _PyExc_PrepReraiseStar()
* _PyException_AddNote()
* _PyInterpreterState_Enable()
* _PyLong_FormatAdvancedWriter()
* _PyLong_FormatBytesWriter()
* _PyLong_FormatWriter()
* _PyMem_GetAllocatorName()
* _PyMem_SetDefaultAllocator()
* _PyMem_SetupAllocators()
* _PyOS_InterruptOccurred()
* _PyRuntimeState_Fini()
* _PyRuntimeState_Init()
* _PyRuntime_Finalize()
* _PyRuntime_Initialize()
* _PyThreadState_Bind()
* _PyThreadState_DeleteExcept()
* _PyThreadState_New()
* _PyThreadState_Swap()
* _PyType_CheckConsistency()
* _PyUnicodeTranslateError_Create()
* _Py_DumpExtensionModules()
* _Py_FatalErrorFormat()

2 years agogh-107211: No longer export internal functions (1) (#107213)
Victor Stinner [Tue, 25 Jul 2023 01:44:11 +0000 (03:44 +0200)] 
gh-107211: No longer export internal functions (1) (#107213)

No longer export these 49 internal C API functions:

* _PyArgv_AsWstrList()
* _PyCode_New()
* _PyCode_Validate()
* _PyFloat_DebugMallocStats()
* _PyFloat_FormatAdvancedWriter()
* _PyImport_CheckSubinterpIncompatibleExtensionAllowed()
* _PyImport_ClearExtension()
* _PyImport_GetModuleId()
* _PyImport_SetModuleString()
* _PyInterpreterState_IDDecref()
* _PyInterpreterState_IDIncref()
* _PyInterpreterState_IDInitref()
* _PyInterpreterState_LookUpID()
* _PyWideStringList_AsList()
* _PyWideStringList_CheckConsistency()
* _PyWideStringList_Clear()
* _PyWideStringList_Copy()
* _PyWideStringList_Extend()
* _Py_ClearArgcArgv()
* _Py_DecodeUTF8Ex()
* _Py_DecodeUTF8_surrogateescape()
* _Py_EncodeLocaleRaw()
* _Py_EncodeUTF8Ex()
* _Py_GetEnv()
* _Py_GetForceASCII()
* _Py_GetLocaleEncoding()
* _Py_GetLocaleEncodingObject()
* _Py_GetLocaleconvNumeric()
* _Py_ResetForceASCII()
* _Py_device_encoding()
* _Py_dg_dtoa()
* _Py_dg_freedtoa()
* _Py_dg_strtod()
* _Py_get_blocking()
* _Py_get_env_flag()
* _Py_get_inheritable()
* _Py_get_osfhandle_noraise()
* _Py_get_xoption()
* _Py_open()
* _Py_open_osfhandle()
* _Py_open_osfhandle_noraise()
* _Py_read()
* _Py_set_blocking()
* _Py_str_to_int()
* _Py_wfopen()
* _Py_wgetcwd()
* _Py_wreadlink()
* _Py_wrealpath()
* _Py_write()

2 years agogh-107211: Rename PySymtable_Lookup() to _PySymtable_Lookup() (#107212)
Victor Stinner [Tue, 25 Jul 2023 00:54:09 +0000 (02:54 +0200)] 
gh-107211: Rename PySymtable_Lookup() to _PySymtable_Lookup() (#107212)

Rename the internal PySymtable_Lookup() function to
_PySymtable_Lookup() and no longer export it.

2 years agogh-104050: Argument Clinic: Annotate `CRenderData.__init__` (#107207)
Alex Waygood [Mon, 24 Jul 2023 21:38:50 +0000 (22:38 +0100)] 
gh-104050: Argument Clinic: Annotate `CRenderData.__init__` (#107207)

Argument Clinic: Annotate `CRenderData.__init__`

2 years agogh-104050: Argument clinic: misc improvements to type annotation coverage (#107206)
Alex Waygood [Mon, 24 Jul 2023 21:23:58 +0000 (22:23 +0100)] 
gh-104050: Argument clinic: misc improvements to type annotation coverage (#107206)

2 years agogh-106149: move _PyCfg_BasicblockLastInstr and make it local to flowgraph.c (#107180)
Irit Katriel [Mon, 24 Jul 2023 21:08:59 +0000 (22:08 +0100)] 
gh-106149: move _PyCfg_BasicblockLastInstr and make it local to flowgraph.c (#107180)

2 years agogh-104050: Argument clinic: annotate `format_docstring()` (#107200)
Alex Waygood [Mon, 24 Jul 2023 20:29:50 +0000 (21:29 +0100)] 
gh-104050: Argument clinic: annotate `format_docstring()` (#107200)

2 years agogh-106917: fix super classmethod calls to non-classmethods (#106977)
Carl Meyer [Mon, 24 Jul 2023 20:14:56 +0000 (14:14 -0600)] 
gh-106917: fix super classmethod calls to non-classmethods (#106977)

2 years agogh-106727: Add `__module__` check for `inspect.getsource(cls)` (#106968)
Tian Gao [Mon, 24 Jul 2023 20:12:45 +0000 (12:12 -0800)] 
gh-106727: Add `__module__` check for `inspect.getsource(cls)` (#106968)

2 years agogh-102304: Rename _Py_IncRefTotal_DO_NOT_USE_THIS() (#107193)
Victor Stinner [Mon, 24 Jul 2023 19:47:50 +0000 (21:47 +0200)] 
gh-102304: Rename _Py_IncRefTotal_DO_NOT_USE_THIS() (#107193)

* Rename _Py_IncRefTotal_DO_NOT_USE_THIS() to _Py_INCREF_IncRefTotal()
* Rename _Py_DecRefTotal_DO_NOT_USE_THIS() to _Py_DECREF_DecRefTotal()
* Remove temporary _Py_INC_REFTOTAL() and _Py_DEC_REFTOTAL() macros

2 years agogh-98608: Move PyInterpreterConfig to pylifecycle.h (#107191)
Victor Stinner [Mon, 24 Jul 2023 19:42:04 +0000 (21:42 +0200)] 
gh-98608: Move PyInterpreterConfig to pylifecycle.h (#107191)

Move PyInterpreterConfig structure and associated macros from
initconfig.h to pylifecycle.h: it's not related to the Python
Initialization Configuration.

2 years agogh-104050: Argument Clinic: annotate `main()` (#107192)
Alex Waygood [Mon, 24 Jul 2023 19:32:38 +0000 (20:32 +0100)] 
gh-104050: Argument Clinic: annotate `main()` (#107192)

2 years agoGH-96803: Move PyUnstable_InterpreterFrame_GetCode() to Python.h (#107188)
Victor Stinner [Mon, 24 Jul 2023 19:20:44 +0000 (21:20 +0200)] 
GH-96803: Move PyUnstable_InterpreterFrame_GetCode() to Python.h (#107188)

Declare the following 3 PyUnstable functions in
Include/cpython/pyframe.h rather than Include/cpython/frameobject.h,
so they are now provided by the standard "#include <Python.h>".

2 years agogh-106368: Increase Argument Clinic CLI test coverage (#107156)
Erlend E. Aasland [Mon, 24 Jul 2023 18:49:16 +0000 (20:49 +0200)] 
gh-106368: Increase Argument Clinic CLI test coverage (#107156)

Instead of hacking into the Clinic class, use the Argument Clinic tool
to run the ClinicExternalTest test suite.

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2 years agogh-106320: Remove private _PyMem API (#107187)
Victor Stinner [Mon, 24 Jul 2023 18:48:06 +0000 (20:48 +0200)] 
gh-106320: Remove private _PyMem API (#107187)

Move private _PyMem functions to the internal C API (pycore_pymem.h):

* _PyMem_GetCurrentAllocatorName()
* _PyMem_RawStrdup()
* _PyMem_RawWcsdup()
* _PyMem_Strdup()

No longer export these functions.

Move pymem_getallocatorsname() function from _testcapi to _testinternalcapi,
since the API moved to the internal C API.

2 years agogh-106320: Remove private _PyUnicode C API (#107185)
Victor Stinner [Mon, 24 Jul 2023 18:26:29 +0000 (20:26 +0200)] 
gh-106320: Remove private _PyUnicode C API (#107185)

Move private _PyUnicode functions to the internal C API
(pycore_unicodeobject.h):

* _PyUnicode_IsCaseIgnorable()
* _PyUnicode_IsCased()
* _PyUnicode_IsXidContinue()
* _PyUnicode_IsXidStart()
* _PyUnicode_ToFoldedFull()
* _PyUnicode_ToLowerFull()
* _PyUnicode_ToTitleFull()
* _PyUnicode_ToUpperFull()

No longer export these functions.

2 years agoThoroughly refactor the cases generator (#107151)
Guido van Rossum [Mon, 24 Jul 2023 16:38:23 +0000 (09:38 -0700)] 
Thoroughly refactor the cases generator (#107151)

This mostly extracts a whole bunch of stuff out of generate_cases.py into separate files, but there are a few other things going on here.

- analysis.py: `Analyzer` etc.
- instructions.py: `Instruction` etc.
- flags.py: `InstructionFlags`, `variable_used`, `variable_used_unspecialized`
- formatting.py: `Formatter` etc.
- Rename parser.py to parsing.py, to avoid conflict with stdlib parser.py
- Blackify most things
- Fix most mypy errors
- Remove output filenames from Generator state, add them to `write_instructions()` etc.
- Fix unit tests

2 years agoDocs: Add missing markup to Argument Clinic docs (#106876)
Erlend E. Aasland [Mon, 24 Jul 2023 15:22:18 +0000 (17:22 +0200)] 
Docs: Add missing markup to Argument Clinic docs (#106876)

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 years agogh-107162: Document errcode.h usage in its comment (#107177)
Victor Stinner [Mon, 24 Jul 2023 14:14:58 +0000 (16:14 +0200)] 
gh-107162: Document errcode.h usage in its comment (#107177)

Public and documented PyRun_InteractiveOneFlags() C API uses it.

2 years agogh-106320: Remove private _PyDict C API (#107145)
Victor Stinner [Mon, 24 Jul 2023 14:02:03 +0000 (16:02 +0200)] 
gh-106320: Remove private _PyDict C API (#107145)

Move private _PyDict functions to the internal C API (pycore_dict.h):

* _PyDict_Contains_KnownHash()
* _PyDict_DebugMallocStats()
* _PyDict_DelItemIf()
* _PyDict_GetItemWithError()
* _PyDict_HasOnlyStringKeys()
* _PyDict_MaybeUntrack()
* _PyDict_MergeEx()

No longer export these functions.

2 years agoFix PyVectorcall_Function doc versionadded (#107140)
da-woods [Mon, 24 Jul 2023 12:54:38 +0000 (13:54 +0100)] 
Fix PyVectorcall_Function doc versionadded (#107140)

The documentation implies that PyVectorcall_Function() was available in Python 3.8.
This is half-true - it was available under a different name. I think it's clearer to set
the "version added" to 3.9.

2 years agoDocs: Remove duplicate word in Argument Clinic howto heading (#107169)
Hakan Celik [Mon, 24 Jul 2023 11:54:39 +0000 (14:54 +0300)] 
Docs: Remove duplicate word in Argument Clinic howto heading (#107169)

2 years agogh-107017: Change Chapter Strings to Texts in the Introduction chapter. (#107104)
TommyUnreal [Mon, 24 Jul 2023 05:55:57 +0000 (07:55 +0200)] 
gh-107017: Change Chapter Strings to Texts in the Introduction chapter. (#107104)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-106320: Remove private _PyObject C API (#107159)
Victor Stinner [Sun, 23 Jul 2023 22:25:48 +0000 (00:25 +0200)] 
gh-106320: Remove private _PyObject C API (#107159)

Move private _PyObject and private _PyType functions to the internal
C API (pycore_object.h):

* _PyObject_GetMethod()
* _PyObject_IsAbstract()
* _PyObject_NextNotImplemented()
* _PyType_CalculateMetaclass()
* _PyType_GetDocFromInternalDoc()
* _PyType_GetTextSignatureFromInternalDoc()

No longer export these functions.

2 years agoDocs: fix typo in os.pwrite docstring (#107087)
Jérôme Carretero [Sun, 23 Jul 2023 21:53:25 +0000 (17:53 -0400)] 
Docs: fix typo in os.pwrite docstring (#107087)

2 years agogh-105291: Add link to migration guide for distutils (#107130)
cLupus [Sun, 23 Jul 2023 21:50:01 +0000 (23:50 +0200)] 
gh-105291: Add link to migration guide for distutils (#107130)

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2 years agogh-106948: Docs: Disable links for C standard library functions, OS utility functions...
Erlend E. Aasland [Sun, 23 Jul 2023 20:56:56 +0000 (22:56 +0200)] 
gh-106948: Docs: Disable links for C standard library functions, OS utility functions and system calls (#107062)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2 years agogh-106320: Remove _PyBytes_Join() C API (#107144)
Victor Stinner [Sun, 23 Jul 2023 20:10:12 +0000 (22:10 +0200)] 
gh-106320: Remove _PyBytes_Join() C API (#107144)

Move private _PyBytes functions to the internal C API
(pycore_bytesobject.h):

* _PyBytes_DecodeEscape()
* _PyBytes_FormatEx()
* _PyBytes_FromHex()
* _PyBytes_Join()

No longer export these functions.

2 years agogh-106320: Remove private _PyObject C API (#107147)
Victor Stinner [Sun, 23 Jul 2023 20:09:08 +0000 (22:09 +0200)] 
gh-106320: Remove private _PyObject C API (#107147)

Move private debug _PyObject functions to the internal C API
(pycore_object.h):

* _PyDebugAllocatorStats()
* _PyObject_CheckConsistency()
* _PyObject_DebugTypeStats()
* _PyObject_IsFreed()

No longer export most of these functions, except of
_PyObject_IsFreed().

Move test functions using _PyObject_IsFreed() from _testcapi to
_testinternalcapi. check_pyobject_is_freed() test no longer catch
_testcapi.error: the tested function cannot raise _testcapi.error.

2 years agogh-106320: Remove _PyTuple_MaybeUntrack() C API (#107143)
Victor Stinner [Sun, 23 Jul 2023 19:16:21 +0000 (21:16 +0200)] 
gh-106320: Remove _PyTuple_MaybeUntrack() C API (#107143)

Move _PyTuple_MaybeUntrack() and _PyTuple_DebugMallocStats() functions
to the internal C API (pycore_tuple.h). No longer export these functions.

2 years agogh-106320: Remove _PyIsSelectable_fd() C API (#107142)
Victor Stinner [Sun, 23 Jul 2023 19:07:12 +0000 (21:07 +0200)] 
gh-106320: Remove _PyIsSelectable_fd() C API (#107142)

Move _PyIsSelectable_fd() macro to the internal C API
(pycore_fileutils.h).

2 years agoRemove superflous whitespaces in `layout.html`. (GH-107067)
Ezio Melotti [Sun, 23 Jul 2023 15:18:50 +0000 (17:18 +0200)] 
Remove superflous whitespaces in `layout.html`. (GH-107067)

2 years agogh-107122: Update what's news for dbm.*dbm.clear() method (gh-107135)
Dong-hee Na [Sun, 23 Jul 2023 15:08:50 +0000 (00:08 +0900)] 
gh-107122: Update what's news for dbm.*dbm.clear() method (gh-107135)