]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
5 years agobpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (GH-16607)
Brad Solomon [Mon, 27 Apr 2020 02:31:44 +0000 (22:31 -0400)] 
bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (GH-16607)

Adds a short description of `PyDoc_STRVAR` and `PyDoc_STR` to "Useful macros" section of C-API docs.

Currently, there is [one lone mention](https://docs.python.org/3/c-api/module.html?highlight=pydoc_strvar#c.PyModuleDef) in the C-API reference, despite the fact that `PyDoc_STRVAR` is ubiquitous to `Modules/`.

Additionally, this properly uses `c:macro` within `Doc/c-api/module.rst` to link.

5 years agobpo-40401: Remove duplicate pyhash.h include from pythoncore.vcxproj (GH-19725)
Ammar Askar [Mon, 27 Apr 2020 02:08:17 +0000 (19:08 -0700)] 
bpo-40401: Remove duplicate pyhash.h include from pythoncore.vcxproj (GH-19725)

5 years agobpo-40387: Improve queue join() example. (GH-19724)
Raymond Hettinger [Mon, 27 Apr 2020 01:11:27 +0000 (18:11 -0700)] 
bpo-40387: Improve queue join() example. (GH-19724)

5 years agobpo-40396: Support GenericAlias in the typing functions. (GH-19718)
Serhiy Storchaka [Sun, 26 Apr 2020 18:21:08 +0000 (21:21 +0300)] 
bpo-40396: Support GenericAlias in the typing functions. (GH-19718)

5 years agoFix typo in Lib/typing.py (GH-19717)
Nickolena Fisher [Sun, 26 Apr 2020 17:49:11 +0000 (12:49 -0500)] 
Fix typo in Lib/typing.py (GH-19717)

5 years agoFix typo in object.__format__ docs (GH-19504)
Heshy Roskes [Sun, 26 Apr 2020 01:57:09 +0000 (21:57 -0400)] 
Fix typo in object.__format__ docs (GH-19504)

5 years agobpo-40275: Avoid importing logging in test.support (GH-19601)
Serhiy Storchaka [Sat, 25 Apr 2020 08:35:18 +0000 (11:35 +0300)] 
bpo-40275: Avoid importing logging in test.support (GH-19601)

Import logging lazily in assertLogs() in unittest.
Move TestHandler from test.support to logging_helper.

5 years agobpo-40275: Avoid importing socket in test.support (GH-19603)
Serhiy Storchaka [Sat, 25 Apr 2020 07:06:29 +0000 (10:06 +0300)] 
bpo-40275: Avoid importing socket in test.support (GH-19603)

* Move socket related functions from test.support to socket_helper.
* Import socket, nntplib and urllib.error lazily in transient_internet().
* Remove importing multiprocess.

5 years agobpo-40275: Avoid importing asyncio in test.support (GH-19600)
Serhiy Storchaka [Sat, 25 Apr 2020 07:04:10 +0000 (10:04 +0300)] 
bpo-40275: Avoid importing asyncio in test.support (GH-19600)

* Import asyncio lazily in unittest (only when IsolatedAsyncioTestCase is used).
* Import asyncio.events lazily in test.support.

5 years agobpo-40279: Add some error-handling to the module initialisation docs example (GH...
Cajetan Rodrigues [Sat, 25 Apr 2020 05:27:53 +0000 (07:27 +0200)] 
bpo-40279: Add some error-handling to the module initialisation docs example (GH-19705)

5 years agocloses bpo-40385: Remove Tools/scripts/checkpyc.py (GH-19709)
Ammar Askar [Sat, 25 Apr 2020 04:33:59 +0000 (21:33 -0700)] 
closes bpo-40385: Remove Tools/scripts/checkpyc.py (GH-19709)

This is one of the few files that has intimate knowledge of the pyc file
format. Since it lacks tests it tends to become outdated fairly quickly.
At present it has been broken since the introduction of PEP 552.

5 years agobpo-40334: Add What's New sections for PEP 617 and PEP 585 (GH-19704)
Guido van Rossum [Sat, 25 Apr 2020 00:19:56 +0000 (17:19 -0700)] 
bpo-40334: Add What's New sections for PEP 617 and PEP 585 (GH-19704)

5 years agobpo-40340: Separate examples more clearly in the programming FAQ (GH-19688)
Cajetan Rodrigues [Fri, 24 Apr 2020 23:39:04 +0000 (01:39 +0200)] 
bpo-40340: Separate examples more clearly in the programming FAQ (GH-19688)

5 years agobpo-40360: Deprecate lib2to3 module in light of PEP 617 (GH-19663)
Carl Meyer [Fri, 24 Apr 2020 18:19:46 +0000 (12:19 -0600)] 
bpo-40360: Deprecate lib2to3 module in light of PEP 617 (GH-19663)

Deprecate lib2to3 module in light of PEP 617.

We anticipate removal in the 3.12 timeframe.

5 years agobpo-40334: Rewrite test_c_parser to avoid memory leaks (GH-19694)
Lysandros Nikolaou [Fri, 24 Apr 2020 13:51:09 +0000 (16:51 +0300)] 
bpo-40334: Rewrite test_c_parser to avoid memory leaks (GH-19694)

Previously every test was building an extension module and
loading it into sys.modules. The tearDown function was thus
not able to clean up correctly, resulting in memory leaks.

With this commit, every test function now builds the extension
module and runs the actual test code in a new process
(using assert_python_ok), so that sys.modules stays intact
and no memory gets leaked.

5 years agobpo-38061: subprocess uses closefrom() on FreeBSD (GH-19697)
Victor Stinner [Fri, 24 Apr 2020 10:06:58 +0000 (12:06 +0200)] 
bpo-38061: subprocess uses closefrom() on FreeBSD (GH-19697)

Optimize the subprocess module on FreeBSD using closefrom().
A single close(fd) syscall is cheap, but when sysconf(_SC_OPEN_MAX)
is high, the loop calling close(fd) on each file descriptor can take
several milliseconds.

The workaround on FreeBSD to improve performance was to load and
mount the fdescfs kernel module, but this is not enabled by default.

Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans
(kevans) and Kubilay Kocak (koobs):
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274

5 years agobpo-38061: os.closerange() uses closefrom() on FreeBSD (GH-19696)
Victor Stinner [Fri, 24 Apr 2020 10:00:51 +0000 (12:00 +0200)] 
bpo-38061: os.closerange() uses closefrom() on FreeBSD (GH-19696)

On FreeBSD, os.closerange(fd_low, fd_high) now calls
closefrom(fd_low) if fd_high is greater than or equal to
sysconf(_SC_OPEN_MAX).

Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans
(kevans) and Kubilay Kocak (koobs):
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274

5 years agoExpand the implementation comments (GH-19699)
Raymond Hettinger [Fri, 24 Apr 2020 09:33:07 +0000 (02:33 -0700)] 
Expand the implementation comments (GH-19699)

5 years agobpo-40048: Fix _PyCode_InitOpcache() error path (GH-19691)
Victor Stinner [Fri, 24 Apr 2020 00:43:18 +0000 (02:43 +0200)] 
bpo-40048: Fix _PyCode_InitOpcache() error path (GH-19691)

If _PyCode_InitOpcache() fails in _PyEval_EvalFrameDefault(), use
"goto exit_eval_frame;" rather than "return NULL;" to exit the
function in a consistent state. For example, tstate->frame is now
reset properly.

5 years agoUse Py_ssize_t instead of ssize_t (GH-19685)
Pablo Galindo [Fri, 24 Apr 2020 00:13:33 +0000 (01:13 +0100)] 
Use Py_ssize_t instead of ssize_t (GH-19685)

5 years agobpo-40334: Allow to run make regen-pegen without distutils (GH-19684)
Pablo Galindo [Thu, 23 Apr 2020 23:53:29 +0000 (00:53 +0100)] 
bpo-40334: Allow to run make regen-pegen without distutils (GH-19684)

5 years agoFix broken mkdir -p call in regen-pegen (#19695)
Guido van Rossum [Thu, 23 Apr 2020 23:30:42 +0000 (16:30 -0700)] 
Fix broken mkdir -p call in regen-pegen (#19695)

We should use `$(MKDIR_P) <directory>`, not `$(MKDIR_P) -p <directory>`.

5 years agobpo-40334: Use old compiler when compile mode is func_type (GH-19692)
Guido van Rossum [Thu, 23 Apr 2020 22:42:56 +0000 (15:42 -0700)] 
bpo-40334: Use old compiler when compile mode is func_type (GH-19692)

This is invoked by mypy, using ast.parse(source, "<func_type>", "func_type"). Since the new grammar doesn't yet support the func_type_input start symbol we must use the old compiler in this case to prevent a crash.

https://bugs.python.org/issue40334

5 years agobpo-40336: Refactor typing._SpecialForm (GH-19620)
Serhiy Storchaka [Thu, 23 Apr 2020 18:26:48 +0000 (21:26 +0300)] 
bpo-40336: Refactor typing._SpecialForm (GH-19620)

5 years agobpo-39983: Add test.support.print_warning() (GH-19683)
Victor Stinner [Thu, 23 Apr 2020 17:03:52 +0000 (19:03 +0200)] 
bpo-39983: Add test.support.print_warning() (GH-19683)

Log "Warning -- ..." test warnings into sys.__stderr__ rather than
sys.stderr, to ensure to display them even if sys.stderr is captured.

test.libregrtest.utils.print_warning() now calls
test.support.print_warning().

5 years agoUpdate ga_new to use _PyArg_CheckPositional and _PyArg_NoKwnames (GH-19679)
Dong-hee Na [Thu, 23 Apr 2020 16:25:53 +0000 (01:25 +0900)] 
Update ga_new to use _PyArg_CheckPositional and _PyArg_NoKwnames (GH-19679)

5 years agobpo-40334: Improve various PEG-Parser related stuff (GH-19669)
Lysandros Nikolaou [Thu, 23 Apr 2020 15:36:06 +0000 (18:36 +0300)] 
bpo-40334: Improve various PEG-Parser related stuff (GH-19669)

The changes in this commit are all related to @vstinner's original review comments of the initial PEP 617 implementation PR.

5 years agobpo-40370: Use the same compile and link args as the interpreter used in test_peg_gen...
Pablo Galindo [Thu, 23 Apr 2020 13:46:22 +0000 (14:46 +0100)] 
bpo-40370: Use the same compile and link args as the interpreter used in test_peg_generator (GH-19674)

5 years agogdbinit: Use proper define syntax (GH-19557)
Florian Bruhin [Thu, 23 Apr 2020 12:49:26 +0000 (14:49 +0200)] 
gdbinit: Use proper define syntax (GH-19557)

Using `def` rather than `define` results in:

    Ambiguous command "def pu": define, define-prefix.

Automerge-Triggered-By: @csabella
5 years agobpo-40334: Suppress all output in test_peg_generator (GH-19675)
Lysandros Nikolaou [Thu, 23 Apr 2020 12:22:16 +0000 (15:22 +0300)] 
bpo-40334: Suppress all output in test_peg_generator (GH-19675)

5 years agobpo-40334: Fix build errors and warnings in test_peg_generator (GH-19672)
Pablo Galindo [Thu, 23 Apr 2020 11:42:13 +0000 (12:42 +0100)] 
bpo-40334: Fix build errors and warnings in test_peg_generator (GH-19672)

5 years agobpo-40334: Don't downcast from Py_ssize_t to int (GH-19671)
Pablo Galindo [Thu, 23 Apr 2020 02:43:08 +0000 (03:43 +0100)] 
bpo-40334: Don't downcast from Py_ssize_t to int (GH-19671)

5 years agoCompile extensions in test_peg_generator with C99 (GH-19668)
Pablo Galindo [Thu, 23 Apr 2020 02:24:25 +0000 (03:24 +0100)] 
Compile extensions in test_peg_generator with C99 (GH-19668)

5 years agobpo-40334: Rename PyConfig.use_peg to _use_peg_parser (GH-19670)
Victor Stinner [Thu, 23 Apr 2020 01:03:24 +0000 (03:03 +0200)] 
bpo-40334: Rename PyConfig.use_peg to _use_peg_parser (GH-19670)

* Rename PyConfig.use_peg to _use_peg_parser
* Document PyConfig._use_peg_parser and mark it a deprecated
* Mark -X oldparser option and PYTHONOLDPARSER env var as deprecated
  in the documentation.
* Add use_old_parser() and skip_if_new_parser() to test.support
* Remove sys.flags.use_peg: use_old_parser() uses
  _testinternalcapi.get_configs() instead.
* Enhance test_embed tests
* subprocess._args_from_interpreter_flags() copies -X oldparser

5 years agobpo-40334: Fix builds outside the source directory and regenerate autoconf files...
Pablo Galindo [Thu, 23 Apr 2020 00:38:11 +0000 (01:38 +0100)] 
bpo-40334: Fix builds outside the source directory and regenerate autoconf files (GH-19667)

5 years agoAdd @pablogsal as code owner for pegen-related files (GH-19665)
Pablo Galindo [Wed, 22 Apr 2020 23:47:32 +0000 (00:47 +0100)] 
Add @pablogsal as code owner for pegen-related files (GH-19665)

5 years agobpo-40334: Fix errors in parse_string.c with old compilers (GH-19666)
Pablo Galindo [Wed, 22 Apr 2020 23:13:47 +0000 (00:13 +0100)] 
bpo-40334: Fix errors in parse_string.c with old compilers (GH-19666)

5 years agoPEP 617: Only run the CI with the new parser (GH-19664)
Pablo Galindo [Wed, 22 Apr 2020 23:06:03 +0000 (00:06 +0100)] 
PEP 617: Only run the CI with the new parser (GH-19664)

5 years agobpo-40334: PEP 617 implementation: New PEG parser for CPython (GH-19503)
Pablo Galindo [Wed, 22 Apr 2020 22:29:27 +0000 (23:29 +0100)] 
bpo-40334: PEP 617 implementation: New PEG parser for CPython (GH-19503)

Co-authored-by: Guido van Rossum <guido@python.org>
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
5 years agobpo-39939: Add str.removeprefix and str.removesuffix (GH-18939)
sweeneyde [Wed, 22 Apr 2020 21:05:48 +0000 (17:05 -0400)] 
bpo-39939: Add str.removeprefix and str.removesuffix (GH-18939)

Added str.removeprefix and str.removesuffix methods and corresponding
bytes, bytearray, and collections.UserString methods to remove affixes
from a string if present. See PEP 616 for a full description.

5 years agobpo-40260: Remove unnecessary newline in compile() call (GH-19641)
Anthony Sottile [Wed, 22 Apr 2020 18:42:53 +0000 (11:42 -0700)] 
bpo-40260: Remove unnecessary newline in compile() call (GH-19641)

Because some people subclass this class and call undocumented methods, and we don't want to break them.

5 years agobpo-39562: Prevent collision of future and compiler flags (GH-19230)
Batuhan Taşkaya [Wed, 22 Apr 2020 16:09:03 +0000 (19:09 +0300)] 
bpo-39562: Prevent collision of future and compiler flags (GH-19230)

The constant values of future flags in the __future__ module
is updated in order to prevent collision with compiler flags.
Previously PyCF_ALLOW_TOP_LEVEL_AWAIT was clashing
with CO_FUTURE_DIVISION.

5 years agobpo-40214: Fix ctypes WinDLL test with insecure flags (GH-19652)
Steve Dower [Wed, 22 Apr 2020 16:04:46 +0000 (17:04 +0100)] 
bpo-40214: Fix ctypes WinDLL test with insecure flags (GH-19652)

5 years agobpo-40138: Fix Windows os.waitpid() for large exit code (GH-19637)
Victor Stinner [Wed, 22 Apr 2020 14:30:35 +0000 (16:30 +0200)] 
bpo-40138: Fix Windows os.waitpid() for large exit code (GH-19637)

Fix the Windows implementation of os.waitpid() for exit code
larger than "INT_MAX >> 8". The exit status is now interpreted as an
unsigned number.

os.waitstatus_to_exitcode() now accepts wait status larger than
INT_MAX.

5 years agobpo-38329: python.org macOS installers now update Current symlink (GH-19650)
Ned Deily [Wed, 22 Apr 2020 08:27:13 +0000 (04:27 -0400)] 
bpo-38329: python.org macOS installers now update Current symlink (GH-19650)

Previously, python.org macOS installers did not alter the Current version
symlink in /Library/Frameworks/Python.framework/Versions when installing
a version of Python 3.x, only when installing 2.x.  Now that Python 2 is
retired, it's time to change that.  This should make it a bit easier
to embed Python 3 into other macOS applications.

5 years agobpo-38360: macOS: support alternate form of -isysroot flag (GH-16480)
Joshua Root [Wed, 22 Apr 2020 07:44:10 +0000 (17:44 +1000)] 
bpo-38360: macOS: support alternate form of -isysroot flag (GH-16480)

It is possible to use either '-isysroot /some/path' (with a space) or
'-isysroot/some/path' (no space in between). Support both forms in
places where special handling of -isysroot is done, rather than just
the first form.
Co-authored-by: Ned Deily <nad@python.org>
5 years agobpo-38439: Add 256px IDLE icon (GH-17473)
Miro Hrončok [Wed, 22 Apr 2020 07:21:44 +0000 (09:21 +0200)] 
bpo-38439: Add 256px IDLE icon (GH-17473)

Icon author: Andrew Clover, bpo-1490384

5 years agobpo-40164: Update macOS installer builds to use OpenSSL 1.1.1g. (GH-19642)
Ned Deily [Wed, 22 Apr 2020 02:41:33 +0000 (22:41 -0400)] 
bpo-40164: Update macOS installer builds to use OpenSSL 1.1.1g. (GH-19642)

5 years agobpo-40327: Improve atomicity, speed, and memory efficiency of the items() loop (GH...
Raymond Hettinger [Tue, 21 Apr 2020 23:20:52 +0000 (16:20 -0700)] 
bpo-40327: Improve atomicity, speed, and memory efficiency of the items() loop (GH-19628)

5 years agoSmall improvements to the recipes and examples. (GH-19635)
Raymond Hettinger [Tue, 21 Apr 2020 23:11:00 +0000 (16:11 -0700)] 
Small improvements to the recipes and examples. (GH-19635)

* Add underscores to long numbers to improve readability
* Use bigger dataset in the bootstrapping example
* Convert single-server queue example to more useful multi-server queue

5 years agobpo-34037: Add Python API whatsnew for loop.shutdown_default_executor() (#19634)
Kyle Stanley [Tue, 21 Apr 2020 20:50:51 +0000 (16:50 -0400)] 
bpo-34037: Add Python API whatsnew for loop.shutdown_default_executor() (#19634)

Co-Authored-By: Victor Stinner <vstinner@python.org>
5 years agobpo-40335: Correctly handle multi-line strings in tokenize error scenarios (GH-19619)
Pablo Galindo [Tue, 21 Apr 2020 00:53:04 +0000 (01:53 +0100)] 
bpo-40335: Correctly handle multi-line strings in tokenize error scenarios (GH-19619)

Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
5 years agobpo-40313: speed up bytes.hex() (GH-19594)
sweeneyde [Tue, 21 Apr 2020 00:17:52 +0000 (20:17 -0400)] 
bpo-40313: speed up bytes.hex() (GH-19594)

Automerge-Triggered-By: @gpshead
5 years agoFix uninitialized struct member (GH-19589)
Raymond Hettinger [Mon, 20 Apr 2020 20:47:12 +0000 (13:47 -0700)] 
Fix uninitialized struct member (GH-19589)

5 years agobpo-39942:Fix failure in `TypeVar` when missing `__name__` (GH-19616)
HongWeipeng [Mon, 20 Apr 2020 20:01:53 +0000 (04:01 +0800)] 
bpo-39942:Fix failure in `TypeVar` when missing `__name__` (GH-19616)

https://bugs.python.org/issue39942

5 years agobpo-40330: Fix utf-8 size check in ShareableList (GH-19606)
Antoine Pitrou [Mon, 20 Apr 2020 18:54:55 +0000 (20:54 +0200)] 
bpo-40330: Fix utf-8 size check in ShareableList (GH-19606)

The item size must be checked after encoding to bytes, not before.

Automerge-Triggered-By: @pitrou
5 years agobpo-39849: Enable assertions in _testcapimodule.c and _testinternalcapi.c (GH-19623)
Hai Shi [Mon, 20 Apr 2020 16:49:13 +0000 (00:49 +0800)] 
bpo-39849: Enable assertions in _testcapimodule.c and _testinternalcapi.c (GH-19623)

5 years agobpo-40260: Revert breaking changes made in modulefinder (GH-19595)
Barry [Mon, 20 Apr 2020 14:58:42 +0000 (15:58 +0100)] 
bpo-40260: Revert breaking changes made in modulefinder (GH-19595)

5 years agoFix typo in Lib/tracepack.py (GH-19605)
Galden [Mon, 20 Apr 2020 02:17:37 +0000 (10:17 +0800)] 
Fix typo in Lib/tracepack.py (GH-19605)

Typo fix: "emites" -> "emit".

5 years agoignore Modules/python.exp on AIX (autogenerated) (GH-19607)
Batuhan Taşkaya [Sun, 19 Apr 2020 18:02:17 +0000 (21:02 +0300)] 
ignore Modules/python.exp on AIX (autogenerated) (GH-19607)

5 years agobpo-40148: Add PurePath.with_stem() (GH-19295)
Tim Hoffmann [Sun, 19 Apr 2020 15:29:49 +0000 (17:29 +0200)] 
bpo-40148: Add PurePath.with_stem() (GH-19295)

Add PurePath.with_stem()

5 years agobpo-38891: avoid quadratic item access performance of ShareableList (GH-18996)
Thomas Krennwallner [Sun, 19 Apr 2020 15:19:24 +0000 (11:19 -0400)] 
bpo-38891: avoid quadratic item access performance of ShareableList (GH-18996)

Avoid linear runtime of ShareableList.__getitem__ and
ShareableList.__setitem__ by storing running allocated bytes in
ShareableList._allocated_bytes instead of the number of bytes for
a particular stored item.

Co-authored-by: Antoine Pitrou <antoine@python.org>
5 years agobpo-39207: Spawn workers on demand in ProcessPoolExecutor (GH-19453)
Kyle Stanley [Sun, 19 Apr 2020 14:00:59 +0000 (10:00 -0400)] 
bpo-39207: Spawn workers on demand in ProcessPoolExecutor (GH-19453)

Roughly based on https://github.com/python/cpython/commit/904e34d4e6b6007986dcc585d5c553ee8ae06f95, but with a few substantial differences.

/cc @pitrou @brianquinlan

5 years agobpo-39285: Clarify example for PurePath.match (GH-19458)
Tim Lo [Sun, 19 Apr 2020 09:43:11 +0000 (05:43 -0400)] 
bpo-39285: Clarify example for PurePath.match (GH-19458)

Fixes Issue39285

The example incorrectly returned True for match.

Furthermore the example is ambiguous in its usage of PureWindowsPath.
Windows is case-insensitve, however the underlying match functionality
utilizes fnmatch.fnmatchcase.

Automerge-Triggered-By: @pitrou
5 years agobpo-40325: Deprecate set object support in random.sample() (GH-19591)
Raymond Hettinger [Sun, 19 Apr 2020 07:36:42 +0000 (00:36 -0700)] 
bpo-40325: Deprecate set object support in random.sample() (GH-19591)

5 years agobpo-27635: Fix pickle documentation about `__new__` not being called. (GH-19269)
Furkan Önder [Sat, 18 Apr 2020 18:09:09 +0000 (21:09 +0300)] 
bpo-27635: Fix pickle documentation about `__new__` not being called. (GH-19269)

Automerge-Triggered-By: @pitrou
5 years agobpo-35113: Fix inspect.getsource to return correct source for inner classes (#10307)
Karthikeyan Singaravelan [Sat, 18 Apr 2020 16:19:32 +0000 (21:49 +0530)] 
bpo-35113: Fix inspect.getsource to return correct source for inner classes (#10307)

* Use ast module to find class definition

* Add NEWS entry

* Fix class with multiple children and move decorator code to the method

* Fix PR comments

1. Use node.decorator_list to select decorators
2. Remove unwanted variables in ClassVisitor
3. Simplify stack management as per review

* Add test for nested functions and async calls

* Fix pydoc test since comments are returned now correctly

* Set event loop policy as None to fix environment related change

* Refactor visit_AsyncFunctionDef and tests

* Refactor to use local variables and fix tests

* Add patch attribution

* Use self.addCleanup for asyncio

* Rename ClassVisitor to ClassFinder and fix asyncio cleanup

* Return first class inside conditional in case of multiple definitions. Remove decorator for class source.

* Add docstring to make the test correct

* Modify NEWS entry regarding decorators

* Return decorators too for bpo-15856

* Move ast and the class source code to top. Use proper Exception.

5 years agoAdd spaces around the ":=" operator in ast_unparse.c (GH-19568)
Hakan Çelik [Sat, 18 Apr 2020 16:17:19 +0000 (19:17 +0300)] 
Add spaces around the ":=" operator in ast_unparse.c (GH-19568)

5 years agobpo-40178: Convert the remaining os functions to Argument Clinic. (GH-19360)
Serhiy Storchaka [Sat, 18 Apr 2020 16:14:10 +0000 (19:14 +0300)] 
bpo-40178: Convert the remaining os functions to Argument Clinic. (GH-19360)

Convert os.getgrouplist(), os.initgroups(), os.sendfile() and
os.get_terminal_size().

5 years agobpo-40179: Fix translation of #elif in Argument Clinic (GH-19364)
Serhiy Storchaka [Sat, 18 Apr 2020 14:52:48 +0000 (17:52 +0300)] 
bpo-40179: Fix translation of #elif in Argument Clinic (GH-19364)

Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
5 years agobpo-35967: Skip test with `uname -p` on Android (GH-19577)
Chih-Hsuan Yen [Sat, 18 Apr 2020 14:20:54 +0000 (22:20 +0800)] 
bpo-35967: Skip test with `uname -p` on Android (GH-19577)

The uname binary on Android does not support -p [1]. Here is a sample
log:
```
0:06:03 load avg: 0.56 [254/421/8] test_platform failed -- running: test_asyncio (5 min 53 sec)
uname: Unknown option p (see "uname --help")
test test_platform failed -- Traceback (most recent call last):
  File "/data/local/tmp/lib/python3.9/test/test_platform.py", line 170, in test_uname_processor
    proc_res = subprocess.check_output(['uname', '-p'], text=True).strip()
  File "/data/local/tmp/lib/python3.9/subprocess.py", line 420, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/data/local/tmp/lib/python3.9/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['uname', '-p']' returned non-zero exit status 1.
```
[1] https://android.googlesource.com/platform/external/toybox/+/refs/heads/master/toys/posix/uname.c

Automerge-Triggered-By: @jaraco
5 years agobpo-40257: Improve help for the typing module (GH-19546)
Serhiy Storchaka [Sat, 18 Apr 2020 14:13:21 +0000 (17:13 +0300)] 
bpo-40257: Improve help for the typing module (GH-19546)

* Show docstring for special forms.
* Show docstring for special generic aliases.
* Show documentation for __origin__ for generic aliases.

5 years agoFix two typos in multiprocessing (GH-19571)
Galden [Sat, 18 Apr 2020 06:58:29 +0000 (14:58 +0800)] 
Fix two typos in multiprocessing (GH-19571)

5 years agobpo-40286: Use random.randbytes() in tests (GH-19575)
Victor Stinner [Fri, 17 Apr 2020 20:54:38 +0000 (22:54 +0200)] 
bpo-40286: Use random.randbytes() in tests (GH-19575)

5 years agobpo-40286: Makes simpler the relation between randbytes() and getrandbits() (GH-19574)
Serhiy Storchaka [Fri, 17 Apr 2020 20:51:28 +0000 (23:51 +0300)] 
bpo-40286: Makes simpler the relation between randbytes() and getrandbits() (GH-19574)

5 years agobpo-39894: Route calls from pathlib.Path.samefile() to os.stat() via the path accesso...
Barney Gale [Fri, 17 Apr 2020 17:47:27 +0000 (18:47 +0100)] 
bpo-39894: Route calls from pathlib.Path.samefile() to os.stat() via the path accessor (GH-18836)

5 years agobpo-39897: Remove needless `Path(self.parent)` call, which makes `is_mount()` misbeha...
Barney Gale [Fri, 17 Apr 2020 17:42:06 +0000 (18:42 +0100)] 
bpo-39897: Remove needless `Path(self.parent)` call, which makes `is_mount()` misbehave in `Path` subclasses. (GH-18839)

5 years agobpo-40282: Allow random.getrandbits(0) (GH-19539)
Antoine Pitrou [Fri, 17 Apr 2020 17:32:14 +0000 (19:32 +0200)] 
bpo-40282: Allow random.getrandbits(0) (GH-19539)

5 years agobpo-40302: UTF-32 encoder SWAB4() macro use a|b rather than a+b (GH-19572)
Victor Stinner [Fri, 17 Apr 2020 17:13:34 +0000 (19:13 +0200)] 
bpo-40302: UTF-32 encoder SWAB4() macro use a|b rather than a+b (GH-19572)

5 years agobpo-40302: Replace PY_INT64_T with int64_t (GH-19573)
Victor Stinner [Fri, 17 Apr 2020 17:13:06 +0000 (19:13 +0200)] 
bpo-40302: Replace PY_INT64_T with int64_t (GH-19573)

* Replace PY_INT64_T with int64_t
* Replace PY_UINT32_T with uint32_t
* Replace PY_UINT64_T with uint64_t

sha3module.c no longer checks if PY_UINT64_T is defined since it's
always defined and uint64_t is always available on platforms
supported by Python.

5 years agobpo-40286: Add randbytes() method to random.Random (GH-19527)
Victor Stinner [Fri, 17 Apr 2020 17:05:35 +0000 (19:05 +0200)] 
bpo-40286: Add randbytes() method to random.Random (GH-19527)

Add random.randbytes() function and random.Random.randbytes()
method to generate random bytes.

Modify secrets.token_bytes() to use SystemRandom.randbytes()
rather than calling directly os.urandom().

Rename also genrand_int32() to genrand_uint32(), since it returns an
unsigned 32-bit integer, not a signed integer.

The _random module is now built with Py_BUILD_CORE_MODULE defined.

5 years agobpo-39901: Move `pathlib.Path.owner()` and `group()` implementations into the path...
Barney Gale [Fri, 17 Apr 2020 16:41:07 +0000 (17:41 +0100)] 
bpo-39901: Move `pathlib.Path.owner()` and `group()` implementations into the path accessor. (GH-18844)

5 years agobpo-40300: Allow empty logging.Formatter.default_msec_format. (GH-19551)
Mariusz Felisiak [Fri, 17 Apr 2020 16:02:47 +0000 (18:02 +0200)] 
bpo-40300: Allow empty logging.Formatter.default_msec_format. (GH-19551)

5 years agobpo-40302: Add pycore_byteswap.h header file (GH-19552)
Victor Stinner [Fri, 17 Apr 2020 15:47:20 +0000 (17:47 +0200)] 
bpo-40302: Add pycore_byteswap.h header file (GH-19552)

Add a new internal pycore_byteswap.h header file with the following
functions:

* _Py_bswap16()
* _Py_bswap32()
* _Py_bswap64()

Use these functions in _ctypes, sha256 and sha512 modules,
and also use in the UTF-32 encoder.

sha256, sha512 and _ctypes modules are now built with the internal
C API.

5 years agobpo-40287: Fix SpooledTemporaryFile.seek() return value (GH-19540)
Inada Naoki [Fri, 17 Apr 2020 06:56:35 +0000 (15:56 +0900)] 
bpo-40287: Fix SpooledTemporaryFile.seek() return value (GH-19540)

It has not returned the file position after the seek.

5 years agoMinor modernization and readability improvement to the tokenizer example (GH-19558)
Raymond Hettinger [Fri, 17 Apr 2020 02:54:13 +0000 (19:54 -0700)] 
Minor modernization and readability improvement to the tokenizer example (GH-19558)

5 years agobpo-40294: Fix _asyncio when module is loaded/unloaded multiple times (GH-19542)
Jeffrey Quesnelle [Fri, 17 Apr 2020 02:09:45 +0000 (22:09 -0400)] 
bpo-40294: Fix _asyncio when module is loaded/unloaded multiple times (GH-19542)

5 years agoFix parameter names in assertIn() docs (GH-18829)
Christoph Zwerschke [Fri, 17 Apr 2020 01:54:53 +0000 (03:54 +0200)] 
Fix parameter names in assertIn() docs (GH-18829)

The names "member" and "container" for the arguments are also used in the module and shown with the help() function, and are immediately understandable in this context, contrary to "first" and "second".

5 years agobpo-39793: use the same domain on make_msgid tests (#18698)
Batuhan Taşkaya [Thu, 16 Apr 2020 17:29:12 +0000 (20:29 +0300)] 
bpo-39793: use the same domain on make_msgid tests (#18698)

* bpo-39793: use same domain on make_msgid tests

* apply suggestions

5 years agobpo-40290: Add zscore() to statistics.NormalDist. (GH-19547)
Raymond Hettinger [Thu, 16 Apr 2020 17:25:14 +0000 (10:25 -0700)] 
bpo-40290: Add zscore() to statistics.NormalDist. (GH-19547)

5 years agobpo-35967 resolve platform.processor late (GH-12239)
Jason R. Coombs [Thu, 16 Apr 2020 12:28:09 +0000 (08:28 -0400)] 
bpo-35967 resolve platform.processor late (GH-12239)

* Replace flag-flip indirection with direct inspection

* Use any for simpler code

* Avoid flag flip and set results directly.

* Resolve processor in a single function.

* Extract processor handling into a namespace (class)

* Remove _syscmd_uname, unused

* Restore platform.processor behavior to match prior expectation (reliant on uname -p in a subprocess).

* Extract '_unknown_as_blank' function.

* Override uname_result to resolve the processor late.

* Add a test intended to capture the expected values from 'uname -p'

* Instead of trying to keep track of all of the possible outputs on different systems (probably a fool's errand), simply assert that except for the known platform variance, uname().processor matches the output of 'uname -p'

* Use a skipIf directive

* Use contextlib.suppress to suppress the error. Inline strip call.

* 📜🤖 Added by blurb_it.

* Remove use of contextlib.suppress (it would fail with NameError if it had any effect). Rely on _unknown_as_blank to replace unknown with blank.

Co-authored-by: blurb-it[bot] <blurb-it[bot]@users.noreply.github.com>
5 years agobpo-40209: Use tokenize.open in test_unparse (GH-19399)
Hakan Çelik [Thu, 16 Apr 2020 10:11:55 +0000 (13:11 +0300)] 
bpo-40209: Use tokenize.open in test_unparse (GH-19399)

5 years agoFix typo in exception thrown by ast.unparse (GH-19534)
Shantanu [Thu, 16 Apr 2020 10:10:12 +0000 (03:10 -0700)] 
Fix typo in exception thrown by ast.unparse (GH-19534)

5 years agobpo-35967: Make test_platform.test_uname_processor more lenient to satisfy build...
Jason R. Coombs [Wed, 15 Apr 2020 23:55:35 +0000 (19:55 -0400)] 
bpo-35967: Make test_platform.test_uname_processor more lenient to satisfy build bots. (GH-19544)

* bpo-35967: Make test more lenient to satisfy build bots.

* Update Lib/test/test_platform.py

Co-Authored-By: Kyle Stanley <aeros167@gmail.com>
* Expect '' for 'unknown'

Co-authored-by: Kyle Stanley <aeros167@gmail.com>
5 years agobpo-40270: Enable json extension in Windows sqlite extension (GH-19528)
Ammar Askar [Wed, 15 Apr 2020 21:19:26 +0000 (14:19 -0700)] 
bpo-40270: Enable json extension in Windows sqlite extension (GH-19528)

5 years agobpo-40257: Output object's own docstring in pydoc (GH-19479)
Serhiy Storchaka [Wed, 15 Apr 2020 20:00:20 +0000 (23:00 +0300)] 
bpo-40257: Output object's own docstring in pydoc (GH-19479)

5 years agobpo-29255: Wait in KqueueSelector.select when no fds are registered (GH-19508)
Russell Davis [Wed, 15 Apr 2020 18:57:06 +0000 (11:57 -0700)] 
bpo-29255: Wait in KqueueSelector.select when no fds are registered (GH-19508)

Also partially fixes bpo-25680 (there's still a discrepancy in behavior
on Windows that needs to be fixed).

5 years agobpo-35967: Baseline values for uname -p (GH-12824)
Jason R. Coombs [Wed, 15 Apr 2020 18:32:01 +0000 (14:32 -0400)] 
bpo-35967: Baseline values for uname -p (GH-12824)

* Add a test intended to capture the expected values from 'uname -p'

* Instead of trying to keep track of all of the possible outputs on different systems (probably a fool's errand), simply assert that except for the known platform variance, uname().processor matches the output of 'uname -p'

* Use a skipIf directive

* Use contextlib.suppress to suppress the error. Inline strip call.

5 years agobpo-40267: Fix message when last input character produces a SyntaxError (GH-19521)
Lysandros Nikolaou [Wed, 15 Apr 2020 18:22:10 +0000 (21:22 +0300)] 
bpo-40267: Fix message when last input character produces a SyntaxError (GH-19521)

When there is a SyntaxError after reading the last input character from
the tokenizer and if no newline follows it, the error message used to be
`unexpected EOF while parsing`, which is wrong.

5 years agoClean up compatibility code in importlib fixtures (#19156)
Jason R. Coombs [Wed, 15 Apr 2020 17:55:43 +0000 (13:55 -0400)] 
Clean up compatibility code in importlib fixtures (#19156)