]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
5 years agobpo-37534: Allow adding Standalone Document Declaration when generating XML documents...
Henry Harutyunyan [Sat, 29 Feb 2020 08:22:19 +0000 (12:22 +0400)] 
bpo-37534: Allow adding Standalone Document Declaration when generating XML documents (GH-14912)

5 years agobpo-39769: Fix compileall ddir for subpkgs. (GH-18676)
Gregory P. Smith [Sat, 29 Feb 2020 01:28:37 +0000 (17:28 -0800)] 
bpo-39769: Fix compileall ddir for subpkgs. (GH-18676)

Fix compileall.compile_dir() ddir= behavior on sub-packages.

Fixes compileall.compile_dir's ddir parameter and compileall command
line flag `-d` to no longer write the wrong pathname to the generated
pyc file for submodules beneath the root of the directory tree being
compiled.  This fixes a regression introduced with Python 3.5.

Also marks the _new_ in 3.9 from PR #16012 parameters to compile_dir as keyword only (as that is the only way they will be used) and fixes an omission of them in one place from the docs.

5 years agobpo-39789: Update Windows release build machines to VS 2019 (GH-18695)
Steve Dower [Sat, 29 Feb 2020 00:21:46 +0000 (00:21 +0000)] 
bpo-39789: Update Windows release build machines to VS 2019 (GH-18695)

Also fixes some potential Nuget build issues.

5 years agobpo-39718: add TYPE_IGNORE, COLONEQUAL to py38 changes in token (GH-18598)
Shantanu [Fri, 28 Feb 2020 23:25:36 +0000 (15:25 -0800)] 
bpo-39718: add TYPE_IGNORE, COLONEQUAL to py38 changes in token (GH-18598)

5 years agobpo-13790: Change 'string' to 'specification' in format doc (GH-18690)
Terry Jan Reedy [Fri, 28 Feb 2020 19:59:16 +0000 (14:59 -0500)] 
bpo-13790: Change 'string' to 'specification' in format doc (GH-18690)

5 years agobpo-39781: Do not jump when select in IDLE codecontext (GH-18683)
Terry Jan Reedy [Fri, 28 Feb 2020 18:22:55 +0000 (13:22 -0500)] 
bpo-39781: Do not jump when select in IDLE codecontext (GH-18683)

Previously, the button-up part of selecting with a mouse was treated as a click
that meant 'jump' to this line, which modified the context and undid the selection

5 years agobpo-12915: Improve Unicode support for package names and attributes. (GH-18517)
Vinay Sajip [Fri, 28 Feb 2020 14:26:27 +0000 (14:26 +0000)] 
bpo-12915: Improve Unicode support for package names and attributes. (GH-18517)

5 years agoFuzz struct.unpack and catch RecursionError in re.compile (GH-18679)
Ammar Askar [Fri, 28 Feb 2020 07:05:02 +0000 (02:05 -0500)] 
Fuzz struct.unpack and catch RecursionError in re.compile (GH-18679)

5 years agocloses bpo-39721: Fix constness of members of tok_state struct. (GH-18600)
Andy Lester [Fri, 28 Feb 2020 02:44:52 +0000 (20:44 -0600)] 
closes bpo-39721: Fix constness of members of tok_state struct. (GH-18600)

The function PyTokenizer_FromUTF8 from Parser/tokenizer.c had a comment:

    /* XXX: constify members. */

This patch addresses that.

In the tok_state struct:
    * end and start were non-const but could be made const
    * str and input were const but should have been non-const

Changes to support this include:
    * decode_str() now returns a char * since it is allocated.
    * PyTokenizer_FromString() and PyTokenizer_FromUTF8() each creates a
        new char * for an allocate string instead of reusing the input
        const char *.
    * PyTokenizer_Get() and tok_get() now take const char ** arguments.
    * Various local vars are const or non-const accordingly.

I was able to remove five casts that cast away constness.

5 years agobpo-39704: Explicitly pass the path to codecov config (GH-18680)
Ammar Askar [Thu, 27 Feb 2020 23:08:30 +0000 (18:08 -0500)] 
bpo-39704: Explicitly pass the path to codecov config (GH-18680)

5 years agobpo-39609: set the thread_name_prefix for the default asyncio executor (GH-18458)
Markus Mohrhard [Thu, 27 Feb 2020 20:01:47 +0000 (04:01 +0800)] 
bpo-39609: set the thread_name_prefix for the default asyncio executor (GH-18458)

Just a small debugging improvement to identify the asyncio executor threads.

5 years agobpo-39087: Optimize PyUnicode_AsUTF8AndSize() (GH-18327)
Inada Naoki [Thu, 27 Feb 2020 04:48:59 +0000 (13:48 +0900)] 
bpo-39087: Optimize PyUnicode_AsUTF8AndSize() (GH-18327)

Avoid using temporary bytes object.

5 years agoSuppress the hang (#18457)
Andrew Svetlov [Wed, 26 Feb 2020 22:15:12 +0000 (00:15 +0200)] 
Suppress the hang (#18457)

5 years agobpo-36144: Document PEP 584 (GH-18659)
Brandt Bucher [Wed, 26 Feb 2020 20:01:48 +0000 (12:01 -0800)] 
bpo-36144: Document PEP 584 (GH-18659)

5 years agobpo-39699: Don't silence make on Azure and Github CIs (GH-18583)
Ammar Askar [Wed, 26 Feb 2020 19:21:41 +0000 (14:21 -0500)] 
bpo-39699: Don't silence make on Azure and Github CIs (GH-18583)

5 years agobpo-34788: Add support for scoped IPv6 addresses (GH-13772)
opavlyuk [Wed, 26 Feb 2020 14:33:57 +0000 (16:33 +0200)] 
bpo-34788: Add support for scoped IPv6 addresses (GH-13772)

Automerge-Triggered-By: @asvetlov
5 years agobpo-39737: Remove code repitition in list_richcompare (GH-18638)
sweeneyde [Wed, 26 Feb 2020 07:00:35 +0000 (02:00 -0500)] 
bpo-39737: Remove code repitition in list_richcompare (GH-18638)

I may speed up list comparison on some platforms.

5 years agoDoc: int -> int or Py_ssize_t (GH-18663)
Inada Naoki [Wed, 26 Feb 2020 06:04:39 +0000 (15:04 +0900)] 
Doc: int -> int or Py_ssize_t (GH-18663)

5 years agoPost 3.9.0a4
Łukasz Langa [Wed, 26 Feb 2020 00:31:04 +0000 (01:31 +0100)] 
Post 3.9.0a4

5 years agoMerge tag 'v3.9.0a4'
Łukasz Langa [Wed, 26 Feb 2020 00:30:02 +0000 (01:30 +0100)] 
Merge tag 'v3.9.0a4'

Python 3.9.0a4

5 years agoPython 3.9.0a4 v3.9.0a4
Łukasz Langa [Tue, 25 Feb 2020 12:21:47 +0000 (13:21 +0100)] 
Python 3.9.0a4

5 years agobpo-38403: Update nuspec file for deprecated field and git repository (GH-18657)
Steve Dower [Tue, 25 Feb 2020 20:07:00 +0000 (20:07 +0000)] 
bpo-38403: Update nuspec file for deprecated field and git repository (GH-18657)

5 years agobpo-36144: Dictionary Union (PEP 584) (#12088)
Brandt Bucher [Tue, 25 Feb 2020 03:47:34 +0000 (19:47 -0800)] 
bpo-36144: Dictionary Union (PEP 584) (#12088)

5 years agobpo-30566: Fix IndexError when using punycode codec (GH-18632)
Berker Peksag [Tue, 25 Feb 2020 03:19:03 +0000 (06:19 +0300)] 
bpo-30566: Fix IndexError when using punycode codec (GH-18632)

Trying to decode an invalid string with the punycode codec
shoud raise UnicodeError.

5 years agobpo-39128: Added algorithm description (GH-18624)
idomic [Mon, 24 Feb 2020 14:59:40 +0000 (09:59 -0500)] 
bpo-39128: Added algorithm description (GH-18624)

# [bpo-39128](https://bugs.python.org/issue39128): happy eyeballs description

# [3.9] 39128 - happy eyeballs description (GH-18624)
# [3.8] 39128 - happy eyeballs description (GH-18624)

https://bugs.python.org/issue39128

5 years agoAdd note to Mac installer ReadMe about macOS 10.15 Gatekeeper changes. (GH-18648)
Ned Deily [Mon, 24 Feb 2020 13:00:58 +0000 (08:00 -0500)] 
Add note to Mac installer ReadMe about macOS 10.15 Gatekeeper changes. (GH-18648)

5 years agoGive proper credit for figuring out and writing PEP-3118 tests. (#18644)
Stefan Krah [Mon, 24 Feb 2020 11:24:43 +0000 (12:24 +0100)] 
Give proper credit for figuring out and writing PEP-3118 tests. (#18644)

5 years agoGive proper credits for the memoryview implementation. (#18626)
Stefan Krah [Mon, 24 Feb 2020 10:15:26 +0000 (11:15 +0100)] 
Give proper credits for the memoryview implementation. (#18626)

5 years agocloses bpo-39736: const strings in Modules/_datetimemodule.c and Modules/_testbuffer...
Andy Lester [Mon, 24 Feb 2020 06:40:43 +0000 (00:40 -0600)] 
closes bpo-39736: const strings in Modules/_datetimemodule.c and Modules/_testbuffer.c (GH-18637)

5 years agobpo-39649: Remove obsolete check for `__args__` in bdb.Bdb.format_stack_entry (GH...
Daniel Hahler [Mon, 24 Feb 2020 03:14:53 +0000 (04:14 +0100)] 
bpo-39649: Remove obsolete check for `__args__` in bdb.Bdb.format_stack_entry (GH-18531)

Appears to be obsolete since 75bb54c3d8.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
5 years agobpo-39654: Update pyclbr doc to reflect additional information returned (GH-18528)
Hakan Çelik [Mon, 24 Feb 2020 02:00:40 +0000 (05:00 +0300)] 
bpo-39654: Update pyclbr doc to reflect additional information returned (GH-18528)

Full nested function and class info makes it a module browser.

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
5 years agobpo-39681: Fix C pickle regression with minimal file-like objects (#18592)
Antoine Pitrou [Sun, 23 Feb 2020 22:33:53 +0000 (23:33 +0100)] 
bpo-39681: Fix C pickle regression with minimal file-like objects (#18592)

Fix a regression where the C pickle module wouldn't allow unpickling from a
file-like object that doesn't expose a readinto() method.

5 years agobpo-39576: Clarify the word size for the 32-bit build. (#18616)
Stefan Krah [Sun, 23 Feb 2020 13:36:54 +0000 (14:36 +0100)] 
bpo-39576: Clarify the word size for the 32-bit build. (#18616)

5 years agobpo-39648: Expand math.gcd() and math.lcm() to handle multiple arguments. (GH-18604)
Serhiy Storchaka [Sun, 23 Feb 2020 11:21:29 +0000 (13:21 +0200)] 
bpo-39648: Expand math.gcd() and math.lcm() to handle multiple arguments. (GH-18604)

* bpo-39648: Expand math.gcd() and math.lcm() to handle multiple arguments.

* Simplify fast path.

* Difine lcm() without arguments returning 1.

* Apply suggestions from code review

Co-Authored-By: Mark Dickinson <dickinsm@gmail.com>
Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
5 years agobpo-17422: Language reference should specify restrictions on class namespace (#18559)
ananthan-123 [Sat, 22 Feb 2020 17:56:02 +0000 (23:26 +0530)] 
bpo-17422: Language reference should specify restrictions on class namespace (#18559)

The language reference now specifies restrictions on class namespaces.  Adapted from a patch by Ethan Furman.

5 years agobpo-39382: Avoid dangling object use in abstract_issubclass() (GH-18530)
Yonatan Goldschmidt [Sat, 22 Feb 2020 13:11:48 +0000 (15:11 +0200)] 
bpo-39382: Avoid dangling object use in abstract_issubclass() (GH-18530)

Hold reference of __bases__ tuple until tuple item is done with, because by
dropping the reference the item may be destroyed.

5 years agobpo-39576: docs: set context for decimal arbitrary precision arithmetic (#18594)
Stefan Krah [Fri, 21 Feb 2020 20:27:37 +0000 (21:27 +0100)] 
bpo-39576: docs: set context for decimal arbitrary precision arithmetic (#18594)

5 years agobpo-35950: Raise UnsupportedOperation in BufferedReader.truncate() (GH-18586)
Berker Peksag [Fri, 21 Feb 2020 17:57:26 +0000 (20:57 +0300)] 
bpo-35950: Raise UnsupportedOperation in BufferedReader.truncate() (GH-18586)

The truncate() method of io.BufferedReader() should raise
UnsupportedOperation when it is called on a read-only
io.BufferedReader() instance.

https://bugs.python.org/issue35950

Automerge-Triggered-By: @methane
5 years agofix(doc): set correct RST syntax for c:function (GH-18589)
Julien Danjou [Fri, 21 Feb 2020 10:47:41 +0000 (11:47 +0100)] 
fix(doc): set correct RST syntax for c:function (GH-18589)

The current content is not rendered since the syntax is not correct.

5 years agobpo-35727: Use exit code 0 on sys.exit() in multiprocessing.Process. (GH-11538)
Christopher Hunt [Fri, 21 Feb 2020 09:33:04 +0000 (17:33 +0800)] 
bpo-35727: Use exit code 0 on sys.exit() in multiprocessing.Process. (GH-11538)

5 years agoReuse identifier of PREDICT macros as PREDICT_ID (GH-17155)
Denis Chernikov [Fri, 21 Feb 2020 09:17:50 +0000 (12:17 +0300)] 
Reuse identifier of PREDICT macros as PREDICT_ID (GH-17155)

In function `_PyEval_EvalFrameDefault`, macros PREDICT and PREDICTED use the same identifier creation scheme, which may be shared between them, reducing code repetition, and do ensure that the same identifier is generated.

5 years agobpo-9495: avoid confusing chained exception in argparse test (GH-17120)
alclarks [Fri, 21 Feb 2020 08:48:36 +0000 (08:48 +0000)] 
bpo-9495: avoid confusing chained exception in argparse test (GH-17120)

5 years agobpo-38657: Clarify numeric padding behaviour in string formatting (GH-17036)
Pete Wicken [Fri, 21 Feb 2020 05:53:12 +0000 (05:53 +0000)] 
bpo-38657: Clarify numeric padding behaviour in string formatting (GH-17036)

Make the definition of the width more explicit that it includes any
extra signs added by other options.

https://bugs.python.org/issue38657

Automerge-Triggered-By: @Mariatta
5 years agocloses bpo-39684: Combine two if/thens and squash uninit var warning. (GH-18565)
Andy Lester [Fri, 21 Feb 2020 04:51:47 +0000 (22:51 -0600)] 
closes bpo-39684: Combine two if/thens and squash uninit var warning. (GH-18565)

5 years agobpo-39576: Prevent memory error for overly optimistic precisions (GH-18581)
Stefan Krah [Fri, 21 Feb 2020 00:52:47 +0000 (01:52 +0100)] 
bpo-39576: Prevent memory error for overly optimistic precisions (GH-18581)

5 years agobpo-39184: Fix incorrect return value (GH-18580)
Steve Dower [Thu, 20 Feb 2020 22:24:44 +0000 (22:24 +0000)] 
bpo-39184: Fix incorrect return value (GH-18580)

https://bugs.python.org/issue39184

Automerge-Triggered-By: @zooba
5 years agoUse the new recommended number of repetitions in the refleak tests. (#18569)
Stefan Krah [Thu, 20 Feb 2020 18:08:53 +0000 (19:08 +0100)] 
Use the new recommended number of repetitions in the refleak tests. (#18569)

5 years agoUpdate runall.bat to the latest Windows build system. (#18571)
Stefan Krah [Thu, 20 Feb 2020 18:07:31 +0000 (19:07 +0100)] 
Update runall.bat to the latest Windows build system. (#18571)

5 years agoValgrind no longer supports --db-attach=yes. (#18568)
Stefan Krah [Thu, 20 Feb 2020 13:39:14 +0000 (14:39 +0100)] 
Valgrind no longer supports --db-attach=yes. (#18568)

5 years agobpo-39479:Add math.lcm() function: Least Common Multiple (#18547)
ananthan-123 [Wed, 19 Feb 2020 18:21:37 +0000 (23:51 +0530)] 
bpo-39479:Add math.lcm() function: Least Common Multiple (#18547)

* Update math.rst

* Update math.rst

* updated whats new

* Update test_math.py

* Update mathmodule.c

* Update mathmodule.c.h

* Update ACKS

* 📜🤖 Added by blurb_it.

* Update 3.9.rst

* Update 2020-02-18-12-37-16.bpo-39479.j3UcCq.rst

* Update math.rst

* Update 2020-02-18-12-37-16.bpo-39479.j3UcCq.rst

* Update test_math.py

* Update ACKS

* Update mathmodule.c.h

* Update mathmodule.c

* Update mathmodule.c.h

* Update mathmodule.c.h

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
5 years agoRevert "bpo-38691 Added a switch to ignore PYTHONCASEOK when -E or -I flags passed...
Victor Stinner [Wed, 19 Feb 2020 13:23:47 +0000 (14:23 +0100)] 
Revert "bpo-38691 Added a switch to ignore PYTHONCASEOK when -E or -I flags passed (#18314)" (GH-18553)

This reverts commit d83b6600b25487e4ebffd7949d0f478de9538875.

5 years agobpo-39572: Document ’total’ flag of TypedDict (GH-18554)
ananthan-123 [Wed, 19 Feb 2020 04:33:05 +0000 (10:03 +0530)] 
bpo-39572: Document ’total’ flag of TypedDict (GH-18554)

5 years agoInclude subsections in TOC for PDF version of docs. (GH-9629)
Cheryl Sabella [Tue, 18 Feb 2020 23:01:15 +0000 (18:01 -0500)] 
Include subsections in TOC for PDF version of docs. (GH-9629)

5 years agobpo-39674: Revert "bpo-25988: Do not expose abstract collection classes in the collec...
Victor Stinner [Tue, 18 Feb 2020 15:28:53 +0000 (16:28 +0100)] 
bpo-39674: Revert "bpo-25988: Do not expose abstract collection classes in the collections module. (GH-10596)" (GH-18545)

This reverts commit ef092fe9905f61ca27889092ca1248a11aa74498.

Update collections __getattr__() and documentation to defer aliases
removal to Python 3.10.

5 years agobpo-37207: Use vectorcall for range() (GH-18464)
Petr Viktorin [Tue, 18 Feb 2020 15:13:17 +0000 (16:13 +0100)] 
bpo-37207: Use vectorcall for range() (GH-18464)

This continues the `range()` part of #13930. The complete pull request is stalled on discussions around dicts, but `range()` should not be controversial. (And I plan to open PRs for other parts if this is merged.)
On top of Mark's change, I unified `range_new` and `range_vectorcall`, which had a lot of duplicate code.

https://bugs.python.org/issue37207

5 years agobpo-36347: stop using RESTRICTED constants (GH-12684)
Jeroen Demeyer [Tue, 18 Feb 2020 13:14:46 +0000 (14:14 +0100)] 
bpo-36347: stop using RESTRICTED constants (GH-12684)

The constants `RESTRICTED` and `PY_WRITE_RESTRICTED` no longer have a meaning in Python 3. Therefore, CPython should not use them.

CC @matrixise

https://bugs.python.org/issue36347

5 years agobpo-1635741: Port _bz2 extension module to multiphase initialization(PEP 489) (GH...
Hai Shi [Tue, 18 Feb 2020 11:17:39 +0000 (19:17 +0800)] 
bpo-1635741: Port _bz2 extension module to multiphase initialization(PEP 489) (GH-18050)

https://bugs.python.org/issue1635741

5 years agobpo-39546: argparse: Honor allow_abbrev=False for specified prefix_chars (GH-18337)
Kyle Meyer [Tue, 18 Feb 2020 09:48:57 +0000 (04:48 -0500)] 
bpo-39546: argparse: Honor allow_abbrev=False for specified prefix_chars (GH-18337)

When `allow_abbrev` was first added, disabling the abbreviation of
long options broke the grouping of short flags ([bpo-26967](https://bugs.python.org/issue26967)).  As a fix,
b1e4d1b603 (contained in v3.8) ignores `allow_abbrev=False` for a
given argument string if the string does _not_ start with "--"
(i.e. it doesn't look like a long option).

This fix, however, doesn't take into account that long options can
start with alternative characters specified via `prefix_chars`,
introducing a regression: `allow_abbrev=False` has no effect on long
options that start with an alternative prefix character.

The most minimal fix would be to replace the "starts with --" check
with a "starts with two prefix_chars characters".  But
`_get_option_tuples` already distinguishes between long and short
options, so let's instead piggyback off of that check by moving the
`allow_abbrev` condition into `_get_option_tuples`.

https://bugs.python.org/issue39546

5 years agobpo-39663: IDLE: Add additional tests for pyparse (GH-18536)
Cheryl Sabella [Tue, 18 Feb 2020 02:47:52 +0000 (21:47 -0500)] 
bpo-39663: IDLE: Add additional tests for pyparse (GH-18536)

Test when find_good_parse_start should return 0.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
5 years agobpo-1635741: Port _abc extension to multiphase initialization (PEP 489) (GH-18030)
Hai Shi [Mon, 17 Feb 2020 13:50:35 +0000 (21:50 +0800)] 
bpo-1635741: Port _abc extension to multiphase initialization (PEP 489) (GH-18030)

5 years agobpo-1635741: Port _contextvars module to multiphase initialization (PEP 489) (GH...
Hai Shi [Mon, 17 Feb 2020 13:49:26 +0000 (21:49 +0800)] 
bpo-1635741: Port _contextvars module to multiphase initialization (PEP 489) (GH-18374)

5 years agobpo-39500: Fix compile warnings in unicodeobject.c (GH-18519)
Hai Shi [Mon, 17 Feb 2020 13:41:15 +0000 (21:41 +0800)] 
bpo-39500: Fix compile warnings in unicodeobject.c (GH-18519)

5 years agobpo-39573: Clean up modules and headers to use Py_IS_TYPE() function (GH-18521)
Dong-hee Na [Mon, 17 Feb 2020 10:09:15 +0000 (19:09 +0900)] 
bpo-39573: Clean up modules and headers to use Py_IS_TYPE() function (GH-18521)

5 years agobpo-36465: Update doc of init_config.rst (GH-18520)
Hai Shi [Mon, 17 Feb 2020 09:18:19 +0000 (17:18 +0800)] 
bpo-36465: Update doc of init_config.rst (GH-18520)

5 years agobpo-1635741: Port _crypt extension module to multiphase initialization (PEP 489)...
Hai Shi [Mon, 17 Feb 2020 09:11:34 +0000 (17:11 +0800)] 
bpo-1635741: Port _crypt extension module to multiphase initialization (PEP 489) (GH-18404)

5 years agobpo-38691 Added a switch to ignore PYTHONCASEOK when -E or -I flags passed (#18314)
idomic [Mon, 17 Feb 2020 09:05:11 +0000 (04:05 -0500)] 
bpo-38691 Added a switch to ignore PYTHONCASEOK when -E or -I flags passed (#18314)

* Hard reset + cherry piciking the changes.

* 📜🤖 Added by blurb_it.

* Added @vstinner News

* Update Misc/NEWS.d/next/Library/2020-02-11-13-01-38.bpo-38691.oND8Sk.rst

Co-Authored-By: Victor Stinner <vstinner@python.org>
* Hard reset to master

* Hard reset to master + latest changes

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
5 years agobpo-32892: Update the documentation for handling constants in AST. (GH-18514)
Serhiy Storchaka [Mon, 17 Feb 2020 09:03:00 +0000 (11:03 +0200)] 
bpo-32892: Update the documentation for handling constants in AST. (GH-18514)

5 years agobpo-37970: update and improve urlparse and urlsplit doc-strings (GH-16458)
idomic [Sun, 16 Feb 2020 19:17:58 +0000 (14:17 -0500)] 
bpo-37970: update and improve urlparse and urlsplit doc-strings (GH-16458)

5 years agobpo-39104: Fix hanging ProcessPoolExecutor on shutdown nowait with pickling failure...
Thomas Moreau [Sun, 16 Feb 2020 18:09:26 +0000 (19:09 +0100)] 
bpo-39104: Fix hanging ProcessPoolExecutor on shutdown nowait with pickling failure (GH-17670)

As reported initially by @rad-pat in #6084, the following script causes a deadlock.

```
from concurrent.futures import ProcessPoolExecutor

class ObjectWithPickleError():
    """Triggers a RuntimeError when sending job to the workers"""

    def __reduce__(self):
        raise RuntimeError()

if __name__ == "__main__":
    e = ProcessPoolExecutor()
    f = e.submit(id, ObjectWithPickleError())
    e.shutdown(wait=False)
    f.result()  # Deadlock on get
```

This is caused by the fact that the main process is closing communication channels that might be necessary to the `queue_management_thread` later. To avoid this, this PR let the `queue_management_thread` manage all the closing.

https://bugs.python.org/issue39104

Automerge-Triggered-By: @pitrou
5 years agobpo-12915: Add pkgutil.resolve_name (GH-18310)
Vinay Sajip [Fri, 14 Feb 2020 22:02:13 +0000 (22:02 +0000)] 
bpo-12915: Add pkgutil.resolve_name (GH-18310)

5 years ago bpo-39573: Update clinic to use Py_IS_TYPE() function (GH-18507)
Dong-hee Na [Fri, 14 Feb 2020 07:50:19 +0000 (16:50 +0900)] 
 bpo-39573: Update clinic to use Py_IS_TYPE() function (GH-18507)

5 years agobpo-39573: PyXXX_Check() macros use Py_IS_TYPE() (GH-18508)
Dong-hee Na [Fri, 14 Feb 2020 07:48:12 +0000 (16:48 +0900)] 
bpo-39573: PyXXX_Check() macros use Py_IS_TYPE() (GH-18508)

Update PyXXX_Check() macros in Include/ to use
the new Py_IS_TYPE function.

5 years agocloses bpo-39630: Update pointers to string literals to be const char *. (GH-18510)
Andy Lester [Fri, 14 Feb 2020 04:42:56 +0000 (22:42 -0600)] 
closes bpo-39630: Update pointers to string literals to be const char *. (GH-18510)

5 years agocloses bpo-39619 Fix os.chroot on HP-UX 11.31 (GH-18495)
Ian Norton [Fri, 14 Feb 2020 03:09:11 +0000 (03:09 +0000)] 
closes bpo-39619 Fix os.chroot on HP-UX 11.31 (GH-18495)

Setting `-D_XOPEN_SOURCE=700` on HP-UX causes system functions such as chroot to be undefined.  This change stops `_XOPEN_SOURCE` begin set on HP-UX

Co-authored-by: Benjamin Peterson <benjamin@python.org>
5 years agobpo-39545: Document changes in the support of await in f-strings. (GH-18456)
Serhiy Storchaka [Thu, 13 Feb 2020 23:57:35 +0000 (01:57 +0200)] 
bpo-39545: Document changes in the support of await in f-strings. (GH-18456)

https://bugs.python.org/issue39545

5 years agobpo-39627: Fix TypedDict totality check for inherited keys (#18503)
Vlad Emelianov [Thu, 13 Feb 2020 19:53:29 +0000 (20:53 +0100)] 
bpo-39627: Fix TypedDict totality check for inherited keys (#18503)

(Adapted from https://github.com/python/typing/pull/700)

5 years agobpo-39524: Fixed doc-string in ast._pad_whitespace (GH-18340)
mpheath [Thu, 13 Feb 2020 18:32:09 +0000 (04:32 +1000)] 
bpo-39524: Fixed doc-string in ast._pad_whitespace (GH-18340)

5 years agobpo-39573: Add Py_IS_TYPE() function (GH-18488)
Dong-hee Na [Thu, 13 Feb 2020 17:37:17 +0000 (02:37 +0900)] 
bpo-39573: Add Py_IS_TYPE() function (GH-18488)

Co-Author: Neil Schemenauer <nas-github@arctrix.com>

5 years agobpo-39573: Fix bad copy-paste in Py_SET_SIZE (GH-18496)
Brandt Bucher [Thu, 13 Feb 2020 17:34:45 +0000 (09:34 -0800)] 
bpo-39573: Fix bad copy-paste in Py_SET_SIZE (GH-18496)

5 years agobpo-39606: allow closing async generators that are already closed (GH-18475)
Nathaniel J. Smith [Thu, 13 Feb 2020 08:15:38 +0000 (00:15 -0800)] 
bpo-39606: allow closing async generators that are already closed (GH-18475)

The fix for [bpo-39386](https://bugs.python.org/issue39386) attempted to make it so you couldn't reuse a
agen.aclose() coroutine object. It accidentally also prevented you
from calling aclose() at all on an async generator that was already
closed or exhausted. This commit fixes it so we're only blocking the
actually illegal cases, while allowing the legal cases.

The new tests failed before this patch. Also confirmed that this fixes
the test failures we were seeing in Trio with Python dev builds:
  https://github.com/python-trio/trio/pull/1396

https://bugs.python.org/issue39606

5 years agobpo-39184: Add audit events to functions in `fcntl`, `msvcrt`, `os`, `resource`,...
Saiyang Gou [Thu, 13 Feb 2020 07:47:42 +0000 (23:47 -0800)] 
bpo-39184: Add audit events to functions in `fcntl`, `msvcrt`, `os`, `resource`,  `shutil`, `signal`, `syslog` (GH-18407)

5 years agocloses bpo-39621: Make buf arg to md5_compress be const. (GH-18497)
Andy Lester [Thu, 13 Feb 2020 04:53:01 +0000 (22:53 -0600)] 
closes bpo-39621: Make buf arg to md5_compress be const. (GH-18497)

5 years agobpo-35134: Add Include/cpython/fileutils.h header file (GH-18493)
Victor Stinner [Wed, 12 Feb 2020 22:55:09 +0000 (23:55 +0100)] 
bpo-35134: Add Include/cpython/fileutils.h header file (GH-18493)

Move CPython C API from Include/fileutils.h into a new
Include/cpython/fileutils.h header file which is included by
Include/fileutils.h.

Exclude the following private symbols from the limited C API:

* _Py_error_handler
* _Py_GetErrorHandler()
* _Py_DecodeLocaleEx()
* _Py_EncodeLocaleEx()

5 years agobpo-35134: Add Include/cpython/bytesobject.h file (GH-18494)
Victor Stinner [Wed, 12 Feb 2020 22:54:31 +0000 (23:54 +0100)] 
bpo-35134: Add Include/cpython/bytesobject.h file (GH-18494)

Add Include/cpython/bytearrayobject.h and
Include/cpython/bytesobject.h header files.

Move CPython C API from Include/bytesobject.h into a new
Include/cpython/bytesobject.h header file which is included by
Include/bytesobject.h. Do a similar change for
Include/bytearrayobject.h.

5 years agobpo-35081: Move dtoa.h header to the internal C API (GH-18489)
Victor Stinner [Wed, 12 Feb 2020 21:54:42 +0000 (22:54 +0100)] 
bpo-35081: Move dtoa.h header to the internal C API (GH-18489)

Move the dtoa.h header file to the internal C API as pycore_dtoa.h:
it only contains private functions (prefixed by "_Py").

The math and cmath modules must now be compiled with the
Py_BUILD_CORE macro defined.

5 years agobpo-35081: Move bytes_methods.h to the internal C API (GH-18492)
Victor Stinner [Wed, 12 Feb 2020 21:32:34 +0000 (22:32 +0100)] 
bpo-35081: Move bytes_methods.h to the internal C API (GH-18492)

Move the bytes_methods.h header file to the internal C API as
pycore_bytes_methods.h: it only contains private symbols (prefixed by
"_Py"), except of the PyDoc_STRVAR_shared() macro.

5 years agobpo-39474: Fix AST pos for expressions like (a)(b), (a)[b] and (a).b. (GH-18477)
Serhiy Storchaka [Wed, 12 Feb 2020 20:37:49 +0000 (22:37 +0200)] 
bpo-39474: Fix AST pos for expressions like (a)(b), (a)[b] and (a).b. (GH-18477)

5 years agobpo-18819: tarfile: only set device fields for device files (GH-18080)
William Chargin [Wed, 12 Feb 2020 19:56:02 +0000 (11:56 -0800)] 
bpo-18819: tarfile: only set device fields for device files (GH-18080)

The GNU docs describe the `devmajor` and `devminor` fields of the tar
header struct only in the context of character and block special files,
suggesting that in other cases they are not populated. Typical utilities
behave accordingly; this patch teaches `tarfile` to do the same.

5 years agobpo-21016: pydoc and trace use sysconfig (GH-18476)
Victor Stinner [Wed, 12 Feb 2020 12:02:29 +0000 (13:02 +0100)] 
bpo-21016: pydoc and trace use sysconfig (GH-18476)

bpo-21016, bpo-1294959: The pydoc and trace modules now use the
sysconfig module to get the path to the Python standard library, to
support uncommon installation path like /usr/lib64/python3.9/ on
Fedora.

Co-Authored-By: Jan Matějek <jmatejek@suse.com>
5 years agobpo-32856: Optimize the assignment idiom in comprehensions. (GH-16814)
Serhiy Storchaka [Wed, 12 Feb 2020 10:18:59 +0000 (12:18 +0200)] 
bpo-32856: Optimize the assignment idiom in comprehensions. (GH-16814)

Now `for y in [expr]` in comprehensions is as fast as a simple
assignment `y = expr`.

5 years agobpo-39219: Fix SyntaxError attributes in the tokenizer. (GH-17828)
Serhiy Storchaka [Wed, 12 Feb 2020 10:17:00 +0000 (12:17 +0200)] 
bpo-39219: Fix SyntaxError attributes in the tokenizer. (GH-17828)

* Always set the text attribute.
* Correct the offset attribute for non-ascii sources.

5 years agobpo-39567: Add audit for os.walk(), os.fwalk(), Path.glob() and Path.rglob(). (GH...
Serhiy Storchaka [Wed, 12 Feb 2020 10:11:34 +0000 (12:11 +0200)] 
bpo-39567: Add audit for os.walk(), os.fwalk(), Path.glob() and Path.rglob(). (GH-18372)

5 years agobpo-39605: Remove a cast that causes a warning. (GH-18473)
Benjamin Peterson [Wed, 12 Feb 2020 03:36:14 +0000 (19:36 -0800)] 
bpo-39605: Remove a cast that causes a warning. (GH-18473)

5 years agobpo-39595: Improve zipfile.Path performance (#18406)
Jason R. Coombs [Wed, 12 Feb 2020 02:58:47 +0000 (21:58 -0500)] 
bpo-39595: Improve zipfile.Path performance (#18406)

* Improve zipfile.Path performance on zipfiles with a large number of entries.

* 📜🤖 Added by blurb_it.

* Add bpo to blurb

* Sync with importlib_metadata 1.5 (6fe70ca)

* Update blurb.

* Remove compatibility code

* Add stubs module, omitted from earlier commit

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
5 years agocloses bpo-39605: Fix some casts to not cast away const. (GH-18453)
Andy Lester [Wed, 12 Feb 2020 02:28:35 +0000 (20:28 -0600)] 
closes bpo-39605: Fix some casts to not cast away const. (GH-18453)

gcc -Wcast-qual turns up a number of instances of casting away constness of pointers. Some of these can be safely modified, by either:

Adding the const to the type cast, as in:

-    return _PyUnicode_FromUCS1((unsigned char*)s, size);
+    return _PyUnicode_FromUCS1((const unsigned char*)s, size);

or, Removing the cast entirely, because it's not necessary (but probably was at one time), as in:

-    PyDTrace_FUNCTION_ENTRY((char *)filename, (char *)funcname, lineno);
+    PyDTrace_FUNCTION_ENTRY(filename, funcname, lineno);

These changes will not change code, but they will make it much easier to check for errors in consts

5 years agodocs: macos - change "versiona" to "versions" (GH-18467)
@RandyMcMillan [Wed, 12 Feb 2020 01:20:05 +0000 (20:20 -0500)] 
docs: macos - change "versiona" to "versions" (GH-18467)

5 years agoFix ordering issue in Windows release upload script (GH-18465)
Steve Dower [Tue, 11 Feb 2020 17:32:52 +0000 (17:32 +0000)] 
Fix ordering issue in Windows release upload script (GH-18465)

Automerge-Triggered-By: @zooba
5 years agobpo-38644: Rephrase What's New entry (GH-18461)
Victor Stinner [Tue, 11 Feb 2020 16:50:10 +0000 (17:50 +0100)] 
bpo-38644: Rephrase What's New entry (GH-18461)

5 years agobpo-39245: Switch to public API for Vectorcall (GH-18460)
Petr Viktorin [Tue, 11 Feb 2020 16:46:57 +0000 (17:46 +0100)] 
bpo-39245: Switch to public API for Vectorcall (GH-18460)

The bulk of this patch was generated automatically with:

    for name in \
        PyObject_Vectorcall \
        Py_TPFLAGS_HAVE_VECTORCALL \
        PyObject_VectorcallMethod \
        PyVectorcall_Function \
        PyObject_CallOneArg \
        PyObject_CallMethodNoArgs \
        PyObject_CallMethodOneArg \
    ;
    do
        echo $name
        git grep -lwz _$name | xargs -0 sed -i "s/\b_$name\b/$name/g"
    done

    old=_PyObject_FastCallDict
    new=PyObject_VectorcallDict
    git grep -lwz $old | xargs -0 sed -i "s/\b$old\b/$new/g"

and then cleaned up:

- Revert changes to in docs & news
- Revert changes to backcompat defines in headers
- Nudge misaligned comments

5 years agobpo-39500: Document PyUnicode_IsIdentifier() function (GH-18397)
Victor Stinner [Tue, 11 Feb 2020 13:29:33 +0000 (14:29 +0100)] 
bpo-39500: Document PyUnicode_IsIdentifier() function (GH-18397)

PyUnicode_IsIdentifier() does not call Py_FatalError() anymore if the
string is not ready.