]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
5 years agobpo-1635741: Fix unicode_dealloc() for mortal interned string (GH-21270)
Victor Stinner [Fri, 3 Jul 2020 14:59:12 +0000 (16:59 +0200)] 
bpo-1635741: Fix unicode_dealloc() for mortal interned string (GH-21270)

When unicode_dealloc() is called on a mortal interned string, the
string reference counter is now reset at zero.

5 years agobpo-41194: The _ast module cannot be loaded more than once (GH-21290)
Victor Stinner [Fri, 3 Jul 2020 12:15:53 +0000 (14:15 +0200)] 
bpo-41194: The _ast module cannot be loaded more than once (GH-21290)

Fix a crash in the _ast module: it can no longer be loaded more than
once. It now uses a global state rather than a module state.

* Move _ast module state: use a global state instead.
* Set _astmodule.m_size to -1, so the extension cannot be loaded more
  than once.

5 years agobpo-41194: Pass module state in Python-ast.c (GH-21284)
Victor Stinner [Fri, 3 Jul 2020 09:35:37 +0000 (11:35 +0200)] 
bpo-41194: Pass module state in Python-ast.c (GH-21284)

Rework asdl_c.py to pass the module state to functions in
Python-ast.c, instead of using astmodulestate_global.

Handle also PyState_AddModule() failure in init_types().

5 years agobpo-1635741: Port sha256 module to multiphase init (PEP 489) (GH-21189)
Mohamed Koubaa [Fri, 3 Jul 2020 08:59:47 +0000 (03:59 -0500)] 
bpo-1635741: Port sha256 module to multiphase init (PEP 489) (GH-21189)

5 years agobpo-39960: Allow heap types in the "Carlo Verre" hack check that override "tp_setattr...
scoder [Fri, 3 Jul 2020 00:09:28 +0000 (02:09 +0200)] 
bpo-39960: Allow heap types in the "Carlo Verre" hack check that override "tp_setattro()" (GH-21092)

Automerge-Triggered-By: @gvanrossum
5 years agoRemove extraneous file from the Docs folder (GH-21286)
Pablo Galindo [Thu, 2 Jul 2020 22:08:36 +0000 (23:08 +0100)] 
Remove extraneous file from the Docs folder (GH-21286)

5 years agobpo-41193: Ignore OSError in readline write_history() (GH-21279)
Victor Stinner [Thu, 2 Jul 2020 10:43:25 +0000 (12:43 +0200)] 
bpo-41193: Ignore OSError in readline write_history() (GH-21279)

The write_history() atexit function of the readline completer now
ignores any OSError to ignore error if the filesystem is read-only,
instead of only ignoring FileNotFoundError and PermissionError.

5 years agobpo-40967: Remove deprecated asyncio.Task.current_task() and asyncio.Task.all_tasks...
Rémi Lapeyre [Thu, 2 Jul 2020 03:41:21 +0000 (05:41 +0200)] 
bpo-40967: Remove deprecated asyncio.Task.current_task() and asyncio.Task.all_tasks() (GH-20874)

5 years agobpo-1635741: Release Unicode interned strings at exit (GH-21269)
Victor Stinner [Wed, 1 Jul 2020 23:19:57 +0000 (01:19 +0200)] 
bpo-1635741: Release Unicode interned strings at exit (GH-21269)

* PyUnicode_InternInPlace() now ensures that interned strings are
  ready.
* Add _PyUnicode_ClearInterned().
* Py_Finalize() now releases Unicode interned strings:
  call _PyUnicode_ClearInterned().

5 years agobpo-40521: Cleanup finalize_interp_types() (GH-21265)
Victor Stinner [Wed, 1 Jul 2020 21:21:36 +0000 (23:21 +0200)] 
bpo-40521: Cleanup finalize_interp_types() (GH-21265)

Remove the now unused is_main_interp parameter of
finalize_interp_types().

5 years agobpo-39385: Add an assertNoLogs context manager to unittest.TestCase (GH-18067)
Kit Choi [Wed, 1 Jul 2020 21:08:38 +0000 (22:08 +0100)] 
bpo-39385: Add an assertNoLogs context manager to unittest.TestCase (GH-18067)

Co-authored-by: Rémi Lapeyre <remi.lapeyre@henki.fr>
5 years agobpo-41187: Convert the _msi module to Argument Clinic (GH-21264)
Serhiy Storchaka [Wed, 1 Jul 2020 18:53:07 +0000 (21:53 +0300)] 
bpo-41187: Convert the _msi module to Argument Clinic (GH-21264)

5 years agoAdd lysnikolaou to CODEOWNERS for the new parser (GH-21252)
Lysandros Nikolaou [Wed, 1 Jul 2020 09:47:35 +0000 (12:47 +0300)] 
Add lysnikolaou to CODEOWNERS for the new parser (GH-21252)

5 years agoDoc: Minor fix to init config C API documentation (GH-21198)
tomerv [Wed, 1 Jul 2020 09:32:54 +0000 (12:32 +0300)] 
Doc: Minor fix to init config C API documentation (GH-21198)

Co-authored-by: Tomer Vromen <tomer.vromen@intel.com>
5 years agobpo-41161 Add news entry for libmpdec-2.5.0 (GH-21243)
Stefan Krah [Tue, 30 Jun 2020 18:58:57 +0000 (20:58 +0200)] 
bpo-41161 Add news entry for libmpdec-2.5.0  (GH-21243)

5 years agobpo-39314: Closes parenthesis when autocompleting for functions that take no argument...
Rémi Lapeyre [Tue, 30 Jun 2020 13:48:15 +0000 (15:48 +0200)] 
bpo-39314: Closes parenthesis when autocompleting for functions that take no arguments (GH-20562)

5 years agobpo-40275: Use new test.support helper submodules in tests (GH-21169)
Hai Shi [Tue, 30 Jun 2020 13:46:31 +0000 (21:46 +0800)] 
bpo-40275: Use new test.support helper submodules in tests (GH-21169)

5 years agobpo-40275: Use new test.support helper submodules in tests (GH-21219)
Hai Shi [Tue, 30 Jun 2020 13:46:06 +0000 (21:46 +0800)] 
bpo-40275: Use new test.support helper submodules in tests (GH-21219)

5 years agoUpdate FAQ release schedule and estimated users (GH-21180)
E-Paine [Tue, 30 Jun 2020 09:42:43 +0000 (11:42 +0200)] 
Update FAQ release schedule and estimated users (GH-21180)

Update FAQ to include:
* The new yearly release schedule from PEP 602
* Estimated users from "tens of thousands" to "millions"

5 years agobpo-41100: fix _decimal for arm64 Mac OS (GH-21228)
Lawrence D'Anna [Tue, 30 Jun 2020 09:15:46 +0000 (02:15 -0700)] 
bpo-41100: fix _decimal for arm64 Mac OS (GH-21228)

Patch by Lawrence Danna.

5 years agobpo-41142: Add support of non-ASCII paths for CAB files. (GH-21195)
Serhiy Storchaka [Tue, 30 Jun 2020 08:56:03 +0000 (11:56 +0300)] 
bpo-41142: Add support of non-ASCII paths for CAB files. (GH-21195)

* The path to the CAB file can be non-ASCII.
* Paths of added files can be non-ASCII.

5 years agobpo-41158: IDLE: rewrite the code for handling file encoding (GH-21215)
Serhiy Storchaka [Tue, 30 Jun 2020 06:33:22 +0000 (09:33 +0300)] 
bpo-41158: IDLE: rewrite the code for handling file encoding (GH-21215)

5 years agobpo-36346: Raise DeprecationWarning when creating legacy Unicode (GH-20933)
Inada Naoki [Tue, 30 Jun 2020 06:26:56 +0000 (15:26 +0900)] 
bpo-36346: Raise DeprecationWarning when creating legacy Unicode (GH-20933)

5 years agobpo-36346: Prepare for removing the legacy Unicode C API (AC only). (GH-21223)
Serhiy Storchaka [Tue, 30 Jun 2020 06:03:15 +0000 (09:03 +0300)] 
bpo-36346: Prepare for removing the legacy Unicode C API (AC only). (GH-21223)

5 years agobpo-41123: Remove PyUnicode_AsUnicodeCopy (GH-21209)
Inada Naoki [Tue, 30 Jun 2020 03:23:07 +0000 (12:23 +0900)] 
bpo-41123: Remove PyUnicode_AsUnicodeCopy (GH-21209)

5 years agobpo-41152: IDLE: always use UTF-8 for standard IO streams (GH-21214)
Serhiy Storchaka [Tue, 30 Jun 2020 00:18:22 +0000 (03:18 +0300)] 
bpo-41152: IDLE: always use UTF-8 for standard IO streams (GH-21214)

5 years agobpo-23427: Add sys.orig_argv attribute (GH-20729)
Victor Stinner [Mon, 29 Jun 2020 22:49:03 +0000 (00:49 +0200)] 
bpo-23427: Add sys.orig_argv attribute (GH-20729)

Add sys.orig_argv attribute: the list of the original command line
arguments passed to the Python executable.

Rename also PyConfig._orig_argv to PyConfig.orig_argv and
document it.

5 years agobpo-40924: Ensure importlib.resources.path returns an extant path (GH-20857)
Jason R. Coombs [Mon, 29 Jun 2020 20:59:22 +0000 (16:59 -0400)] 
bpo-40924: Ensure importlib.resources.path returns an extant path (GH-20857)

5 years agobpo-37999: Simplify the conversion code for %c, %d, %x, etc. (GH-20437)
Serhiy Storchaka [Mon, 29 Jun 2020 19:36:41 +0000 (22:36 +0300)] 
bpo-37999: Simplify the conversion code for %c, %d, %x, etc. (GH-20437)

Since PyLong_AsLong() no longer use __int__, explicit call
of PyNumber_Index() before it is no longer needed.

5 years agoFix typo in Object/listobject.c (GH-21079)
Jeong Ukjae [Mon, 29 Jun 2020 18:56:56 +0000 (03:56 +0900)] 
Fix typo in Object/listobject.c (GH-21079)

5 years agobpo-41004: Resolve hash collisions for IPv4Interface and IPv6Interface (GH-21033)
Ravi Teja P [Mon, 29 Jun 2020 17:39:29 +0000 (23:09 +0530)] 
bpo-41004: Resolve hash collisions for IPv4Interface and IPv6Interface (GH-21033)

The __hash__() methods of classes IPv4Interface and IPv6Interface had issue
of generating constant hash values of 32 and 128 respectively causing hash collisions.
The fix uses the hash() function to generate hash values for the objects
instead of XOR operation

5 years agoUpdate libmpdec license dates (GH-21216)
Stefan Krah [Mon, 29 Jun 2020 12:03:01 +0000 (14:03 +0200)] 
Update libmpdec license dates (GH-21216)

5 years agobpo-41048: mimetypes should read the rule file using UTF-8, not the locale encoding...
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) [Mon, 29 Jun 2020 08:36:48 +0000 (14:06 +0530)] 
bpo-41048: mimetypes should read the rule file using UTF-8, not the locale encoding (GH-20998)

5 years agobpo-41123: Remove PyLong_FromUnicode() (GH-21204)
Inada Naoki [Mon, 29 Jun 2020 04:00:43 +0000 (13:00 +0900)] 
bpo-41123: Remove PyLong_FromUnicode() (GH-21204)

5 years agobpo-41123: Remove PyUnicode_GetMax() (GH-21192)
Inada Naoki [Mon, 29 Jun 2020 01:46:51 +0000 (10:46 +0900)] 
bpo-41123: Remove PyUnicode_GetMax() (GH-21192)

5 years agobpo-40874 Update the required libmpdec version for the decimal module (GH-21202)
Stefan Krah [Sun, 28 Jun 2020 20:01:01 +0000 (22:01 +0200)] 
bpo-40874 Update the required libmpdec version for the decimal module (GH-21202)

5 years agobpo-41138: Fix trace CLI for non-UTF-8 files. (GH-21177)
Serhiy Storchaka [Sun, 28 Jun 2020 10:34:22 +0000 (13:34 +0300)] 
bpo-41138: Fix trace CLI for non-UTF-8 files. (GH-21177)

Fix also a resource warning when store counts and module info.

5 years agobpo-31082: Use "iterable" in the docstring for functools.reduce() (GH-20796)
Zackery Spytz [Sun, 28 Jun 2020 06:40:54 +0000 (00:40 -0600)] 
bpo-31082: Use "iterable" in the docstring for functools.reduce() (GH-20796)

5 years agobpo-41144: Fix IDLE open module error (#21182)
E-Paine [Sun, 28 Jun 2020 06:02:47 +0000 (08:02 +0200)] 
bpo-41144: Fix IDLE open module error (#21182)

Could not open os.path.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
5 years agobpo-38870: Extend subject of ast.unparse warnings (GH-21053)
Batuhan Taskaya [Sun, 28 Jun 2020 01:11:43 +0000 (04:11 +0300)] 
bpo-38870: Extend subject of ast.unparse warnings (GH-21053)

- Mention that some compiler optimizations might not roundtrip
exactly (such as constant tuples and frozensets).

- Add a warning about it might raise RecursionError on very
complex expressions due to recursive unparsing aspect of ast.unparse

5 years agobpo-39151: Simplify DFS in the assembler (GH-17733)
Pablo Galindo [Sun, 28 Jun 2020 00:55:47 +0000 (01:55 +0100)] 
bpo-39151: Simplify DFS in the assembler (GH-17733)

5 years agobpo-35975: Only use cf_feature_version if PyCF_ONLY_AST in cf_flags (#21021)
Guido van Rossum [Sun, 28 Jun 2020 00:33:49 +0000 (17:33 -0700)] 
bpo-35975: Only use cf_feature_version if PyCF_ONLY_AST in cf_flags (#21021)

5 years agobpo-41076: Pre-feed the parser with the f-string expression location (GH-21054)
Lysandros Nikolaou [Sat, 27 Jun 2020 23:41:48 +0000 (02:41 +0300)] 
bpo-41076: Pre-feed the parser with the f-string expression location (GH-21054)

This commit changes the parsing of f-string expressions with the new parser. The parser gets pre-fed with the location of the expression itself (not the f-string, which was what we were doing before). This allows us to completely skip the shifting of the AST nodes after the parsing is completed.

5 years agoAdd soft keywords to the documentation (GH-21185)
Pablo Galindo [Sat, 27 Jun 2020 19:00:29 +0000 (20:00 +0100)] 
Add soft keywords to the documentation (GH-21185)

5 years agobpo-40769: Allow extra surrounding parentheses for invalid annotated assignment rule...
Batuhan Taskaya [Sat, 27 Jun 2020 18:33:08 +0000 (21:33 +0300)] 
bpo-40769: Allow extra surrounding parentheses for invalid annotated assignment rule (GH-20387)

5 years agobpo-41132: Use pymalloc allocator in the f-string parser (GH-21173)
Lysandros Nikolaou [Sat, 27 Jun 2020 17:47:00 +0000 (20:47 +0300)] 
bpo-41132: Use pymalloc allocator in the f-string parser (GH-21173)

5 years agoRemove dead code from tracemalloc (GH-21029)
Christian Heimes [Sat, 27 Jun 2020 12:13:47 +0000 (14:13 +0200)] 
Remove dead code from tracemalloc (GH-21029)

tracemalloc_get_frame() checked filename == NULL two times in a row.

Signed-off-by: Christian Heimes <christian@python.org>
5 years agobpo-41123: Remove Py_UNICODE_str* functions (GH-21164)
Inada Naoki [Sat, 27 Jun 2020 09:22:09 +0000 (18:22 +0900)] 
bpo-41123: Remove Py_UNICODE_str* functions (GH-21164)

They are undocumented and deprecated since Python 3.3.

5 years agobpo-41100: clarify NEWS item about macOS 11 support (GH-21174)
Ned Deily [Sat, 27 Jun 2020 08:44:56 +0000 (04:44 -0400)] 
bpo-41100: clarify NEWS item about macOS 11 support (GH-21174)

5 years agobpo-41084: Adjust message when an f-string expression causes a SyntaxError (GH-21084)
Lysandros Nikolaou [Fri, 26 Jun 2020 11:24:05 +0000 (14:24 +0300)] 
bpo-41084: Adjust message when an f-string expression causes a SyntaxError (GH-21084)

Prefix the error message with `fstring: `, when parsing an f-string expression throws a `SyntaxError`.

5 years agoImprove code organization for the random module (GH-21161)
Raymond Hettinger [Fri, 26 Jun 2020 00:03:50 +0000 (17:03 -0700)] 
Improve code organization for the random module (GH-21161)

5 years agobpo-41119: Output correct error message for list/tuple followed by colon (GH-21160)
Lysandros Nikolaou [Thu, 25 Jun 2020 23:22:36 +0000 (02:22 +0300)] 
bpo-41119: Output correct error message for list/tuple followed by colon (GH-21160)

5 years agobpo-41103: Remove old buffer protocol support (#21117)
Inada Naoki [Thu, 25 Jun 2020 23:07:22 +0000 (08:07 +0900)] 
bpo-41103: Remove old buffer protocol support (#21117)

They are deprecated since Python 3.0.

5 years agoFix typo in functions.rst (GH-21131)
Ram Rachum [Thu, 25 Jun 2020 21:50:37 +0000 (00:50 +0300)] 
Fix typo in functions.rst (GH-21131)

5 years agobpo-40275: Use new test.support helper submodules in tests (GH-21151)
Hai Shi [Thu, 25 Jun 2020 17:17:57 +0000 (01:17 +0800)] 
bpo-40275: Use new test.support helper submodules in tests (GH-21151)

Use new test.support helper submodules in tests:

* distutils tests
* test_buffer
* test_compile
* test_filecmp
* test_fileinput
* test_readline
* test_smtpnet
* test_structmembers
* test_tools

5 years agobpo-41069: Make TESTFN and the CWD for tests containing non-ascii characters. (GH...
Serhiy Storchaka [Thu, 25 Jun 2020 14:56:31 +0000 (17:56 +0300)] 
bpo-41069: Make TESTFN and the CWD for tests containing non-ascii characters. (GH-21035)

5 years agoBPO-41100: Support macOS 11 when building (GH-21113)
Ronald Oussoren [Thu, 25 Jun 2020 14:55:48 +0000 (16:55 +0200)] 
BPO-41100: Support macOS 11 when building (GH-21113)

5 years agobpo-40939: run autoreconf to fix configure{,.ac} disparity (GH-21152)
Ned Deily [Thu, 25 Jun 2020 14:46:44 +0000 (10:46 -0400)] 
bpo-40939: run autoreconf to fix configure{,.ac} disparity (GH-21152)

5 years agobpo-40275: Use new test.support helper submodules in tests (GH-20824)
Hai Shi [Thu, 25 Jun 2020 12:15:40 +0000 (20:15 +0800)] 
bpo-40275: Use new test.support helper submodules in tests (GH-20824)

5 years agobpo-40521: Optimize PyBytes_FromStringAndSize(str, 0) (GH-21142)
Victor Stinner [Thu, 25 Jun 2020 12:07:40 +0000 (14:07 +0200)] 
bpo-40521: Optimize PyBytes_FromStringAndSize(str, 0) (GH-21142)

Always create the empty bytes string singleton.

Optimize PyBytes_FromStringAndSize(str, 0): it no longer has to check
if the empty string singleton was created or not, it is always
available.

Add functions:

* _PyBytes_Init()
* bytes_get_empty(), bytes_new_empty()
* bytes_create_empty_string_singleton()
* unicode_create_empty_string_singleton()

_Py_unicode_state: rename empty structure member to empty_string.

5 years agobpo-41113: Fix test_warnings on non-Western locales. (GH-21143)
Serhiy Storchaka [Thu, 25 Jun 2020 11:43:33 +0000 (14:43 +0300)] 
bpo-41113: Fix test_warnings on non-Western locales. (GH-21143)

5 years agobpo-41112: Fix test_peg_generator on non-UTF-8 locales. (GH-21138)
Serhiy Storchaka [Thu, 25 Jun 2020 11:31:30 +0000 (14:31 +0300)] 
bpo-41112: Fix test_peg_generator on non-UTF-8 locales. (GH-21138)

5 years agobpo-40204: Pin Sphinx version to 2.3.1 in ``Doc/Makefile``. (GH-21141)
Ned Deily [Thu, 25 Jun 2020 11:22:10 +0000 (07:22 -0400)] 
bpo-40204: Pin Sphinx version to 2.3.1 in ``Doc/Makefile``. (GH-21141)

5 years agobpo-35773: Fix test_bdb on non-UTF-8 locales. (GH-21136)
Serhiy Storchaka [Thu, 25 Jun 2020 11:21:25 +0000 (14:21 +0300)] 
bpo-35773: Fix test_bdb on non-UTF-8 locales. (GH-21136)

5 years agobpo-40275: Use new test.support helper submodules in tests (GH-20849)
Hai Shi [Thu, 25 Jun 2020 10:38:51 +0000 (18:38 +0800)] 
bpo-40275: Use new test.support helper submodules in tests (GH-20849)

5 years agobpo-39580: add check for CLI installation on macOS (GH-20271)
Rick Heil [Thu, 25 Jun 2020 10:37:40 +0000 (06:37 -0400)] 
bpo-39580: add check for CLI installation on macOS (GH-20271)

Adds a simple check for whether or not the package is being installed in the GUI or using installer on the command line. This addresses an issue where CLI-based software management tools (such as Munki) unexpectedly open Finder windows into a GUI session during installation runs.

5 years agoForward port macOS installer updates from 3.7/3.8/3.9 (GH-21132)
Ned Deily [Thu, 25 Jun 2020 08:51:46 +0000 (04:51 -0400)] 
Forward port macOS installer updates from 3.7/3.8/3.9 (GH-21132)

5 years agobpo-41074: Fix support of non-ASCII names and SQL in msilib. (GH-21126)
Serhiy Storchaka [Thu, 25 Jun 2020 08:37:12 +0000 (11:37 +0300)] 
bpo-41074: Fix support of non-ASCII names and SQL in msilib. (GH-21126)

* Fix support of non-ASCII names in functions OpenDatabase()
  and init_database().
* Fix support of non-ASCII SQL in method Database.OpenView().

5 years agobpo-41002: Optimize HTTPResponse.read with a given amount (GH-20943)
Bruce Merry [Thu, 25 Jun 2020 06:30:21 +0000 (08:30 +0200)] 
bpo-41002: Optimize HTTPResponse.read with a given amount (GH-20943)

I've done the implementation for both non-chunked and chunked reads. I haven't benchmarked chunked reads because I don't currently have a convenient way to generate a high-bandwidth chunked stream, but I don't see any reason that it shouldn't enjoy the same benefits that the non-chunked case does. I've used the benchmark attached to the bpo bug to verify that performance now matches the unsized read case.

Automerge-Triggered-By: @methane
5 years agobpo-40773: Fix rendering for 'retval' on the pdb page (GH-21081)
Arisaka97 [Wed, 24 Jun 2020 21:50:49 +0000 (05:50 +0800)] 
bpo-40773: Fix rendering for 'retval' on the pdb page (GH-21081)

Automerge-Triggered-By: @merwok
5 years agobpo-41094: Additional fix for PYTHONSTARTUP. (GH-21119)
Serhiy Storchaka [Wed, 24 Jun 2020 16:46:30 +0000 (19:46 +0300)] 
bpo-41094: Additional fix for PYTHONSTARTUP. (GH-21119)

5 years agobpo-41038: Fix non-ASCII string corruption in Win32 resource files (GH-20985)
Nikita Nemkin [Wed, 24 Jun 2020 16:27:42 +0000 (21:27 +0500)] 
bpo-41038: Fix non-ASCII string corruption in Win32 resource files (GH-20985)

In absence of explicit declaration, resource compiler uses system
codepage. When this codepage is DBCS or UTF-8, Python's copyright
string is corrupted, because it contains copyright sign encoded
as \xA9.

The fix is to explicitly declare codepage 1252.

5 years agobpo-40521: Always create the empty tuple singleton (GH-21116)
Victor Stinner [Wed, 24 Jun 2020 13:21:54 +0000 (15:21 +0200)] 
bpo-40521: Always create the empty tuple singleton (GH-21116)

Py_InitializeFromConfig() now always creates the empty tuple
singleton as soon as possible.

Optimize PyTuple_New(0): it no longer has to check if the empty tuple
was created or not, it is always creatd.

* Add tuple_create_empty_tuple_singleton() function.
* Add tuple_get_empty() function.
* Remove state parameter of tuple_alloc().

5 years agoFix typo in dataclasses module (GH-21109)
Jürgen Gmach [Wed, 24 Jun 2020 10:46:52 +0000 (12:46 +0200)] 
Fix typo in dataclasses module (GH-21109)

Automerge-Triggered-By: @matrixise
5 years agobpo-41094: Fix decoding errors with audit when open files. (GH-21095)
Serhiy Storchaka [Wed, 24 Jun 2020 05:46:05 +0000 (08:46 +0300)] 
bpo-41094: Fix decoding errors with audit when open files. (GH-21095)

5 years agobpo-40707: Document that Popen.communicate sets the returncode attribute (GH-20283)
Gareth Rees [Wed, 24 Jun 2020 03:12:10 +0000 (04:12 +0100)] 
bpo-40707: Document that Popen.communicate sets the returncode attribute (GH-20283)

5 years agobpo-40521: Fix _PyContext_Fini() (GH-21103)
Victor Stinner [Wed, 24 Jun 2020 01:21:15 +0000 (03:21 +0200)] 
bpo-40521: Fix _PyContext_Fini() (GH-21103)

Only clear _token_missing in the main interpreter.

5 years agobpo-40521: Make Unicode latin1 singletons per interpreter (GH-21101)
Victor Stinner [Wed, 24 Jun 2020 00:22:21 +0000 (02:22 +0200)] 
bpo-40521: Make Unicode latin1 singletons per interpreter (GH-21101)

Each interpreter now has its own Unicode latin1 singletons.

Remove "ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS"
and "ifdef LATIN1_SINGLETONS": always enable latin1 singletons.

Optimize unicode_result_ready(): only attempt to get a latin1
singleton for PyUnicode_1BYTE_KIND.

5 years agobpo-41070: Simplify pyshellext.dll build (GH-21037)
Nikita Nemkin [Tue, 23 Jun 2020 23:32:23 +0000 (04:32 +0500)] 
bpo-41070: Simplify pyshellext.dll build (GH-21037)

Replace MIDL-generated file with manual GUID definition.
Use the same .def file for release and debug builds.
Update setup build to support latest toolset

5 years agobpo-40521: Optimize PyUnicode_New(0, maxchar) (GH-21099)
Victor Stinner [Tue, 23 Jun 2020 22:34:07 +0000 (00:34 +0200)] 
bpo-40521: Optimize PyUnicode_New(0, maxchar) (GH-21099)

Functions of unicodeobject.c, like PyUnicode_New(), no longer check
if the empty Unicode singleton has been initialized or not. Consider
that it is always initialized. The Unicode API must not be used
before _PyUnicode_Init() or after _PyUnicode_Fini().

5 years agobpo-40521: Make empty Unicode string per interpreter (GH-21096)
Victor Stinner [Tue, 23 Jun 2020 22:10:40 +0000 (00:10 +0200)] 
bpo-40521: Make empty Unicode string per interpreter (GH-21096)

Each interpreter now has its own empty Unicode string singleton.

5 years agobpo-31938: Fix default-value signatures of several functions in the select module...
Anthony Sottile [Tue, 23 Jun 2020 21:49:56 +0000 (14:49 -0700)] 
bpo-31938: Fix default-value signatures of several functions in the select module (GH-21066)

5 years agobpo-40521: Make MemoryError free list per interpreter (GH-21086)
Victor Stinner [Tue, 23 Jun 2020 20:55:46 +0000 (22:55 +0200)] 
bpo-40521: Make MemoryError free list per interpreter (GH-21086)

Each interpreter now has its own MemoryError free list: it is not
longer shared by all interpreters.

Add _Py_exc_state structure and PyInterpreterState.exc_state member.
Move also errnomap into _Py_exc_state.

5 years agobpo-41039: Simplify python3.dll build (GH-20989)
Nikita Nemkin [Tue, 23 Jun 2020 19:33:23 +0000 (00:33 +0500)] 
bpo-41039: Simplify python3.dll build (GH-20989)

Use linker comment #pragma and preprocessor for re-exporting stable
API functions and variables.

Module definition file, custom build targets and entry point code
become unnecessary and can be removed.

This change also fixes missing _PyErr_BadInternalCall export on x86.

5 years agobpo-41054: Simplify resource compilation on Windows (GH-21004)
Nikita Nemkin [Tue, 23 Jun 2020 19:05:57 +0000 (00:05 +0500)] 
bpo-41054: Simplify resource compilation on Windows (GH-21004)

Remove auto-generated resource header. Pass definitions required
by resource files (ORIGINAL_FILENAME and FIELD3) directly to resource
compiler.

Remove unused MS_DLL_ID resource string and related dead code.

5 years agoOn path with known exact float, extract the double with the fast macro. (GH-21072)
Raymond Hettinger [Tue, 23 Jun 2020 18:45:25 +0000 (11:45 -0700)] 
On path with known exact float, extract the double with the fast macro. (GH-21072)

5 years agobpo-41089: Filters and other issues in Visual Studio projects (GH-21070)
Nikita Nemkin [Tue, 23 Jun 2020 18:41:49 +0000 (23:41 +0500)] 
bpo-41089: Filters and other issues in Visual Studio projects (GH-21070)

* Add missing header files to pythoncore.
* Add missing file filters ("Resource Files" in particular) to
  all projects.
* Add new sub-filters for private headers in pythoncore and
  for 3rd party source files.
* Add missing _zoneinfo configurations in pcbuild.sln.
* Update bdist_wininst with the new zlib location.

5 years agobpo-40521: Empty frozenset is no longer a singleton (GH-21085)
Raymond Hettinger [Tue, 23 Jun 2020 15:42:55 +0000 (08:42 -0700)] 
bpo-40521: Empty frozenset is no longer a singleton (GH-21085)

* Revert "bpo-40521: Make the empty frozenset per interpreter (GH-21068)"

This reverts commit 261cfedf7657a515e04428bba58eba2a9bb88208.

* bpo-40521: Empty frozensets are no longer singletons

* Complete the removal of the frozenset singleton

5 years agobpo-40521: Cleanup code of free lists (GH-21082)
Victor Stinner [Tue, 23 Jun 2020 14:40:40 +0000 (16:40 +0200)] 
bpo-40521: Cleanup code of free lists (GH-21082)

Add get_xxx_state() function to factorize duplicated code.

5 years agobpo-41065: Use zip-strict in zoneinfo (GH-21031)
Ram Rachum [Tue, 23 Jun 2020 14:21:26 +0000 (17:21 +0300)] 
bpo-41065: Use zip-strict in zoneinfo (GH-21031)

5 years agoCall _PyWarnings_InitState() in subinterpreters (GH-21078)
Victor Stinner [Tue, 23 Jun 2020 13:55:45 +0000 (15:55 +0200)] 
Call _PyWarnings_InitState() in subinterpreters (GH-21078)

Py_InitializeFromConfig() now calls also _PyWarnings_InitState() in
subinterpreters.

5 years agobpo-36710: Pass tstate explicitly in abstract.c (GH-21075)
Victor Stinner [Tue, 23 Jun 2020 13:55:06 +0000 (15:55 +0200)] 
bpo-36710: Pass tstate explicitly in abstract.c (GH-21075)

In functions calling more than one PyErr function, get tstate and
then pass it explicitly.

5 years agobpo-40521: Make bytes singletons per interpreter (GH-21074)
Victor Stinner [Tue, 23 Jun 2020 13:54:35 +0000 (15:54 +0200)] 
bpo-40521: Make bytes singletons per interpreter (GH-21074)

Each interpreter now has its own empty bytes string and single byte
character singletons.

Replace STRINGLIB_EMPTY macro with STRINGLIB_GET_EMPTY() macro.

5 years agobpo-40521: Remove freelist from collections.deque() (GH-21073)
Raymond Hettinger [Tue, 23 Jun 2020 13:50:15 +0000 (06:50 -0700)] 
bpo-40521: Remove freelist from collections.deque() (GH-21073)

5 years agobpo-41085: Fix array.array.index() on 64-bit Windows (GH-21071)
WildCard65 [Tue, 23 Jun 2020 13:21:16 +0000 (09:21 -0400)] 
bpo-41085: Fix array.array.index() on 64-bit Windows (GH-21071)

Fix integer overflow in the :meth:`array.array.index` method on 64-bit Windows
for index larger than ``2**31``.

5 years agobpo-40521: Make the empty frozenset per interpreter (GH-21068)
Victor Stinner [Tue, 23 Jun 2020 12:07:52 +0000 (14:07 +0200)] 
bpo-40521: Make the empty frozenset per interpreter (GH-21068)

Each interpreter now has its own empty frozenset singleton.

5 years agobpo-40521: Make dict free lists per-interpreter (GH-20645)
Victor Stinner [Tue, 23 Jun 2020 09:33:18 +0000 (11:33 +0200)] 
bpo-40521: Make dict free lists per-interpreter (GH-20645)

Each interpreter now has its own dict free list:

* Move dict free lists into PyInterpreterState.
* Move PyDict_MAXFREELIST define to pycore_interp.h
* Add _Py_dict_state structure.
* Add tstate parameter to _PyDict_ClearFreeList() and _PyDict_Fini().
* In debug mode, ensure that the dict free lists are not used after
  _PyDict_Fini() is called.
* Remove "#ifdef EXPERIMENTAL_ISOLATED_SUBINTERPRETERS".

5 years agoSmall clean-ups for the random module (GH-21038)
Raymond Hettinger [Tue, 23 Jun 2020 02:38:59 +0000 (19:38 -0700)] 
Small clean-ups for the random module (GH-21038)

5 years agoImprove asyncio.loop.call_soon() documentation (GH-20883)
Roger Iyengar [Tue, 23 Jun 2020 02:16:00 +0000 (22:16 -0400)] 
Improve asyncio.loop.call_soon() documentation (GH-20883)

* Add a glossary entry for the term "callback"
* Link to it in loop.call_soon() and in the "Concurrency and Multithreading" section

Co-authored-by: Kyle Stanley <aeros167@gmail.com>
5 years agobpo-41078: Fix bltinmodule.c with Py_TRACE_REFS (GH-21058)
Victor Stinner [Mon, 22 Jun 2020 16:02:49 +0000 (18:02 +0200)] 
bpo-41078: Fix bltinmodule.c with Py_TRACE_REFS (GH-21058)

Add pycore_object.h include to fix bltinmodule.c when Py_TRACE_REFS
macro is defined.