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

5 years agobpo-1635741: Port _codecs extension module to multiphase initialization (PEP 489...
Hai Shi [Tue, 11 Feb 2020 11:16:38 +0000 (05:16 -0600)] 
bpo-1635741: Port _codecs extension module to multiphase initialization (PEP 489) (GH-18065)

https://bugs.python.org/issue1635741

5 years agobpo-38374: Remove weakref.ReferenceError from docs (GH-18452)
Roger Hurwitz [Tue, 11 Feb 2020 06:56:02 +0000 (22:56 -0800)] 
bpo-38374: Remove weakref.ReferenceError from docs (GH-18452)

Reflecting changes to the code, removed weakref.ReferenceError from weakref.rst and exceptions.rst.

Issue submitter provided evidence that the `weakref.ReferenceError` alias for `ReferenceError` was removed from the code in 2007.  Working with @gvanrossum at PyCascades CPython sprint we looked at the code and confirmed that `weakref.ReferenceError` was no longer in `weakref.py`.

Based on that analysis I removed references `weakref.ReferenceError` from the two documents where it was still being referenced: `weakref.rst` and `exceptions.rst`.

https://bugs.python.org/issue38374

5 years agobpo-39600: Adjust code, add idlelib/NEWS item (GH-18449)
Terry Jan Reedy [Tue, 11 Feb 2020 01:08:58 +0000 (20:08 -0500)] 
bpo-39600: Adjust code, add idlelib/NEWS item (GH-18449)

Complete previous patch.

5 years agobpo-38325: Skip non-BMP tests of test_winconsoleio (GH-18448)
Victor Stinner [Mon, 10 Feb 2020 23:58:23 +0000 (00:58 +0100)] 
bpo-38325: Skip non-BMP tests of test_winconsoleio (GH-18448)

Skip tests on non-BMP characters of test_winconsoleio.

5 years agobpo-39417: Fix broken link to guide to building venvs (GH-18432)
Ogi Moore [Mon, 10 Feb 2020 23:51:01 +0000 (15:51 -0800)] 
bpo-39417: Fix broken link to guide to building venvs (GH-18432)

5 years agoCorrect the documented default encoding (GH-18429)
Eric Wieser [Mon, 10 Feb 2020 23:32:18 +0000 (23:32 +0000)] 
Correct the documented default encoding (GH-18429)

From the source for `PyUnicode_Decode`, the implementation is:
```
if (encoding == NULL) {
    return PyUnicode_DecodeUTF8Stateful(s, size, errors, NULL);
}
```
which is pretty clearly not defaulting to ASCII.

---

I assume this needs neither a news entry nor bpo link.

5 years agobpo-13826: Clarify Popen constructor example (GH-18438)
Tim D. Smith [Mon, 10 Feb 2020 22:51:01 +0000 (14:51 -0800)] 
bpo-13826: Clarify Popen constructor example (GH-18438)

Clarifies that the use of `shlex.split` is more instructive than
normative, and provides a simpler example.

https://bugs.python.org/issue13826

5 years agobpo-39594: Fix typo in os.times documentation (GH-18443)
Roger Hurwitz [Mon, 10 Feb 2020 22:50:19 +0000 (14:50 -0800)] 
bpo-39594: Fix typo in os.times documentation (GH-18443)

There was an extra space in the url markup, causing the documentation not rendered properly.

https://bugs.python.org/issue39594

5 years agoIssue3950: Fix docs for default locale used by gettext to match implementation (...
Carl [Mon, 10 Feb 2020 21:15:34 +0000 (13:15 -0800)] 
Issue3950: Fix docs for default locale used by gettext to match implementation (#18435)

documentation for default locale directory Doc/library/gettext.rst changed to match gettext implementation line 63.

5 years agoRemove redundant references in struct doc (GH-18053)
Christophe Nanteuil [Mon, 10 Feb 2020 20:17:54 +0000 (21:17 +0100)] 
Remove redundant references in struct doc (GH-18053)

5 years agobpo-39369 Doc: Update mmap readline method documentation (GH-17957)
Wellington Pardim [Mon, 10 Feb 2020 20:13:41 +0000 (17:13 -0300)] 
bpo-39369 Doc: Update mmap readline method documentation (GH-17957)

* Update mmap readline method documentation

Update mmap `readline` method description. The fact that the `readline` method does update the file position should not be ignored since this might give the impression for the programmer that it doesn't update it.

* 📜🤖 Added by blurb_it.

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
5 years agobpo-39600, IDLE: Remove duplicated font names (GH-18430)
Victor Stinner [Mon, 10 Feb 2020 19:41:26 +0000 (20:41 +0100)] 
bpo-39600, IDLE: Remove duplicated font names (GH-18430)

In the font configuration window, remove duplicated font names.

5 years agoRemove note saying patch is straightforward (#18431)
Brian Curtin [Mon, 10 Feb 2020 17:47:17 +0000 (10:47 -0700)] 
Remove note saying patch is straightforward (#18431)

While `unittest.mock.patch` is a great thing, it is not straightforward.
If it were straightforward there wouldn't be such a huge amount of
documentation for it, and frankly, when myself and others who I've
read about often struggle to figure out what on earth `patch()` wants,
coming to the docs to read that it's straightforward is not helpful.

5 years agobpo-39586: Deprecate distutils bdist_msi command (GH-18415)
Hugo van Kemenade [Mon, 10 Feb 2020 13:26:40 +0000 (15:26 +0200)] 
bpo-39586: Deprecate distutils bdist_msi command (GH-18415)

5 years agobpo-39128: Added happy_eyeballs_delay, interleave to function signature (GH-18315)
idomic [Mon, 10 Feb 2020 09:48:40 +0000 (04:48 -0500)] 
bpo-39128: Added happy_eyeballs_delay, interleave to function signature (GH-18315)

5 years agoGrammar fix in tutorial (GH-18425)
Don Kirkby [Mon, 10 Feb 2020 00:57:46 +0000 (16:57 -0800)] 
Grammar fix in tutorial (GH-18425)

5 years agobpo-39590: make deque.__contains__ and deque.count hold strong references (GH-18421)
sweeneyde [Sun, 9 Feb 2020 08:16:43 +0000 (03:16 -0500)] 
bpo-39590: make deque.__contains__ and deque.count hold strong references (GH-18421)

5 years agobpo-39573: Use Py_TYPE() macro in ctypes.h (GH-18411)
Dong-hee Na [Sat, 8 Feb 2020 23:45:52 +0000 (08:45 +0900)] 
bpo-39573: Use Py_TYPE() macro in ctypes.h (GH-18411)

5 years agoDoc: sys.__unraisablehook__ and bytearray.hex separators are new in 3.8 (GH-17884)
Saiyang Gou [Sat, 8 Feb 2020 00:48:06 +0000 (16:48 -0800)] 
Doc: sys.__unraisablehook__ and bytearray.hex separators are new in 3.8 (GH-17884)

Minor fix in documentation:

- `sys.__unraisablehook__` is new in version 3.8
- Optional `sep` and `bytes_per_sep` parameters for `bytearray.hex` is also supported in Python 3.8 (just like `bytes.hex`)

5 years agocloses bpo-39575: Change -lgcov to --coverage. (GH-18382)
Fangrui Song [Fri, 7 Feb 2020 23:46:29 +0000 (15:46 -0800)] 
closes bpo-39575: Change -lgcov to --coverage. (GH-18382)

This allows clang to get rid of the dependency on libgcov.
When linking, GCC passes -lgcov while clang passes the path to libclang_rt.profile-$arch.a

5 years agobpo-39579: Fix Attribute end_col_offset to point at the current node (GH-18405)
Lysandros Nikolaou [Fri, 7 Feb 2020 23:36:32 +0000 (00:36 +0100)] 
bpo-39579: Fix Attribute end_col_offset to point at the current node (GH-18405)

5 years agobpo-39350: Fix fractions for int subclasses (GH-18375)
Victor Stinner [Fri, 7 Feb 2020 22:42:51 +0000 (23:42 +0100)] 
bpo-39350: Fix fractions for int subclasses (GH-18375)

Fix regression in fractions.Fraction if the numerator and/or the
denominator is an int subclass. The math.gcd() function is now
used to normalize the numerator and denominator. math.gcd() always
return a int type. Previously, the GCD type depended on numerator
and denominator.

5 years agobpo-39573: Use Py_SET_SIZE() function (GH-18402)
Victor Stinner [Fri, 7 Feb 2020 22:18:08 +0000 (23:18 +0100)] 
bpo-39573: Use Py_SET_SIZE() function (GH-18402)

Replace direct acccess to PyVarObject.ob_size with usage of
the Py_SET_SIZE() function.

5 years agobpo-39502: Fix 64-bit Python PyTime_localtime() on AIX (GH-18285)
Michael Felt [Fri, 7 Feb 2020 17:56:16 +0000 (18:56 +0100)] 
bpo-39502: Fix 64-bit Python PyTime_localtime() on AIX  (GH-18285)

Fix time.localtime() on 64-bit AIX to support years before 1902 and after 2038.

5 years agobpo-39573: Add Py_SET_SIZE() function (GH-18400)
Victor Stinner [Fri, 7 Feb 2020 11:05:12 +0000 (12:05 +0100)] 
bpo-39573: Add Py_SET_SIZE() function (GH-18400)

Add Py_SET_SIZE() function to set the size of an object.

5 years agobpo-38644: Add Py_EnterRecursiveCall() to python3.def (GH-18399)
Victor Stinner [Fri, 7 Feb 2020 10:22:54 +0000 (11:22 +0100)] 
bpo-38644: Add Py_EnterRecursiveCall() to python3.def (GH-18399)

Add Py_EnterRecursiveCall and Py_LeaveRecursiveCall functions to
python3.def.

5 years agobpo-39573: Use Py_TYPE() macro in object.c (GH-18398)
Victor Stinner [Fri, 7 Feb 2020 10:18:33 +0000 (11:18 +0100)] 
bpo-39573: Use Py_TYPE() macro in object.c (GH-18398)

Replace direct acccess to PyVarObject.ob_size with usage of the
Py_SIZE() macro.