]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 years agogh-105927: _ctypes use PyWeakref_GetRef() (#105964)
Victor Stinner [Wed, 21 Jun 2023 14:34:27 +0000 (16:34 +0200)] 
gh-105927: _ctypes use PyWeakref_GetRef() (#105964)

Rename PyDict_GetItemProxy() to _PyDict_GetItemProxy() and mark it as
static. _PyDict_GetItemProxy() now returns a strong reference,
instead of a borrowed reference: replace PyWeakref_GET_OBJECT() with
_PyWeakref_GET_REF().

2 years agogh-105927: _ssl uses _PyWeakref_GET_REF() (#105965)
Victor Stinner [Wed, 21 Jun 2023 14:33:32 +0000 (16:33 +0200)] 
gh-105927: _ssl uses _PyWeakref_GET_REF() (#105965)

2 years agostdtypes.rst: remove a period (#105959)
Mathieu Dupuy [Wed, 21 Jun 2023 14:21:37 +0000 (16:21 +0200)] 
stdtypes.rst: remove a period (#105959)

2 years agogh-105927: _abc and _thread use PyWeakref_GetRef() (#105961)
Victor Stinner [Wed, 21 Jun 2023 13:44:25 +0000 (15:44 +0200)] 
gh-105927: _abc and _thread use PyWeakref_GetRef() (#105961)

Hold a strong reference on the object, rather than using a borrowed reference:
replace PyWeakref_GET_OBJECT() with PyWeakref_GetRef() and
_PyWeakref_GET_REF().

Remove assert(PyWeakref_CheckRef(localweakref)) since it's already
tested by _PyWeakref_GET_REF().

2 years agoUse CSV-separated outputs @ get-changed-files @ CI (#105151)
Sviatoslav Sydorenko [Wed, 21 Jun 2023 10:42:59 +0000 (12:42 +0200)] 
Use CSV-separated outputs @ get-changed-files @ CI (#105151)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-105927: Add PyWeakref_GetRef() function (#105932)
Victor Stinner [Wed, 21 Jun 2023 09:40:09 +0000 (11:40 +0200)] 
gh-105927: Add PyWeakref_GetRef() function (#105932)

Add tests on PyWeakref_NewRef(), PyWeakref_GetObject(),
PyWeakref_GET_OBJECT() and PyWeakref_GetRef().

2 years agoAdd Py_TYPE() to Doc/data/refcounts.dat (#105949)
Victor Stinner [Tue, 20 Jun 2023 21:57:54 +0000 (23:57 +0200)] 
Add Py_TYPE() to Doc/data/refcounts.dat (#105949)

2 years agogh-105915: Fix SyntaxWarning becoming a SyntaxError with -We in test_fstring (#105943)
Lysandros Nikolaou [Tue, 20 Jun 2023 14:13:07 +0000 (16:13 +0200)] 
gh-105915: Fix SyntaxWarning becoming a SyntaxError with -We in test_fstring (#105943)

2 years agogh-105915: Add 'r' prefix to not emit SyntaxWarning in test_fstring (#105940)
Lysandros Nikolaou [Tue, 20 Jun 2023 12:49:00 +0000 (14:49 +0200)] 
gh-105915: Add 'r' prefix to not emit SyntaxWarning in test_fstring (#105940)

Co-authored-by: @sunmy2019
2 years agogh-105938: Emit a SyntaxWarning for escaped braces in an f-string (#105939)
Lysandros Nikolaou [Tue, 20 Jun 2023 12:38:46 +0000 (14:38 +0200)] 
gh-105938: Emit a SyntaxWarning for escaped braces in an f-string (#105939)

2 years agomake regen-stdlib-module-names rejects test modules (#105921)
Victor Stinner [Tue, 20 Jun 2023 08:12:44 +0000 (10:12 +0200)] 
make regen-stdlib-module-names rejects test modules (#105921)

Make sure that sys.stdlib_module_names doesn't contain test modules.

2 years agogh-105927: Add _PyWeakref_GET_REF() internal function (#105929)
Victor Stinner [Tue, 20 Jun 2023 06:52:40 +0000 (08:52 +0200)] 
gh-105927: Add _PyWeakref_GET_REF() internal function (#105929)

Add new pycore_weakref.h internal header file.

2 years agogh-105922: Add PyImport_AddModuleRef() function (#105923)
Victor Stinner [Tue, 20 Jun 2023 06:48:14 +0000 (08:48 +0200)] 
gh-105922: Add PyImport_AddModuleRef() function (#105923)

* Add tests on PyImport_AddModuleRef(), PyImport_AddModule() and
  PyImport_AddModuleObject().
* pythonrun.c: Replace Py_XNewRef(PyImport_AddModule(name)) with
  PyImport_AddModuleRef(name).

2 years agogh-105927: Refactor weakrefobject.c (#105928)
Victor Stinner [Mon, 19 Jun 2023 23:31:17 +0000 (01:31 +0200)] 
gh-105927: Refactor weakrefobject.c (#105928)

* Rename proxy_checkref() to proxy_check_ref().
* proxy_check_ref() now checks the object, not the proxy.
* Most functions take PyObject* instead of PyWeakReference*.
* Remove redundant calls to PyWeakref_GET_OBJECT().

2 years agogh-105922: Refactor PyRun_InteractiveOneObjectEx() (#105925)
Victor Stinner [Mon, 19 Jun 2023 22:55:23 +0000 (00:55 +0200)] 
gh-105922: Refactor PyRun_InteractiveOneObjectEx() (#105925)

Refactor PyRun_InteractiveOneObjectEx(), _PyRun_SimpleFileObject()
and PyRun_SimpleStringFlags():

* Keep a strong reference to the __main__ module while using its
  dictionary (PyModule_GetDict()). Use PyImport_AddModule() with
  Py_XNewRef().
* Declare variables closer to where they are defined.
* Rename variables to use name longer than 1 character.
* Add pyrun_one_parse_ast() sub-function.

2 years agogh-105481: generate _specializations and _specialized_instructions from bytecodes...
Irit Katriel [Mon, 19 Jun 2023 22:47:04 +0000 (23:47 +0100)] 
gh-105481: generate _specializations and _specialized_instructions from bytecodes.c (#105913)

2 years agogh-105908: fix `barry_as_FLUFL` future import (#105909)
Crowthebird [Mon, 19 Jun 2023 21:50:57 +0000 (05:50 +0800)] 
gh-105908: fix `barry_as_FLUFL` future import (#105909)

2 years agoGH-105808: Fix a regression introduced in GH-101251 (#105910)
T. Wouters [Mon, 19 Jun 2023 17:09:04 +0000 (19:09 +0200)] 
GH-105808: Fix a regression introduced in GH-101251 (#105910)

Fix a regression introduced in pythonGH-101251, causing GzipFile.flush() to
not flush the compressor (nor pass along the zip_mode argument).

2 years agogh-104212: Explain how to port imp code to importlib (#105905)
Victor Stinner [Mon, 19 Jun 2023 14:13:11 +0000 (16:13 +0200)] 
gh-104212: Explain how to port imp code to importlib (#105905)

2 years agogh-71299: Fix __all__ in tokenize (#105907)
Lysandros Nikolaou [Mon, 19 Jun 2023 11:31:57 +0000 (13:31 +0200)] 
gh-71299: Fix __all__ in tokenize (#105907)

Co-authored-by: Unit03
2 years agoGH-104584: Assorted fixes for the optimizer API. (GH-105683)
Mark Shannon [Mon, 19 Jun 2023 09:32:20 +0000 (10:32 +0100)] 
GH-104584: Assorted fixes for the optimizer API. (GH-105683)

* Add test for long loops

* Clear ENTER_EXECUTOR when deopting code objects.

2 years agotyping docs: Improve the intro to each section (#105901)
Alex Waygood [Sun, 18 Jun 2023 23:54:29 +0000 (00:54 +0100)] 
typing docs: Improve the intro to each section (#105901)

2 years agogh-105875: Require SQLite 3.15.2 or newer (#105876)
Erlend E. Aasland [Sun, 18 Jun 2023 22:29:08 +0000 (00:29 +0200)] 
gh-105875: Require SQLite 3.15.2 or newer (#105876)

SQLite 3.15.2 was released 2016-11-28.

2 years agoDocs: move sphinx-lint to pre-commit (#105750)
Hugo van Kemenade [Sun, 18 Jun 2023 11:52:05 +0000 (14:52 +0300)] 
Docs: move sphinx-lint to pre-commit (#105750)

2 years agogh-105844: Use devguide terminology to denote versions (#105882)
Erlend E. Aasland [Sun, 18 Jun 2023 10:25:23 +0000 (12:25 +0200)] 
gh-105844: Use devguide terminology to denote versions (#105882)

2 years agogh-105481: remove HAS_ARG, HAS_CONST, IS_JUMP_OPCODE, IS_PSEUDO_OPCODE and replace...
Irit Katriel [Sat, 17 Jun 2023 16:00:16 +0000 (17:00 +0100)] 
gh-105481: remove HAS_ARG, HAS_CONST, IS_JUMP_OPCODE, IS_PSEUDO_OPCODE and replace by their new versions (#105865)

2 years agoCI: Bump macOS build to use OpenSSL v3.0 (#105538)
Erlend E. Aasland [Fri, 16 Jun 2023 19:00:37 +0000 (21:00 +0200)] 
CI: Bump macOS build to use OpenSSL v3.0 (#105538)

2 years agoGH-105840: Fix assertion failures when specializing calls with too many __defaults__...
Brandt Bucher [Fri, 16 Jun 2023 18:01:15 +0000 (11:01 -0700)] 
GH-105840: Fix assertion failures when specializing calls with too many __defaults__ (GH-105847)

2 years agogh-105678: document SET_FUNCTION_ATTRIBUTE (#105843)
Carl Meyer [Fri, 16 Jun 2023 17:36:59 +0000 (12:36 -0500)] 
gh-105678: document SET_FUNCTION_ATTRIBUTE (#105843)

2 years agogh-104799: PEP 695 backward compatibility for ast.unparse (#105846)
Jelle Zijlstra [Fri, 16 Jun 2023 16:31:23 +0000 (09:31 -0700)] 
gh-104799: PEP 695 backward compatibility for ast.unparse (#105846)

2 years agogh-105834: Add tests for calling `issubclass()` between two protocols (#105835)
Alex Waygood [Fri, 16 Jun 2023 15:47:55 +0000 (16:47 +0100)] 
gh-105834: Add tests for calling `issubclass()` between two protocols (#105835)

Some parts of the implementation of `typing.Protocol` had poor test coverage

2 years agoCI: Remove docs build from Azure Pipelines (#105823)
Hugo van Kemenade [Fri, 16 Jun 2023 11:04:34 +0000 (14:04 +0300)] 
CI: Remove docs build from Azure Pipelines (#105823)

2 years agogh-105844: Consistently use 'minor version' for X.Y versions (#105851)
Erlend E. Aasland [Fri, 16 Jun 2023 08:41:47 +0000 (10:41 +0200)] 
gh-105844: Consistently use 'minor version' for X.Y versions (#105851)

2 years agoFix inaccuracies in "Assorted Topics" section of "Defining Extension Types" tutorial...
chgnrdv [Fri, 16 Jun 2023 07:10:59 +0000 (10:10 +0300)] 
Fix inaccuracies in "Assorted Topics" section of "Defining Extension Types" tutorial (#104969)

2 years agogh-105433: Add `pickle` tests for PEP695 (#105443)
Nikita Sobolev [Fri, 16 Jun 2023 00:58:40 +0000 (03:58 +0300)] 
gh-105433: Add `pickle` tests for PEP695 (#105443)

2 years agobpo-44530: Document the change in MAKE_FUNCTION behavior (#93189)
Alex Doe [Fri, 16 Jun 2023 00:04:57 +0000 (18:04 -0600)] 
bpo-44530: Document the change in MAKE_FUNCTION behavior (#93189)

* bpo-44530: Document the change in MAKE_FUNCTION behavior

Fixes dis module documentation for MAKE_FUNCTION due to https://github.com/python/cpython/commit/2f180ce2cb6e6a7e3c517495e0f4873d6aaf5f2f (bpo-44530, released as part of 3.11) removes the qualified name at TOS

2 years agoGH-103124: Multiline statement support for pdb (GH-103125)
Tian Gao [Thu, 15 Jun 2023 23:34:42 +0000 (16:34 -0700)] 
GH-103124: Multiline statement support for pdb (GH-103125)

2 years agoGH-105588: Add missing error checks to some obj2ast_* converters (GH-105589)
Brandt Bucher [Thu, 15 Jun 2023 22:45:13 +0000 (15:45 -0700)] 
GH-105588: Add missing error checks to some obj2ast_* converters (GH-105589)

2 years agogh-105831: Fix NEWS blurb from gh-105828 (#105833)
Lysandros Nikolaou [Thu, 15 Jun 2023 17:10:33 +0000 (19:10 +0200)] 
gh-105831: Fix NEWS blurb from gh-105828 (#105833)

2 years agogh-105820: Fix tok_mode expression buffer in file & readline tokenizer (#105828)
Lysandros Nikolaou [Thu, 15 Jun 2023 16:21:24 +0000 (18:21 +0200)] 
gh-105820: Fix tok_mode expression buffer in file & readline tokenizer (#105828)

2 years agogh-105751, test_ctypes: Remove disabled tests (#105826)
Victor Stinner [Thu, 15 Jun 2023 12:22:01 +0000 (14:22 +0200)] 
gh-105751, test_ctypes: Remove disabled tests (#105826)

* The following tests were disabled since the initial ctypes commit
  in 2006, commit babddfca758abe34ff12023f63b18d745fae7ca9:

  * Callbacks.test_char_p()
  * DeletePointerTestCase.test_X()
  * NumberTestCase.test_perf()
  * StructureTestCase.test_subclass_creation()
  * Tests.test_X() of test_byteswap

* NumberTestCase.test_bool_from_address() was disabled in 2007 by
  commit 5dc4fe09b7648f9801558e766b21a3d3b2dcad3b.
* Remove check_perf() and run_test() of test_numbers.

2 years agogh-105821: Use a raw f-string in test_httpservers.py (#105822)
Pablo Galindo Salgado [Thu, 15 Jun 2023 10:48:01 +0000 (11:48 +0100)] 
gh-105821: Use a raw f-string in test_httpservers.py (#105822)

Use a raw f-string in test_httpservers.py

2 years agogh-105751: Remove platform usage in test_ctypes (#105819)
Victor Stinner [Thu, 15 Jun 2023 09:44:54 +0000 (11:44 +0200)] 
gh-105751: Remove platform usage in test_ctypes (#105819)

The MACHINE variable is no longer used in test_structures.

2 years agogh-105751: Reenable disable test_ctypes tests (#105818)
Victor Stinner [Thu, 15 Jun 2023 09:36:41 +0000 (11:36 +0200)] 
gh-105751: Reenable disable test_ctypes tests (#105818)

Reenable 3 tests:

* test_overflow()
* test_basic_wstrings()
* test_toolong()

2 years agogh-105751: Remove dead code in test_ctypes (#105817)
Victor Stinner [Thu, 15 Jun 2023 09:31:09 +0000 (11:31 +0200)] 
gh-105751: Remove dead code in test_ctypes (#105817)

* Remove "except: print(tp); raise" debug code.
* Remove unused NoNullHandle() function.
* Remove commented code.

2 years agoMore reorganisation of the typing docs (#105787)
Alex Waygood [Thu, 15 Jun 2023 05:52:18 +0000 (06:52 +0100)] 
More reorganisation of the typing docs (#105787)

2 years agoImprove docs for `typing.dataclass_transform` (#105792)
Alex Waygood [Thu, 15 Jun 2023 05:51:42 +0000 (06:51 +0100)] 
Improve docs for `typing.dataclass_transform` (#105792)

2 years agoGH-89812: Churn `pathlib.Path` test methods (#105807)
Barney Gale [Thu, 15 Jun 2023 01:31:30 +0000 (02:31 +0100)] 
GH-89812: Churn `pathlib.Path` test methods (#105807)

Re-arrange `pathlib.Path` test methods in source code. No other changes.

The test methods are arranged in two groups. The first group checks
`stat()`, `open()`, `iterdir()`, `readlink()`, and derived methods like
`exists()`, `read_text()`, `glob()` and `resolve()`. The second group
checks all other `Path` methods. To minimise the diff I've maintained the
method order within groups where possible.

This patch prepares the ground for a new `_AbstractPath` class, which will
support methods in the first group above. By churning the test methods
here, subsequent patches will be easier to review and less likely to break
things.

2 years agogh-105800: Issue SyntaxWarning in f-strings for invalid escape sequences (#105801)
Pablo Galindo Salgado [Thu, 15 Jun 2023 00:08:12 +0000 (01:08 +0100)] 
gh-105800: Issue SyntaxWarning in f-strings for invalid escape sequences (#105801)

2 years agogh-105751: Cleanup test_ctypes imports (#105803)
Victor Stinner [Wed, 14 Jun 2023 23:31:45 +0000 (01:31 +0200)] 
gh-105751: Cleanup test_ctypes imports (#105803)

* Move imports at top level and sort imports.
* Replace c_buffer() with create_string_buffer(): c_buffer is a
  deprecated alias.
* PEP 8: Add empty lines for readability between imports and classes.

2 years agogh-105481: add HAS_JUMP flag to opcode metadata (#105791)
Irit Katriel [Wed, 14 Jun 2023 23:14:22 +0000 (00:14 +0100)] 
gh-105481: add HAS_JUMP flag to opcode metadata (#105791)

2 years agogh-105751: test_ctypes avoids the operator module (GH-105797)
Victor Stinner [Wed, 14 Jun 2023 21:29:05 +0000 (23:29 +0200)] 
gh-105751: test_ctypes avoids the operator module (GH-105797)

* Replace operator.delitem(obj, index) with "del obj[index]".
* Replace operator.setitem(obj, index, value) with
  "obj[index] = value".
* Replace delattr(obj, "attr) with "del obj.attr".
* Replace grc() with sys.getrefcount() for readability.

2 years agogh-105751: test_ctypes: Remove @need_symbol decorator (GH-105798)
Victor Stinner [Wed, 14 Jun 2023 20:56:01 +0000 (22:56 +0200)] 
gh-105751: test_ctypes: Remove @need_symbol decorator (GH-105798)

Remove the @need_symbol('...') decorator of test.test_ctypes since
requested symbols are now always always available in ctypes.

Use the @unittest.skipUnless() decorator directly for the two types
only available on Windows:

* ctypes.WINFUNCTYPE
* ctypes.oledll

2 years agogh-104909: Implement conditional stack effects for macros (#105748)
Guido van Rossum [Wed, 14 Jun 2023 20:50:48 +0000 (13:50 -0700)] 
gh-104909: Implement conditional stack effects for macros (#105748)

2 years agogh-75905: Remove test_xmlrpc_net: skipped since 2017 (#105796)
Victor Stinner [Wed, 14 Jun 2023 19:26:34 +0000 (21:26 +0200)] 
gh-75905: Remove test_xmlrpc_net: skipped since 2017 (#105796)

test_xmlrpc_net was skipped since 2017:
commit 73ffd3f2036179ed54591ef0455e5ba5694ae5bd.

The public buildbot.python.org server has no XML-RPC interface
anymore, and no replacement server was found in 6 years.

2 years agogh-105481: Fix types and a bug for pseudos (#105788)
Guido van Rossum [Wed, 14 Jun 2023 17:06:50 +0000 (10:06 -0700)] 
gh-105481: Fix types and a bug for pseudos (#105788)

2 years agoUpdate DSL docs for cases generator (#105753)
Guido van Rossum [Wed, 14 Jun 2023 15:19:24 +0000 (08:19 -0700)] 
Update DSL docs for cases generator (#105753)

* Clarify things around goto error/ERROR_IF a bit
* Remove docs for super-instructions
* Add pseudo; fix heading markup

2 years agoGH-77273: Better bytecodes for f-strings (GH-6132)
Mark Shannon [Wed, 14 Jun 2023 15:15:08 +0000 (16:15 +0100)] 
GH-77273: Better bytecodes for f-strings (GH-6132)

2 years agoxmlrpc.client uses datetime.datetime.isoformat() (#105741)
Victor Stinner [Wed, 14 Jun 2023 15:00:40 +0000 (17:00 +0200)] 
xmlrpc.client uses datetime.datetime.isoformat() (#105741)

Reimplement _iso8601_format() using the datetime isoformat() method.
Ignore the timezone.

Co-Authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
2 years agogh-105570: Deprecate unusual ways of creating empty TypedDicts (#105780)
Alex Waygood [Wed, 14 Jun 2023 14:58:41 +0000 (15:58 +0100)] 
gh-105570: Deprecate unusual ways of creating empty TypedDicts (#105780)

Deprecate two methods of creating typing.TypedDict classes with 0 fields using the functional syntax: `TD = TypedDict("TD")` and `TD = TypedDict("TD", None)`. Both will be disallowed in Python 3.15. To create a TypedDict class with 0 fields, either use `class TD(TypedDict): pass` or `TD = TypedDict("TD", {})`.

2 years agogh-105196: Fix indentations of section headings in C API docs (#105672)
TATHAGATA ROY [Wed, 14 Jun 2023 14:21:30 +0000 (19:51 +0530)] 
gh-105196: Fix indentations of section headings in C API docs (#105672)

2 years agoTyping docs: move the deprecated stuff below the non-deprecated stuff (#105781)
Alex Waygood [Wed, 14 Jun 2023 14:19:27 +0000 (15:19 +0100)] 
Typing docs: move the deprecated stuff below the non-deprecated stuff (#105781)

2 years agoGH-100987: Allow objects other than code objects as the "executable" of an internal...
Mark Shannon [Wed, 14 Jun 2023 12:46:37 +0000 (13:46 +0100)] 
GH-100987: Allow objects other than code objects as the "executable" of an internal frame. (GH-105727)

* Add table describing possible executable classes for out-of-process debuggers.

* Remove shim code object creation code as it is no longer needed.

* Make lltrace a bit more robust w.r.t. non-standard frames.

2 years agogh-105566: Deprecate unusual ways of creating `typing.NamedTuple` classes (#105609)
Alex Waygood [Wed, 14 Jun 2023 12:38:49 +0000 (13:38 +0100)] 
gh-105566: Deprecate unusual ways of creating `typing.NamedTuple` classes (#105609)

Deprecate creating a typing.NamedTuple class using keyword arguments to denote the fields (`NT = NamedTuple("NT", x=int, y=str)`). This will be disallowed in Python 3.15. Use the class-based syntax or the functional syntax instead.

Two methods of creating `NamedTuple` classes with 0 fields using the functional syntax are also deprecated, and will be disallowed in Python 3.15: `NT = NamedTuple("NT")` and `NT = NamedTuple("NT", None)`. To create a `NamedTuple` class with 0 fields, either use `class NT(NamedTuple): pass` or `NT = NamedTuple("NT", [])`.

2 years agogh-104873: Add typing.get_protocol_members and typing.is_protocol (#104878)
Jelle Zijlstra [Wed, 14 Jun 2023 12:35:06 +0000 (05:35 -0700)] 
gh-104873: Add typing.get_protocol_members and typing.is_protocol (#104878)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2 years agogh-102541: Hide traceback in help prompt (gh-102614)
Kirill Podoprigora [Wed, 14 Jun 2023 12:17:12 +0000 (15:17 +0300)] 
gh-102541: Hide traceback in help prompt (gh-102614)

2 years agogdb libpython.py: Remove compatibility code (#105739)
Victor Stinner [Wed, 14 Jun 2023 10:30:22 +0000 (12:30 +0200)] 
gdb libpython.py: Remove compatibility code (#105739)

Remove compatibility code for Python 2 and early Python 3 versions.

* Remove os_fsencode() reimplementation: use os.fsencode() directly.
  os.fsencode() was added to Python 3.2.
* Remove references to Python 2 and "Python 3": just say "Python".
* Remove outdated u'' string format: use '' instead.

2 years agogh-105745: Fix open method of webbrowser.Konqueror (#105746)
Nikita Sobolev [Wed, 14 Jun 2023 10:29:16 +0000 (13:29 +0300)] 
gh-105745: Fix open method of webbrowser.Konqueror (#105746)

2 years agogh-105687: Remove deprecated objects from `re` module (#105688)
Nikita Sobolev [Wed, 14 Jun 2023 10:26:20 +0000 (13:26 +0300)] 
gh-105687: Remove deprecated objects from `re` module (#105688)

2 years ago_ctypes callbacks.c uses _Py_COMP_DIAG_IGNORE_DEPR_DECLS (#105732)
Victor Stinner [Wed, 14 Jun 2023 10:12:25 +0000 (12:12 +0200)] 
_ctypes callbacks.c uses _Py_COMP_DIAG_IGNORE_DEPR_DECLS (#105732)

Replace #pragma with _Py_COMP_DIAG_PUSH,
_Py_COMP_DIAG_IGNORE_DEPR_DECLS and _Py_COMP_DIAG_POP to ease Python
maintenance. Also add a comment explaining why callbacks.c ignores a
deprecation warning.

2 years agotarfile: Fix positional-only syntax in docs (GH-105770)
Jelle Zijlstra [Wed, 14 Jun 2023 07:26:48 +0000 (00:26 -0700)] 
tarfile: Fix positional-only syntax in docs (GH-105770)

The syntax used in the current docs (a / before any args) is invalid.

I think the right approach is for the arguments to arbitrary
filter functions to be treated as positional-only, meaning that users
can supply filter functions with any names for the argument. tarfile.py
only calls the filter function with positional arguments.

2 years agogh-105587: Remove assertion from `_PyStaticObject_CheckRefcnt` (#105638)
Eddie Elizondo [Wed, 14 Jun 2023 04:33:32 +0000 (00:33 -0400)] 
gh-105587: Remove assertion from `_PyStaticObject_CheckRefcnt` (#105638)

2 years agoGH-89812: Clean up pathlib tests. (#104829)
Barney Gale [Wed, 14 Jun 2023 04:06:58 +0000 (05:06 +0100)] 
GH-89812: Clean up pathlib tests. (#104829)

Clean up pathlib tests.

Merge `PurePathTest` into `_BasePurePathTest`, and `PathTest` into
`_BasePathTest`.

2 years agogh-105751: test_ctypes avoids "from ctypes import *" (#105768)
Victor Stinner [Wed, 14 Jun 2023 03:34:11 +0000 (05:34 +0200)] 
gh-105751: test_ctypes avoids "from ctypes import *" (#105768)

Using "import *" prevents linters like pyflakes to detect undefined names
(usually missing imports).

Replace c_voidp with c_void_p.

2 years agogh-105751: test_ctypes.test_numbers uses top level imports (#105762)
Victor Stinner [Wed, 14 Jun 2023 02:47:01 +0000 (04:47 +0200)] 
gh-105751: test_ctypes.test_numbers uses top level imports (#105762)

Moroever, c_ulonglong and c_bool are always available.

2 years agogh-105751: test_ctypes gets Windows attrs from ctypes (#105758)
Victor Stinner [Wed, 14 Jun 2023 02:46:47 +0000 (04:46 +0200)] 
gh-105751: test_ctypes gets Windows attrs from ctypes (#105758)

test_ctypes now gets attributes specific to Windows from the ctypes
module, rather than relying on "from ctypes import *".

Attributes:

* ctypes.FormatError
* ctypes.WINFUNCTYPE
* ctypes.WinError
* ctypes.WinDLL
* ctypes.windll
* ctypes.oledll
* ctypes.get_last_error()
* ctypes.set_last_error()

2 years agogh-105699: Use a Thread-Local Variable for PKGCONTEXT (gh-105740)
Eric Snow [Wed, 14 Jun 2023 00:58:23 +0000 (18:58 -0600)] 
gh-105699: Use a Thread-Local Variable for PKGCONTEXT (gh-105740)

This fixes a race during import. The existing _PyRuntimeState.imports.pkgcontext is shared between interpreters, and occasionally this would cause a crash when multiple interpreters were importing extensions modules at the same time.  To solve this we add a thread-local variable for the value.  We also leave the existing state (and infrequent race) in place for platforms that do not support thread-local variables.

2 years agogh-104812: Skip Pending Calls Tests if No Threading (gh-105761)
Eric Snow [Wed, 14 Jun 2023 00:39:18 +0000 (18:39 -0600)] 
gh-104812: Skip Pending Calls Tests if No Threading (gh-105761)

This fixes the WASM buildbots.

2 years agogh-105387: Limited C API implements Py_INCREF() as func (#105388)
Victor Stinner [Wed, 14 Jun 2023 00:33:00 +0000 (02:33 +0200)] 
gh-105387: Limited C API implements Py_INCREF() as func (#105388)

In the limited C API version 3.12, Py_INCREF() and Py_DECREF()
functions are now implemented as opaque function calls to hide
implementation details.

2 years agoGH-104554: Add RTSPS support to `urllib/parse.py` (#104605)
zentarim [Tue, 13 Jun 2023 23:45:47 +0000 (02:45 +0300)] 
GH-104554: Add RTSPS support to `urllib/parse.py` (#104605)

* GH-104554: Add RTSPS support to `urllib/parse.py`

RTSPS is the permanent scheme defined in
https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
alongside RTSP and RTSPU schemes.

* 📜🤖 Added by blurb_it.

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2 years agogh-105436: Ignore unrelated errors when checking empty env (GH-105742)
Steve Dower [Tue, 13 Jun 2023 23:00:16 +0000 (00:00 +0100)] 
gh-105436: Ignore unrelated errors when checking empty env (GH-105742)

2 years agogh-98040: Fix importbench: use types.ModuleType() (#105743)
Victor Stinner [Tue, 13 Jun 2023 22:32:12 +0000 (00:32 +0200)] 
gh-98040: Fix importbench: use types.ModuleType() (#105743)

Replace removed imp.new_module(name) with types.ModuleType(name).

2 years agogh-104812: Run Pending Calls in any Thread (gh-104813)
Eric Snow [Tue, 13 Jun 2023 21:02:19 +0000 (15:02 -0600)] 
gh-104812: Run Pending Calls in any Thread (gh-104813)

For a while now, pending calls only run in the main thread (in the main interpreter).  This PR changes things to allow any thread run a pending call, unless the pending call was explicitly added for the main thread to run.

2 years agogh-102613: Bump recursion limit to fix running test_pathlib under Coverage (#105744)
Łukasz Langa [Tue, 13 Jun 2023 20:44:27 +0000 (20:44 +0000)] 
gh-102613: Bump recursion limit to fix running test_pathlib under Coverage (#105744)

2 years agogh-105481: add flags to each instr in the opcode metadata table, to replace opcode...
Irit Katriel [Tue, 13 Jun 2023 20:42:03 +0000 (21:42 +0100)] 
gh-105481: add flags to each instr in the opcode metadata table, to replace opcode.hasarg/hasname/hasconst (#105482)

2 years agogh-105733: Deprecate ctypes SetPointerType() and ARRAY() (#105734)
Victor Stinner [Tue, 13 Jun 2023 18:16:26 +0000 (20:16 +0200)] 
gh-105733: Deprecate ctypes SetPointerType() and ARRAY() (#105734)

2 years agogh-105603: Change the PyInterpreterConfig.own gil Field (gh-105620)
Eric Snow [Tue, 13 Jun 2023 17:08:32 +0000 (11:08 -0600)] 
gh-105603: Change the PyInterpreterConfig.own gil Field (gh-105620)

We are changing it to be more flexible that a strict bool can be for possible future expanded used cases.

2 years agogh-105718: Fix buffer allocation in tokenizer with readline (#105728)
Lysandros Nikolaou [Tue, 13 Jun 2023 15:18:11 +0000 (17:18 +0200)] 
gh-105718: Fix buffer allocation in tokenizer with readline (#105728)

2 years agogh-105373: Remove PyArg_Parse() deprecation (#105394)
Victor Stinner [Tue, 13 Jun 2023 11:49:36 +0000 (13:49 +0200)] 
gh-105373: Remove PyArg_Parse() deprecation (#105394)

There is no plan to deprecate PyArg_Parse().

The deprecation was added as a comment in the C API documentation in
2007 by commit 85eb8c103c9e460917911b43c6be302c30d75efb.

2 years agogh-105713: Document that tokenize raises when mixing tabs/spaces (#105723)
Lysandros Nikolaou [Tue, 13 Jun 2023 10:39:29 +0000 (12:39 +0200)] 
gh-105713: Document that tokenize raises when mixing tabs/spaces (#105723)

* gh-105713: Document that tokenize raises when mixing tabs/spaces
* Update Doc/whatsnew/3.12.rst

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2 years agoFix magic number (GH-105722)
Mark Shannon [Tue, 13 Jun 2023 09:34:27 +0000 (10:34 +0100)] 
Fix magic number (GH-105722)

2 years agoGH-105678: Split MAKE_FUNCTION into MAKE_FUNCTION and SET_FUNCTION_ATTRIBUTE (GH...
Mark Shannon [Tue, 13 Jun 2023 08:51:05 +0000 (09:51 +0100)] 
GH-105678: Split MAKE_FUNCTION into MAKE_FUNCTION and SET_FUNCTION_ATTRIBUTE (GH-105680)

2 years agogh-105375: Improve error handling in _Unpickler_SetInputStream() (#105667)
Erlend E. Aasland [Tue, 13 Jun 2023 08:38:01 +0000 (10:38 +0200)] 
gh-105375: Improve error handling in _Unpickler_SetInputStream() (#105667)

Prevent exceptions from possibly being overwritten in case of multiple
failures.

2 years agoGH-105684: Require `asyncio.Task` implementations to support `set_name` method (...
Kumar Aditya [Tue, 13 Jun 2023 06:06:40 +0000 (11:36 +0530)] 
GH-105684: Require `asyncio.Task` implementations to support `set_name` method (#105685)

2 years agoGH-104787: use bitfields in `_asyncio` (#104788)
Kumar Aditya [Tue, 13 Jun 2023 05:41:34 +0000 (11:11 +0530)] 
GH-104787: use bitfields in `_asyncio` (#104788)

2 years agogh-105540: Fix code generator tests (#105707)
Guido van Rossum [Mon, 12 Jun 2023 21:55:15 +0000 (14:55 -0700)] 
gh-105540: Fix code generator tests (#105707)

This involves expanding PEEK, POKE and JUMPBY macros,
and removing super and register tests (those features no longer exist).

2 years agogh-105375: Explicitly initialise all {Pickler,Unpickler}Object fields (#105686)
Erlend E. Aasland [Mon, 12 Jun 2023 21:35:07 +0000 (23:35 +0200)] 
gh-105375: Explicitly initialise all {Pickler,Unpickler}Object fields (#105686)

All fields must be explicitly initialised to prevent manipulation of
uninitialised fields in dealloc.

Align initialisation order with the layout of the object structs.

2 years agogh-105331: Change `asyncio.sleep` to raise ``ValueError` for nan (#105641)
Jay [Mon, 12 Jun 2023 20:29:02 +0000 (04:29 +0800)] 
gh-105331: Change `asyncio.sleep` to raise ``ValueError` for nan (#105641)

Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2 years agoRemove support for legacy bytecode instructions (#105705)
Guido van Rossum [Mon, 12 Jun 2023 18:19:04 +0000 (11:19 -0700)] 
Remove support for legacy bytecode instructions (#105705)

(A legacy instruction is of the form `instr(FOOBAR)`,
i.e. missing the `(... -- ...)` stack/cache effect annotation.)

2 years agogh-105229: Remove syntactic support for super-instructions (#105703)
Guido van Rossum [Mon, 12 Jun 2023 17:47:08 +0000 (10:47 -0700)] 
gh-105229: Remove syntactic support for super-instructions (#105703)

It will not be used again.