]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
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.

2 years agogh-105436: The environment block should end with two null wchar_t values (GH-105495)
Dora203 [Mon, 12 Jun 2023 16:14:55 +0000 (00:14 +0800)] 
gh-105436: The environment block should end with two null wchar_t values (GH-105495)

2 years agogh-103968: PyType_FromMetaclass: Allow metaclasses with tp_new=NULL (GH-105386)
Petr Viktorin [Mon, 12 Jun 2023 15:45:49 +0000 (17:45 +0200)] 
gh-103968: PyType_FromMetaclass: Allow metaclasses with tp_new=NULL (GH-105386)

2 years agoARM64 clamping bug also exists in MSVC 14.35 (GH-105679)
Steve Dower [Mon, 12 Jun 2023 15:09:14 +0000 (16:09 +0100)] 
ARM64 clamping bug also exists in MSVC 14.35 (GH-105679)

2 years agogh-105673: Fix uninitialized warning in sysmodule.c (#105674)
Nikita Sobolev [Mon, 12 Jun 2023 08:47:56 +0000 (11:47 +0300)] 
gh-105673: Fix uninitialized warning in sysmodule.c (#105674)

In sys_add_xoption(), 'value' may be uninitialized for some error paths.

2 years agogh-105481: add pseudo-instructions to the bytecodes DSL (#105506)
Irit Katriel [Sun, 11 Jun 2023 21:31:59 +0000 (22:31 +0100)] 
gh-105481: add pseudo-instructions to the bytecodes DSL (#105506)

2 years agogh-105375: Harden pyexpat initialisation (#105606)
Erlend E. Aasland [Sun, 11 Jun 2023 20:18:46 +0000 (22:18 +0200)] 
gh-105375: Harden pyexpat initialisation (#105606)

Add proper error handling to add_errors_module() to prevent exceptions
from possibly being overwritten.

2 years agogh-105375: Improve error handling in the sys extension module (#105611)
Erlend E. Aasland [Sun, 11 Jun 2023 20:02:49 +0000 (22:02 +0200)] 
gh-105375: Improve error handling in the sys extension module (#105611)

In _PySys_AddXOptionWithError() and sys_add_xoption(),
bail on first error to prevent exceptions from possibly being
overwritten.

2 years agogh-105375: Improve error handling in _ctypes (#105593)
Erlend E. Aasland [Sun, 11 Jun 2023 19:46:19 +0000 (21:46 +0200)] 
gh-105375: Improve error handling in _ctypes (#105593)

Prevent repeated PyLong_FromVoidPtr() from possibly overwriting the
current exception.

2 years agogh-105375: Improve error handling in PyUnicode_BuildEncodingMap() (#105491)
Erlend E. Aasland [Sun, 11 Jun 2023 19:29:19 +0000 (21:29 +0200)] 
gh-105375: Improve error handling in PyUnicode_BuildEncodingMap() (#105491)

Bail on first error to prevent exceptions from possibly being overwritten.

2 years agogh-105375: Improve PyErr_WarnExplicit() error handling (#105610)
Erlend E. Aasland [Sun, 11 Jun 2023 19:23:28 +0000 (21:23 +0200)] 
gh-105375: Improve PyErr_WarnExplicit() error handling (#105610)

Bail on first error to prevent exceptions from possibly being
overwritten.

2 years agobpo-44185: Added close() to mock_open __exit__ (#26902)
Samet YASLAN [Sun, 11 Jun 2023 18:51:21 +0000 (20:51 +0200)] 
bpo-44185: Added close() to mock_open __exit__ (#26902)

2 years agogh-102676: Add more convenience properties to `dis.Instruction` (#103969)
Tomas R [Sun, 11 Jun 2023 15:50:34 +0000 (17:50 +0200)] 
gh-102676: Add more convenience properties to `dis.Instruction` (#103969)

Adds start_offset, cache_offset, end_offset, baseopcode,
baseopname, jump_target and oparg to dis.Instruction.

Also slightly improves the disassembly output by allowing
opnames to overflow into the space reserved for opargs.

2 years agoFix typo in configparser module docstring (#105652)
litlighilit [Sun, 11 Jun 2023 14:06:42 +0000 (22:06 +0800)] 
Fix typo in configparser module docstring (#105652)

"zc.buildbot" -> "zc.buildout"

2 years agogh-105375: Improve error handling in the builtins extension module (#105585)
Erlend E. Aasland [Sun, 11 Jun 2023 10:20:43 +0000 (12:20 +0200)] 
gh-105375: Improve error handling in the builtins extension module (#105585)

2 years agogh-105375: Improve _decimal error handling (#105605)
Erlend E. Aasland [Sun, 11 Jun 2023 10:06:06 +0000 (12:06 +0200)] 
gh-105375: Improve _decimal error handling (#105605)

Fix a bug where an exception could end up being overwritten.

2 years agogh-105375: Harden _datetime initialisation (#105604)
Erlend E. Aasland [Sun, 11 Jun 2023 10:03:09 +0000 (12:03 +0200)] 
gh-105375: Harden _datetime initialisation (#105604)

Improve error handling so init bails on the first exception.

2 years agogh-105375: Improve array.array exception handling (#105594)
Erlend E. Aasland [Sun, 11 Jun 2023 09:58:08 +0000 (11:58 +0200)] 
gh-105375: Improve array.array exception handling (#105594)

Fix a bug where 'tp_richcompare' could end up overwriting an exception.

2 years agogh-105375: Harden _ssl initialisation (#105599)
Erlend E. Aasland [Sun, 11 Jun 2023 09:56:32 +0000 (11:56 +0200)] 
gh-105375: Harden _ssl initialisation (#105599)

Add proper error handling to prevent reference leaks and overwritten
exceptions.

2 years agogh-80480: Emit DeprecationWarning for array's 'u' type code (#95760)
Hugo van Kemenade [Sun, 11 Jun 2023 09:17:35 +0000 (12:17 +0300)] 
gh-80480: Emit DeprecationWarning for array's 'u' type code (#95760)

2 years agogh-99108: Mention HACL\* in the hashlib docs. (#105634)
Gregory P. Smith [Sat, 10 Jun 2023 19:09:20 +0000 (12:09 -0700)] 
gh-99108: Mention HACL\* in the hashlib docs. (#105634)

2 years agoCleanup and clarify our hashlib docs. (#105624)
Gregory P. Smith [Sat, 10 Jun 2023 18:49:06 +0000 (11:49 -0700)] 
Cleanup and clarify our hashlib docs. (#105624)

Clarify and improve our hashlib docs. Now with 50% less mess!

2 years agogh-105375: Harden error handling in `_testcapi/heaptype.c` (#105608)
Erlend E. Aasland [Fri, 9 Jun 2023 21:53:33 +0000 (23:53 +0200)] 
gh-105375: Harden error handling in `_testcapi/heaptype.c` (#105608)

Bail on first error in heapctypesubclasswithfinalizer_finalize()

2 years agogh-105375: Improve error handling in `zoneinfo` module (#105586)
Nikita Sobolev [Fri, 9 Jun 2023 21:48:54 +0000 (00:48 +0300)] 
gh-105375: Improve error handling in `zoneinfo` module (#105586)

Fix bugs where exceptions could end up being overwritten
because of deferred error handling.

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2 years agoDocs: fix formatting in 2023-06-09-12-59-18 NEWS item (#105607)
Erlend E. Aasland [Fri, 9 Jun 2023 21:14:02 +0000 (23:14 +0200)] 
Docs: fix formatting in 2023-06-09-12-59-18 NEWS item (#105607)

2 years agogh-105549: Tokenize separately NUMBER and NAME tokens and allow 0-prefixed literals...
Pablo Galindo Salgado [Fri, 9 Jun 2023 20:39:01 +0000 (21:39 +0100)] 
gh-105549: Tokenize separately NUMBER and NAME tokens and allow 0-prefixed literals (#105555)

2 years agogh-105375: Improve error handling in _elementtree (#105591)
Erlend E. Aasland [Fri, 9 Jun 2023 20:35:03 +0000 (22:35 +0200)] 
gh-105375: Improve error handling in _elementtree (#105591)

Fix bugs where exceptions could end up being overwritten.

2 years agogh-105375: Improve posix error handling (#105592)
Erlend E. Aasland [Fri, 9 Jun 2023 20:07:47 +0000 (22:07 +0200)] 
gh-105375: Improve posix error handling (#105592)

Fix a bug where an IndexError could end up being overwritten.

2 years agogh-105375: Improve errnomodule error handling (#105590)
Erlend E. Aasland [Fri, 9 Jun 2023 19:57:25 +0000 (21:57 +0200)] 
gh-105375: Improve errnomodule error handling (#105590)

Bail immediately if an exception is set, to prevent exceptions from
being overwritten.

2 years agogh-105375: Improve _pickle error handling (#105475)
Erlend E. Aasland [Fri, 9 Jun 2023 17:09:53 +0000 (19:09 +0200)] 
gh-105375: Improve _pickle error handling (#105475)

Error handling was deferred in some cases, which could potentially lead
to exceptions being overwritten.

2 years agogh-105375: Improve error handling in compiler_enter_scope() (#105494)
Erlend E. Aasland [Fri, 9 Jun 2023 16:55:53 +0000 (18:55 +0200)] 
gh-105375: Improve error handling in compiler_enter_scope() (#105494)