]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
5 years agobpo-39987: Simplify setting lineno in the compiler. (GH-19037)
Serhiy Storchaka [Tue, 17 Mar 2020 16:07:30 +0000 (18:07 +0200)] 
bpo-39987: Simplify setting lineno in the compiler. (GH-19037)

5 years agobpo-39991: uuid._netstat_getnode() ignores IPv6 addresses (GH-19043)
Victor Stinner [Tue, 17 Mar 2020 14:51:42 +0000 (15:51 +0100)] 
bpo-39991: uuid._netstat_getnode() ignores IPv6 addresses (GH-19043)

uuid.getnode() now skips IPv6 addresses with the same string length
than a MAC address (17 characters): only use MAC addresses.

5 years agobpo-39973: Fix the docs for PyObject_GenericSetDict() (GH-19026)
Zackery Spytz [Tue, 17 Mar 2020 08:19:28 +0000 (02:19 -0600)] 
bpo-39973: Fix the docs for PyObject_GenericSetDict() (GH-19026)

PyObject_GenericSetDict() takes three arguments, not two.

5 years agobpo-39656: Ensure `bin/python3.#` is always present in virtual environments on POSIX...
Anthony Sottile [Tue, 17 Mar 2020 07:29:11 +0000 (00:29 -0700)] 
bpo-39656: Ensure `bin/python3.#` is always present in virtual environments on POSIX (GH-19030)

5 years agobpo-1635741: Port _ctypes_test extension to multiphase initialization (PEP 489)...
Hai Shi [Tue, 17 Mar 2020 01:15:23 +0000 (09:15 +0800)] 
bpo-1635741: Port  _ctypes_test extension to multiphase initialization (PEP 489) (GH-19012)

5 years agobpo-37207: Use PEP 590 vectorcall to speed up set() constructor (GH-19019)
Dong-hee Na [Mon, 16 Mar 2020 17:17:38 +0000 (02:17 +0900)] 
bpo-37207: Use PEP 590 vectorcall to speed up set() constructor (GH-19019)

5 years agobpo-39968: Fix a typo error in get_readline_state() (GH-19028)
Hai Shi [Mon, 16 Mar 2020 17:16:32 +0000 (01:16 +0800)] 
bpo-39968: Fix a typo error in get_readline_state() (GH-19028)

5 years agobpo-35370: PyEval_SetTrace() logs unraisable error (GH-18977)
Victor Stinner [Mon, 16 Mar 2020 16:41:44 +0000 (17:41 +0100)] 
bpo-35370: PyEval_SetTrace() logs unraisable error (GH-18977)

If PySys_Audit() fails in PyEval_SetProfile() or PyEval_SetTrace(),
log the error as an unraisable exception.

5 years agobpo-1635741: Port _statistics module to multiphase initialization (GH-19015)
Dong-hee Na [Mon, 16 Mar 2020 15:10:21 +0000 (00:10 +0900)] 
bpo-1635741: Port _statistics module to multiphase initialization (GH-19015)

5 years agobpo-37207: Add _PyArg_NoKwnames() helper function (GH-18980)
Dong-hee Na [Mon, 16 Mar 2020 14:06:20 +0000 (23:06 +0900)] 
bpo-37207: Add _PyArg_NoKwnames() helper function (GH-18980)

5 years agobpo-37207: Use _PyArg_CheckPositional() for tuple vectorcall (GH-18986)
Dong-hee Na [Mon, 16 Mar 2020 14:04:14 +0000 (23:04 +0900)] 
bpo-37207: Use _PyArg_CheckPositional() for tuple vectorcall (GH-18986)

5 years agobpo-39968: Convert extension modules' macros of get_module_state() to inline function...
Hai Shi [Mon, 16 Mar 2020 13:15:01 +0000 (21:15 +0800)] 
bpo-39968: Convert extension modules' macros of get_module_state() to inline functions (GH-19017)

5 years agobpo-39638: Keep ASDL signatures in the AST nodes (GH-18515)
Batuhan Taşkaya [Mon, 16 Mar 2020 08:12:53 +0000 (11:12 +0300)] 
bpo-39638: Keep ASDL signatures in the AST nodes (GH-18515)

5 years agobpo-38870: Implement support for ast.FunctionType in ast.unparse (GH-19016)
Batuhan Taşkaya [Sun, 15 Mar 2020 19:56:57 +0000 (22:56 +0300)] 
bpo-38870: Implement support for ast.FunctionType in ast.unparse (GH-19016)

5 years agobpo-39360: Ensure all workers exit when finalizing a multiprocessing Pool (GH-19009)
Batuhan Taşkaya [Sun, 15 Mar 2020 19:45:56 +0000 (22:45 +0300)] 
bpo-39360: Ensure all workers exit when finalizing a multiprocessing Pool (GH-19009)

When the pull is not used via the context manager or terminate() is called, there is a system in multiprocessing.util that handles finalization of all pools via an atexit handler (the Finalize) class. This class registers the _terminate_pool handler in the registry of finalizers of the module, and that registry is called on interpreter exit via _exit_function. The problem is that the "happy" path with the context manager or manual call to finalize() does some extra steps that _terminate_pool does not. The step that is not executed when the atexit() handler calls _terminate_pool is pinging the _change_notifier queue to unblock the maintenance threads.

This commit moves the notification to the _terminate_pool function so is called from both code paths.

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
5 years agoFix a possible refleak in tupleobject.c (GH-19018)
Hai Shi [Sun, 15 Mar 2020 19:37:49 +0000 (03:37 +0800)] 
Fix a possible refleak in tupleobject.c (GH-19018)

5 years agobpo-39969: Remove ast.Param node class as is no longer used (GH-19020)
Batuhan Taşkaya [Sun, 15 Mar 2020 19:32:17 +0000 (22:32 +0300)] 
bpo-39969: Remove ast.Param node class as is no longer used (GH-19020)

5 years agobpo-39507: Add HTTP status 418 "I'm a Teapot" (GH-18291)
Ross [Sun, 15 Mar 2020 12:24:23 +0000 (12:24 +0000)] 
bpo-39507: Add HTTP status 418 "I'm a Teapot" (GH-18291)

5 years agobpo-39965: Correctly raise SyntaxError if await is used outside async functions when...
Pablo Galindo [Sun, 15 Mar 2020 04:29:22 +0000 (04:29 +0000)] 
bpo-39965: Correctly raise SyntaxError if await is used outside async functions when PyCF_ALLOW_TOP_LEVEL_AWAIT is set (GH-19010)

5 years agoLink to list of keywords in the laguage reference (GH-18024)
Борис Верховский [Sat, 14 Mar 2020 19:09:15 +0000 (15:09 -0400)] 
Link to list of keywords in the laguage reference (GH-18024)

5 years agobpo-38576: Disallow control characters in hostnames in http.client (GH-18995)
Ashwin Ramaswami [Sat, 14 Mar 2020 18:56:06 +0000 (14:56 -0400)] 
bpo-38576: Disallow control characters in hostnames in http.client (GH-18995)

Add host validation for control characters for more CVE-2019-18348 protection.

5 years agobpo-39677: dis: rename the operand of MAKE_FUNCTION from `argc` to `flags` for 3...
Taine Zhao [Sat, 14 Mar 2020 14:24:06 +0000 (23:24 +0900)] 
bpo-39677: dis: rename the operand of MAKE_FUNCTION from `argc` to `flags` for 3.6+ (GC-18550)

5 years agobpo-39509: Update HTTP status code to follow IANA (GH-18294)
Dong-hee Na [Sat, 14 Mar 2020 14:12:01 +0000 (23:12 +0900)] 
bpo-39509: Update HTTP status code to follow IANA (GH-18294)

Add status codes 103 EARLY_HINTS and 425 TOO_EARLY.

5 years agobpo-39582: ossaudiodev module update helpers signature for ioctl calls. (GH-18412)
David CARLIER [Sat, 14 Mar 2020 13:48:56 +0000 (13:48 +0000)] 
bpo-39582: ossaudiodev module update helpers signature for ioctl calls. (GH-18412)

5 years agobpo-39585: Delete a pending comment in _warning.c (GH-18414)
Hai Shi [Sat, 14 Mar 2020 13:40:58 +0000 (21:40 +0800)] 
bpo-39585: Delete a pending comment in _warning.c (GH-18414)

5 years agoMake cpython/abstract.h compatible with C90 (#18481)
Peter Eisentraut [Sat, 14 Mar 2020 11:47:09 +0000 (12:47 +0100)] 
Make cpython/abstract.h compatible with C90 (#18481)

Some inline functions use mixed declarations and code.  These end up
visible in third-party code that includes Python.h, which might not be
using a C99 compiler.  Fix by moving the declarations first, like in
the old days.

5 years agobpo-39871: Fix possible SystemError in atan2, copysign and remainder (GH-18806)
Zackery Spytz [Sat, 14 Mar 2020 10:45:32 +0000 (04:45 -0600)] 
bpo-39871: Fix possible SystemError in atan2, copysign and remainder (GH-18806)

In math_2(), the first PyFloat_AsDouble() call should be checked
for failure before the second call.

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
5 years agoRevert "bpo-39087: Add _PyUnicode_GetUTF8Buffer()" (GH-18985)
Inada Naoki [Sat, 14 Mar 2020 06:59:27 +0000 (15:59 +0900)] 
Revert "bpo-39087: Add _PyUnicode_GetUTF8Buffer()" (GH-18985)

* Revert "bpo-39087: Add _PyUnicode_GetUTF8Buffer() (GH-17659)"

This reverts commit c7ad974d341d3edb6b9d2a2dcae4d3d4794ada6b.

* Update unicodeobject.h

5 years agobpo-39937: Improve suggestions for removal of getchildren and getiterator in changelo...
Rahul Kumaresan [Sat, 14 Mar 2020 05:50:24 +0000 (11:20 +0530)] 
bpo-39937: Improve suggestions for removal of getchildren and getiterator in changelog (GH-18937)

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
5 years agobpo-39087: Add _PyUnicode_GetUTF8Buffer() (GH-17659)
Inada Naoki [Sat, 14 Mar 2020 03:43:18 +0000 (12:43 +0900)] 
bpo-39087: Add _PyUnicode_GetUTF8Buffer() (GH-17659)

Co-authored-by: Victor Stinner <vstinner@python.org>
5 years agobpo-39947: Add PyThreadState_GetInterpreter() (GH-18981)
Victor Stinner [Fri, 13 Mar 2020 22:38:08 +0000 (23:38 +0100)] 
bpo-39947: Add PyThreadState_GetInterpreter() (GH-18981)

Add PyThreadState_GetInterpreter(tstate): get the interpreter of a
Python thread state.

5 years agobpo-39947: Add PyInterpreterState_Get() function (GH-18979)
Victor Stinner [Fri, 13 Mar 2020 17:15:33 +0000 (18:15 +0100)] 
bpo-39947: Add PyInterpreterState_Get() function (GH-18979)

* Rename _PyInterpreterState_Get() to PyInterpreterState_Get() and
  move it the limited C API.
* Add _PyInterpreterState_Get() alias to PyInterpreterState_Get() for
  backward compatibility with Python 3.8.

5 years agobpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978)
Victor Stinner [Fri, 13 Mar 2020 17:03:56 +0000 (18:03 +0100)] 
bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978)

Replace _PyInterpreterState_Get() function call with
_PyInterpreterState_GET_UNSAFE() macro which is more efficient but
don't check if tstate or interp is NULL.

_Py_GetConfigsAsDict() now uses _PyThreadState_GET().

5 years agobpo-36144: OrderedDict Union (PEP 584) (#18967)
Brandt Bucher [Fri, 13 Mar 2020 16:06:04 +0000 (09:06 -0700)] 
bpo-36144: OrderedDict Union (PEP 584) (#18967)

5 years agobpo-36144: Update os.environ and os.environb for PEP 584 (#18911)
Charles Burkland [Fri, 13 Mar 2020 16:04:43 +0000 (09:04 -0700)] 
bpo-36144: Update os.environ and os.environb for PEP 584  (#18911)

5 years agobpo-39947: Hide implementation detail of trashcan macros (GH-18971)
Victor Stinner [Fri, 13 Mar 2020 15:51:52 +0000 (16:51 +0100)] 
bpo-39947: Hide implementation detail of trashcan macros (GH-18971)

Py_TRASHCAN_BEGIN_CONDITION and Py_TRASHCAN_END macro no longer
access PyThreadState attributes, but call new private
_PyTrash_begin() and _PyTrash_end() functions which hide
implementation details.

5 years agobpo-35370: Add _PyEval_SetTrace() function (GH-18975)
Victor Stinner [Fri, 13 Mar 2020 15:39:12 +0000 (16:39 +0100)] 
bpo-35370: Add _PyEval_SetTrace() function (GH-18975)

* sys.settrace(), sys.setprofile() and _lsprof.Profiler.enable() now
  properly report PySys_Audit() error if "sys.setprofile" or
  "sys.settrace" audit event is denied.
* Add _PyEval_SetProfile() and _PyEval_SetTrace() function: similar
  to PyEval_SetProfile() and PyEval_SetTrace() but take a tstate
  parameter and return -1 on error.
* Add _PyObject_FastCallTstate() function.

5 years agobpo-37207: Use PEP 590 vectorcall to speed up tuple() (GH-18936)
Dong-hee Na [Fri, 13 Mar 2020 13:57:00 +0000 (22:57 +0900)] 
bpo-37207: Use PEP 590 vectorcall to speed up tuple() (GH-18936)

Master:

./python.exe -m pyperf timeit "tuple((1, 2, 3, 4, 5))"
Mean +- std dev: 361 ns +- 15 ns

PEP-590:

./python.exe -m pyperf timeit "tuple((1, 2, 3, 4, 5))"
Mean +- std dev: 203 ns +- 13 ns

5 years agobpo-39947: Move get_recursion_depth() to _testinternalcapi (GH-18974)
Victor Stinner [Fri, 13 Mar 2020 12:07:31 +0000 (13:07 +0100)] 
bpo-39947: Move get_recursion_depth() to _testinternalcapi (GH-18974)

Move get_recursion_depth() function from _testcapi to
_testinternalcapi to avoid accessing PyThreadState attributes
directly in _testcapi.

5 years agobpo-39947: Move Py_EnterRecursiveCall() to internal C API (GH-18972)
Victor Stinner [Fri, 13 Mar 2020 09:19:38 +0000 (10:19 +0100)] 
bpo-39947: Move Py_EnterRecursiveCall() to internal C API (GH-18972)

Move the static inline function flavor of Py_EnterRecursiveCall() and
Py_LeaveRecursiveCall() to the internal C API: they access
PyThreadState attributes. The limited C API provides regular
functions which hide implementation details.

5 years agobpo-38500: Add _PyInterpreterState_SetEvalFrameFunc() (GH-17340)
Victor Stinner [Thu, 12 Mar 2020 22:18:39 +0000 (23:18 +0100)] 
bpo-38500: Add _PyInterpreterState_SetEvalFrameFunc() (GH-17340)

PyInterpreterState.eval_frame function now requires a tstate (Python
thread state) parameter.

Add private functions to the C API to get and set the frame
evaluation function:

* Add tstate parameter to _PyFrameEvalFunction function type.
* Add _PyInterpreterState_GetEvalFrameFunc() and
  _PyInterpreterState_SetEvalFrameFunc() functions.
* Add tstate parameter to _PyEval_EvalFrameDefault().

5 years agobpo-39936: _aix_support uses _bootsubprocess (GH-18970)
Victor Stinner [Thu, 12 Mar 2020 22:15:34 +0000 (23:15 +0100)] 
bpo-39936: _aix_support uses _bootsubprocess (GH-18970)

AIX: Fix _aix_support module when the subprocess is not available,
when building Python from scratch. It now uses new private
_bootsubprocess module, rather than having two implementations
depending if subprocess is available or not. So
_aix_support.aix_platform() result is now the same if subprocess is
available or not.

5 years agobpo-39689: Do not test undefined casts to _Bool (GH-18964)
Stefan Krah [Thu, 12 Mar 2020 18:35:38 +0000 (19:35 +0100)] 
bpo-39689: Do not test undefined casts to _Bool (GH-18964)

- When casting to _Bool, arrays should only contain zeros or ones.

5 years agoDoc: Fix grammar in PyErr_ResourceWarning (GH-18879)
Daniel Hahler [Thu, 12 Mar 2020 17:09:30 +0000 (18:09 +0100)] 
Doc: Fix grammar in PyErr_ResourceWarning (GH-18879)

5 years agobpo-1294959: Fix typo for new attribute platlibdir. (GH-18960)
Raúl Cumplido [Thu, 12 Mar 2020 14:38:19 +0000 (15:38 +0100)] 
bpo-1294959: Fix typo for new attribute platlibdir. (GH-18960)

Received email on the docs mailing list to fix a typo from `sys.platlitdir` which doesn't exist to the correct new attribute `sys.platlibdir`

Automerge-Triggered-By: @vstinner
5 years agoRemove unused args from two pylifecycle.c functions (GH-18867)
Andy Lester [Thu, 12 Mar 2020 07:49:05 +0000 (02:49 -0500)] 
Remove unused args from two pylifecycle.c functions (GH-18867)

* Remove unused tstate argument from init_set_builtins_open()
* Replace fd (int) with tstate (PyThreadState *) in in _Py_FatalError_PrintExc()

5 years agobpo-39884: Add method name in "bad call flags" error (GH-18944)
Victor Stinner [Thu, 12 Mar 2020 07:38:11 +0000 (08:38 +0100)] 
bpo-39884: Add method name in "bad call flags" error (GH-18944)

PyDescr_NewMethod() and PyCFunction_NewEx() now include the method
name in the SystemError "bad call flags" error message to ease debug.

5 years agoSimplify defaultdict.__or__ (#18931)
Brandt Bucher [Thu, 12 Mar 2020 04:06:46 +0000 (21:06 -0700)] 
Simplify defaultdict.__or__ (#18931)

5 years agoFix syntax error in an example in the ast documentation and sync docstrings (GH-18946)
Pablo Galindo [Thu, 12 Mar 2020 00:48:19 +0000 (00:48 +0000)] 
Fix syntax error in an example in the ast documentation and sync docstrings (GH-18946)

5 years agobpo-38080: Added "getproxies" to urllib fixes in the 2to3 tool (GH-16167)
José Roberto Meza Cabrera [Wed, 11 Mar 2020 23:51:20 +0000 (18:51 -0500)] 
bpo-38080: Added "getproxies" to urllib fixes in the 2to3 tool (GH-16167)

5 years agobpo-39847: EnterNonRecursiveMutex() uses GetTickCount64() (GH-18780)
bobince [Wed, 11 Mar 2020 23:39:02 +0000 (23:39 +0000)] 
bpo-39847: EnterNonRecursiveMutex() uses GetTickCount64() (GH-18780)

The 32-bit (49-day) TickCount relied on in EnterNonRecursiveMutex can overflow
in the gap between the 'target' time and the 'now' time WaitForSingleObjectEx
returns, causing the loop to think it needs to wait another 49 days. This is
most likely to happen when the machine is hibernated during
WaitForSingleObjectEx.

This makes acquiring a lock/event/etc from the _thread or threading module
appear to never timeout.

Replace with GetTickCount64 - this is OK now Python no longer supports XP which
lacks it, and is in use for time.monotonic().

Co-authored-by: And Clover <and.clover@bromium.com>
5 years agobpo-39930: Fix MSBuild detection for Build Tools (GH-18938)
Steve Dower [Wed, 11 Mar 2020 23:24:30 +0000 (23:24 +0000)] 
bpo-39930: Fix MSBuild detection for Build Tools (GH-18938)

Ensure we detect Build Tools installs using the newer logic, and skip looking in the registry for VS 2017.

5 years agobpo-1635741: Fix refleaks of time module error handling (GH-18486)
Hai Shi [Wed, 11 Mar 2020 16:56:08 +0000 (00:56 +0800)] 
bpo-1635741: Fix refleaks of time module error handling (GH-18486)

5 years agobpo-1635741: Fix potential refleaks in binascii module (GH-18613)
Hai Shi [Wed, 11 Mar 2020 16:50:52 +0000 (00:50 +0800)] 
bpo-1635741: Fix potential refleaks in binascii module (GH-18613)

5 years agobpo-1635741: Port audioop extension module to multiphase initialization (PEP 489...
Hai Shi [Wed, 11 Mar 2020 16:49:11 +0000 (00:49 +0800)] 
bpo-1635741: Port audioop extension module to multiphase initialization (PEP 489) (GH-18608)

Co-authored-by: Victor Stinner <vstinner@python.org>
5 years agobpo-1635741: Port _locale extension module to multiphase initialization (PEP 489...
Hai Shi [Wed, 11 Mar 2020 16:46:06 +0000 (00:46 +0800)] 
bpo-1635741: Port _locale extension module to multiphase initialization (PEP 489) (GH-18358)

Co-authored-by: Petr Viktorin <pviktori@redhat.com>
5 years agobpo-39916: Use os.scandir() as context manager in Path.glob(). (GH-18880)
Serhiy Storchaka [Wed, 11 Mar 2020 16:42:03 +0000 (18:42 +0200)] 
bpo-39916: Use os.scandir() as context manager in Path.glob(). (GH-18880)

5 years agobpo-39915: Ensure await_args_list is updated according to the order in which coroutin...
Karthikeyan Singaravelan [Wed, 11 Mar 2020 15:06:12 +0000 (20:36 +0530)] 
bpo-39915: Ensure await_args_list is updated according to the order in which coroutines were awaited (GH-18924)

Create call objects with awaited arguments instead of using call_args which has only last call value.

5 years agobpo-39930: Convert error to warning for more silent failure (GH-18921)
Steve Dower [Wed, 11 Mar 2020 14:12:31 +0000 (14:12 +0000)] 
bpo-39930: Convert error to warning for more silent failure (GH-18921)

Makes it an error to create a layout without vcruntime DLL

5 years agobpo-39761: Fix dtrace build with empty $DFLAGS (GH-18766)
Petr Viktorin [Wed, 11 Mar 2020 13:27:42 +0000 (14:27 +0100)] 
bpo-39761: Fix dtrace build with empty $DFLAGS (GH-18766)

This fixes a regression introduced in bpo-38960.

When DFLAGS was empty, "$DFLAGS" results in an empty argument ("").
Without the quotes, an empty variable will be ignored by the shell.

5 years agobpo-39930: Ensure vcruntime140.dll is included in all Windows packages (GH-18918)
Steve Dower [Wed, 11 Mar 2020 11:18:12 +0000 (11:18 +0000)] 
bpo-39930: Ensure vcruntime140.dll is included in all Windows packages (GH-18918)

Also adds GitHub CI test for Windows installer changes

5 years agoFix download.html (GH-18902)
Inada Naoki [Wed, 11 Mar 2020 04:23:24 +0000 (13:23 +0900)] 
Fix download.html (GH-18902)

`<tt>` is not allowed.

Co-authored-by: Kyle Stanley <aeros167@gmail.com>
5 years agobpo-39926: Update unicodedata checksum tests for Unicode 13.0 update. (GH-18913)
Benjamin Peterson [Wed, 11 Mar 2020 04:18:33 +0000 (21:18 -0700)] 
bpo-39926: Update unicodedata checksum tests for Unicode 13.0 update. (GH-18913)

I forget these tests required the cpu resource.

5 years agoUpdate some www.unicode.org URLs to use HTTPS. (GH-18912)
Benjamin Peterson [Wed, 11 Mar 2020 04:10:59 +0000 (21:10 -0700)] 
Update some www.unicode.org URLs to use HTTPS. (GH-18912)

5 years agocloses bpo-39926: Update Unicode to 13.0.0. (GH-18910)
Benjamin Peterson [Wed, 11 Mar 2020 03:41:34 +0000 (20:41 -0700)] 
closes bpo-39926: Update Unicode to 13.0.0. (GH-18910)

5 years agocloses bpo-39922: Remove unused args from four functions. (GH-18893)
Andy Lester [Wed, 11 Mar 2020 02:18:12 +0000 (21:18 -0500)] 
closes bpo-39922: Remove unused args from four functions. (GH-18893)

5 years agoUpdates functools.py with consistent quotes (GH-18825)
Nikita Sobolev [Wed, 11 Mar 2020 00:32:15 +0000 (03:32 +0300)] 
Updates functools.py with consistent quotes (GH-18825)

I have noticed that `'` quotes are used everywhere except this particular case,
which was introduced in https://github.com/python/cpython/pull/18726

So, this is a trivial fix to enforce better consistency.

5 years agobpo-38631: _PyGILState_Init() returns PyStatus (GH-18908)
Victor Stinner [Tue, 10 Mar 2020 22:49:16 +0000 (23:49 +0100)] 
bpo-38631: _PyGILState_Init() returns PyStatus (GH-18908)

_PyGILState_Init() now returns PyStatus rather than calling
Py_FatalError() on failure.

5 years agobpo-38662: ensurepip invokes pip via runpy (GH-18901)
Miro Hrončok [Tue, 10 Mar 2020 21:16:28 +0000 (22:16 +0100)] 
bpo-38662: ensurepip invokes pip via runpy (GH-18901)

The ensurepip module now invokes pip via the runpy module.
Hence it is no longer tightly coupled with the internal API of the bundled
pip version, allowing easier updates to a newer pip version both
internally and for distributors.

This way, any changes to the internal pip API won't mean ensurepip needs to be
changed as well. Also, distributors can update their pip wheels independent on
CPython release schedule.

Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com>
Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
5 years agotracemalloc: 'pretty top' example no longer changes the filename (GH-18903)
Adam Johnson [Tue, 10 Mar 2020 18:18:50 +0000 (18:18 +0000)] 
tracemalloc: 'pretty top' example no longer changes the filename (GH-18903)

I've used this recipe a couple times and the filename editing has always
been less than useful and something I've removed. This is because many
modules end up losing which package they are located in, e.g. `util/date.py`.

5 years agobpo-34822: Simplify AST for subscription. (GH-9605)
Serhiy Storchaka [Tue, 10 Mar 2020 16:52:34 +0000 (18:52 +0200)] 
bpo-34822: Simplify AST for subscription. (GH-9605)

* Remove the slice type.
* Make Slice a kind of the expr type instead of the slice type.
* Replace ExtSlice(slices) with Tuple(slices, Load()).
* Replace Index(value) with a value itself.

All non-terminal nodes in AST for expressions are now of the expr type.

5 years agobpo-39869: Fix typo in 'Instance objects' section. (GH-18889)
Antoine [Tue, 10 Mar 2020 14:17:40 +0000 (15:17 +0100)] 
bpo-39869: Fix typo in 'Instance objects' section. (GH-18889)

5 years agobpo-38075: Fix random_seed(): use PyObject_CallOneArg() (GH-18897)
Victor Stinner [Tue, 10 Mar 2020 14:15:14 +0000 (15:15 +0100)] 
bpo-38075: Fix random_seed(): use PyObject_CallOneArg() (GH-18897)

Fix the random.Random.seed() method when a bool is passed as the
seed.

PyObject_Vectorcall() was misused: use PyObject_CallOneArg() instead.

5 years agobpo-1294959: Add sys.platlibdir attribute (GH-18381)
Victor Stinner [Tue, 10 Mar 2020 08:53:09 +0000 (09:53 +0100)] 
bpo-1294959: Add sys.platlibdir attribute (GH-18381)

Add --with-platlibdir option to the configure script: name of the
platform-specific library directory, stored in the new sys.platlitdir
attribute. It is used to build the path of platform-specific dynamic
libraries and the path of the standard library.

It is equal to "lib" on most platforms. On Fedora and SuSE, it is
equal to "lib64" on 64-bit systems.

Co-Authored-By: Jan Matějek <jmatejek@suse.com>
Co-Authored-By: Matěj Cepl <mcepl@cepl.eu>
Co-Authored-By: Charalampos Stratakis <cstratak@redhat.com>
5 years agobpo-39828: Fix json.tool to catch BrokenPipeError (GH-18779)
Dong-hee Na [Tue, 10 Mar 2020 07:41:44 +0000 (16:41 +0900)] 
bpo-39828: Fix json.tool to catch BrokenPipeError (GH-18779)

5 years agobpo-39877: Deprecate PyEval_InitThreads() (GH-18892)
Victor Stinner [Tue, 10 Mar 2020 00:28:54 +0000 (01:28 +0100)] 
bpo-39877: Deprecate PyEval_InitThreads() (GH-18892)

Deprecated PyEval_InitThreads() and PyEval_ThreadsInitialized().
Calling PyEval_InitThreads() now does nothing.

5 years agobpo-39877: PyGILState_Ensure() don't call PyEval_InitThreads() (GH-18891)
Victor Stinner [Mon, 9 Mar 2020 23:37:48 +0000 (00:37 +0100)] 
bpo-39877: PyGILState_Ensure() don't call PyEval_InitThreads() (GH-18891)

PyGILState_Ensure() doesn't call PyEval_InitThreads() anymore when a
new Python thread state is created. The GIL is created by
Py_Initialize() since Python 3.7, it's not needed to call
PyEval_InitThreads() explicitly.

Add an assertion to ensure that the GIL is already created.

5 years agobpo-39763: Add _bootsubprocess to build Python on AIX (GH-18872)
Victor Stinner [Mon, 9 Mar 2020 22:45:59 +0000 (23:45 +0100)] 
bpo-39763: Add _bootsubprocess to build Python on AIX (GH-18872)

Add _bootsubprocess module to bootstrap Python: subprocess
implementation which only uses the os module.

On AIX, distutils.util uses _aix_support which calls
subprocess.check_output(), before the _posixsubprocess module is
built. Implement check_output() with os.system() in _bootsubprocess.

5 years agobpo-19466: Py_Finalize() clears daemon threads earlier (GH-18848)
Victor Stinner [Mon, 9 Mar 2020 22:37:49 +0000 (23:37 +0100)] 
bpo-19466: Py_Finalize() clears daemon threads earlier (GH-18848)

Clear the frames of daemon threads earlier during the Python shutdown to
call objects destructors. So "unclosed file" resource warnings are now
emitted for daemon threads in a more reliable way.

Cleanup _PyThreadState_DeleteExcept() code: rename "garbage" to
"list".

5 years agobpo-28577: Special case added to IP v4 and v6 hosts for /32 and /128 networks (GH...
Pete Wicken [Mon, 9 Mar 2020 22:33:45 +0000 (22:33 +0000)] 
bpo-28577: Special case added to IP v4 and v6 hosts for /32 and /128 networks (GH-18757)

The `.hosts()` method now returns the single address present in a /32 or /128 network.

5 years agobpo-39877: take_gil() checks tstate_must_exit() twice (GH-18890)
Victor Stinner [Mon, 9 Mar 2020 22:10:53 +0000 (23:10 +0100)] 
bpo-39877: take_gil() checks tstate_must_exit() twice (GH-18890)

take_gil() now also checks tstate_must_exit() after acquiring
the GIL: exit the thread if Py_Finalize() has been called.

5 years agobpo-36287: Make ast.dump() not output optional fields and attributes with default...
Serhiy Storchaka [Mon, 9 Mar 2020 22:07:47 +0000 (00:07 +0200)] 
bpo-36287: Make ast.dump() not output optional fields and attributes with default values. (GH-18843)

The default values for optional fields and attributes of AST nodes are now set
as class attributes (e.g. Constant.kind is set to None).

5 years agobpo-39877: Refactor take_gil() function (GH-18885)
Victor Stinner [Mon, 9 Mar 2020 21:12:04 +0000 (22:12 +0100)] 
bpo-39877: Refactor take_gil() function (GH-18885)

* Remove ceval parameter of take_gil(): get it from tstate.
* Move exit_thread_if_finalizing() call inside take_gil(). Replace
  exit_thread_if_finalizing() with tstate_must_exit(): the caller is
  now responsible to call PyThread_exit_thread().
* Move is_tstate_valid() assertion inside take_gil(). Remove
  is_tstate_valid(): inline code into take_gil().
* Move gil_created() assertion inside take_gil().

5 years agobpo-27115: Use Query subclass for IDLE editor Goto (GH-18871)
Terry Jan Reedy [Mon, 9 Mar 2020 20:51:20 +0000 (16:51 -0400)] 
bpo-27115: Use Query subclass for IDLE editor Goto (GH-18871)

Replace tkinter tkSimpleDialog.askinteger with a standard IDLE query dialog.
The new box checks for positivity before returning.

5 years agobpo-38870: Simplify sequence interleaves in ast.unparse (GH-17892)
Batuhan Taşkaya [Mon, 9 Mar 2020 20:27:03 +0000 (23:27 +0300)] 
bpo-38870: Simplify sequence interleaves in ast.unparse (GH-17892)

5 years agobpo-39877: Py_Initialize() pass tstate to PyEval_InitThreads() (GH-18884)
Victor Stinner [Mon, 9 Mar 2020 20:24:14 +0000 (21:24 +0100)] 
bpo-39877: Py_Initialize() pass tstate to PyEval_InitThreads() (GH-18884)

5 years agobpo-39877: Remove useless PyEval_InitThreads() calls (GH-18883)
Victor Stinner [Mon, 9 Mar 2020 19:56:57 +0000 (20:56 +0100)] 
bpo-39877: Remove useless PyEval_InitThreads() calls (GH-18883)

Py_Initialize() calls PyEval_InitThreads() since Python 3.7. It's no
longer needed to call it explicitly.

5 years agobpo-38249: Expand Py_UNREACHABLE() to __builtin_unreachable() in the release mode...
Serhiy Storchaka [Mon, 9 Mar 2020 18:49:52 +0000 (20:49 +0200)] 
bpo-38249: Expand Py_UNREACHABLE() to __builtin_unreachable() in the release mode. (GH-16329)

Co-authored-by: Victor Stinner <vstinner@python.org>
5 years agobpo-36184: Port python-gdb.py to FreeBSD (GH-18873)
Victor Stinner [Mon, 9 Mar 2020 18:35:26 +0000 (19:35 +0100)] 
bpo-36184: Port python-gdb.py to FreeBSD (GH-18873)

python-gdb.py now checks for "take_gil" function name to check if a
frame tries to acquire the GIL, instead of checking for
"pthread_cond_timedwait" which is specific to Linux and can be a
different condition than the GIL.

5 years agobpo-38643: Raise SystemError instead of crashing when PyNumber_ToBase is called with...
Serhiy Storchaka [Mon, 9 Mar 2020 18:03:38 +0000 (20:03 +0200)] 
bpo-38643: Raise SystemError instead of crashing when PyNumber_ToBase is called with invalid base. (GH-18863)

5 years agobpo-39904: Move handling of one-argument call of type() from type.__new__() to type...
Serhiy Storchaka [Mon, 9 Mar 2020 17:59:03 +0000 (19:59 +0200)] 
bpo-39904: Move handling of one-argument call of type() from type.__new__() to type.__call__(). (GH-18852)

5 years agobpo-39850: Add support for abstract sockets in multiprocessing (GH-18866)
Pablo Galindo [Mon, 9 Mar 2020 13:48:01 +0000 (13:48 +0000)] 
bpo-39850: Add support for abstract sockets in multiprocessing (GH-18866)

5 years agobpo-39822: Use NULL instead of None for empty attrib in Element. (GH-18735)
Serhiy Storchaka [Mon, 9 Mar 2020 13:12:41 +0000 (15:12 +0200)] 
bpo-39822: Use NULL instead of None for empty attrib in Element. (GH-18735)

5 years agobpo-39903: Fix double decref in _elementtree.Element.__getstate__ (GH-18850)
Serhiy Storchaka [Mon, 9 Mar 2020 12:37:08 +0000 (14:37 +0200)] 
bpo-39903: Fix double decref in _elementtree.Element.__getstate__ (GH-18850)

5 years agobpo-38691: importlib ignores PYTHONCASEOK if -E is used (GH-18627)
idomic [Mon, 9 Mar 2020 11:57:53 +0000 (07:57 -0400)] 
bpo-38691: importlib ignores PYTHONCASEOK if -E is used (GH-18627)

The importlib module now ignores the PYTHONCASEOK
environment variable when the -E or -I command line
options are being used.

5 years agobpo-27115: Move IDLE Query error blanking (GH-18868)
Terry Jan Reedy [Mon, 9 Mar 2020 05:38:07 +0000 (01:38 -0400)] 
bpo-27115: Move IDLE Query error blanking (GH-18868)

Move required blanking of error text to non-overridden entry_ok().
(Omit news item.)

5 years agoFix typo in the parser generator (GH-18603)
xatier [Mon, 9 Mar 2020 02:58:24 +0000 (19:58 -0700)] 
Fix typo in the parser generator (GH-18603)

5 years agobpo-39517: Allow runpy.run_path() to accept path-like objects (GH-18699)
Maor Kleinberger [Sun, 8 Mar 2020 20:43:17 +0000 (22:43 +0200)] 
bpo-39517: Allow runpy.run_path() to accept path-like objects (GH-18699)

5 years ago bpo-39885: IDLE context menu clears selection (#18859)
Terry Jan Reedy [Sun, 8 Mar 2020 19:30:04 +0000 (15:30 -0400)] 
 bpo-39885: IDLE context menu clears selection  (#18859)

Since clicking to get an IDLE context menu moves the cursor,
any text selection should be and now is cleared.

5 years agobpo-39852: IDLE 'Go to line' deletes selection, updates status (GH-18801)
Terry Jan Reedy [Sun, 8 Mar 2020 18:32:42 +0000 (14:32 -0400)] 
bpo-39852: IDLE 'Go to line' deletes selection, updates status (GH-18801)

It appears standard that moving the text insert cursor away from a selection clears the
selection.  Clearing prevents accidental deletion of a possibly off-screen bit of text.
The update is for Ln and Col on the status bar.