summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bpo-35370: PyEval_SetTrace() logs unraisable error (GH-18977)Victor Stinner2020-03-162-2/+10
| | | | If PySys_Audit() fails in PyEval_SetProfile() or PyEval_SetTrace(), log the error as an unraisable exception.
* bpo-1635741: Port _statistics module to multiphase initialization (GH-19015)Dong-hee Na2020-03-162-3/+8
|
* bpo-37207: Add _PyArg_NoKwnames() helper function (GH-18980)Dong-hee Na2020-03-165-5/+24
|
* bpo-37207: Use _PyArg_CheckPositional() for tuple vectorcall (GH-18986)Dong-hee Na2020-03-161-2/+2
|
* bpo-39968: Convert extension modules' macros of get_module_state() to inline ↵Hai Shi2020-03-1617-164/+279
| | | | functions (GH-19017)
* bpo-39638: Keep ASDL signatures in the AST nodes (GH-18515)Batuhan Taşkaya2020-03-167-132/+343
|
* bpo-38870: Implement support for ast.FunctionType in ast.unparse (GH-19016)Batuhan Taşkaya2020-03-152-3/+20
|
* bpo-39360: Ensure all workers exit when finalizing a multiprocessing Pool ↵Batuhan Taşkaya2020-03-153-2/+27
| | | | | | | | | (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>
* Fix a possible refleak in tupleobject.c (GH-19018)Hai Shi2020-03-151-1/+3
|
* bpo-39969: Remove ast.Param node class as is no longer used (GH-19020)Batuhan Taşkaya2020-03-157-51/+27
|
* bpo-39507: Add HTTP status 418 "I'm a Teapot" (GH-18291)Ross2020-03-155-3/+9
|
* bpo-39965: Correctly raise SyntaxError if await is used outside async ↵Pablo Galindo2020-03-153-4/+49
| | | | functions when PyCF_ALLOW_TOP_LEVEL_AWAIT is set (GH-19010)
* Link to list of keywords in the laguage reference (GH-18024)Борис Верховский2020-03-141-5/+6
|
* bpo-38576: Disallow control characters in hostnames in http.client (GH-18995)Ashwin Ramaswami2020-03-144-3/+57
| | | | Add host validation for control characters for more CVE-2019-18348 protection.
* bpo-39677: dis: rename the operand of MAKE_FUNCTION from `argc` to `flags` ↵Taine Zhao2020-03-142-1/+2
| | | | for 3.6+ (GC-18550)
* bpo-39509: Update HTTP status code to follow IANA (GH-18294)Dong-hee Na2020-03-145-0/+19
| | | Add status codes 103 EARLY_HINTS and 425 TOO_EARLY.
* bpo-39582: ossaudiodev module update helpers signature for ioctl calls. ↵David CARLIER2020-03-141-3/+3
| | | | (GH-18412)
* bpo-39585: Delete a pending comment in _warning.c (GH-18414)Hai Shi2020-03-141-1/+2
|
* Make cpython/abstract.h compatible with C90 (#18481)Peter Eisentraut2020-03-141-11/+24
| | | | | | 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.
* bpo-39871: Fix possible SystemError in atan2, copysign and remainder (GH-18806)Zackery Spytz2020-03-143-1/+24
| | | | | | 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>
* Revert "bpo-39087: Add _PyUnicode_GetUTF8Buffer()" (GH-18985)Inada Naoki2020-03-145-284/+0
| | | | | | | * Revert "bpo-39087: Add _PyUnicode_GetUTF8Buffer() (GH-17659)" This reverts commit c7ad974d341d3edb6b9d2a2dcae4d3d4794ada6b. * Update unicodeobject.h
* bpo-39937: Improve suggestions for removal of getchildren and getiterator in ↵Rahul Kumaresan2020-03-141-4/+7
| | | | | | | changelog (GH-18937) Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* bpo-39087: Add _PyUnicode_GetUTF8Buffer() (GH-17659)Inada Naoki2020-03-145-6/+284
| | | Co-authored-by: Victor Stinner <vstinner@python.org>
* bpo-39947: Add PyThreadState_GetInterpreter() (GH-18981)Victor Stinner2020-03-136-9/+37
| | | | Add PyThreadState_GetInterpreter(tstate): get the interpreter of a Python thread state.
* bpo-39947: Add PyInterpreterState_Get() function (GH-18979)Victor Stinner2020-03-138-14/+35
| | | | | | * 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.
* bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978)Victor Stinner2020-03-139-27/+27
| | | | | | | 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().
* bpo-36144: OrderedDict Union (PEP 584) (#18967)Brandt Bucher2020-03-135-75/+187
|
* bpo-36144: Update os.environ and os.environb for PEP 584 (#18911)Charles Burkland2020-03-135-1/+118
|
* bpo-39947: Hide implementation detail of trashcan macros (GH-18971)Victor Stinner2020-03-133-15/+45
| | | | | | 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.
* bpo-35370: Add _PyEval_SetTrace() function (GH-18975)Victor Stinner2020-03-137-52/+143
| | | | | | | | | * 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.
* bpo-37207: Use PEP 590 vectorcall to speed up tuple() (GH-18936)Dong-hee Na2020-03-132-0/+23
| | | | | | | | | | | 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
* bpo-39947: Move get_recursion_depth() to _testinternalcapi (GH-18974)Victor Stinner2020-03-134-16/+19
| | | | | Move get_recursion_depth() function from _testcapi to _testinternalcapi to avoid accessing PyThreadState attributes directly in _testcapi.
* bpo-39947: Move Py_EnterRecursiveCall() to internal C API (GH-18972)Victor Stinner2020-03-137-56/+68
| | | | | | 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.
* bpo-38500: Add _PyInterpreterState_SetEvalFrameFunc() (GH-17340)Victor Stinner2020-03-129-13/+67
| | | | | | | | | | | | 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().
* bpo-39936: _aix_support uses _bootsubprocess (GH-18970)Victor Stinner2020-03-122-35/+30
| | | | | | | | 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.
* bpo-39689: Do not test undefined casts to _Bool (GH-18964)Stefan Krah2020-03-121-0/+4
| | | - When casting to _Bool, arrays should only contain zeros or ones.
* Doc: Fix grammar in PyErr_ResourceWarning (GH-18879)Daniel Hahler2020-03-121-1/+1
|
* bpo-1294959: Fix typo for new attribute platlibdir. (GH-18960)Raúl Cumplido2020-03-122-3/+3
| | | | | 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
* Remove unused args from two pylifecycle.c functions (GH-18867)Andy Lester2020-03-121-6/+5
| | | | * Remove unused tstate argument from init_set_builtins_open() * Replace fd (int) with tstate (PyThreadState *) in in _Py_FatalError_PrintExc()
* bpo-39884: Add method name in "bad call flags" error (GH-18944)Victor Stinner2020-03-123-2/+6
| | | | PyDescr_NewMethod() and PyCFunction_NewEx() now include the method name in the SystemError "bad call flags" error message to ease debug.
* Simplify defaultdict.__or__ (#18931)Brandt Bucher2020-03-121-5/+1
|
* Fix syntax error in an example in the ast documentation and sync docstrings ↵Pablo Galindo2020-03-122-3/+3
| | | | (GH-18946)
* bpo-38080: Added "getproxies" to urllib fixes in the 2to3 tool (GH-16167)José Roberto Meza Cabrera2020-03-113-1/+7
|
* bpo-39847: EnterNonRecursiveMutex() uses GetTickCount64() (GH-18780)bobince2020-03-112-3/+5
| | | | | | | | | | | | | | | | 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>
* bpo-39930: Fix MSBuild detection for Build Tools (GH-18938)Steve Dower2020-03-112-16/+27
| | | Ensure we detect Build Tools installs using the newer logic, and skip looking in the registry for VS 2017.
* bpo-1635741: Fix refleaks of time module error handling (GH-18486)Hai Shi2020-03-111-18/+45
|
* bpo-1635741: Fix potential refleaks in binascii module (GH-18613)Hai Shi2020-03-111-7/+45
|
* bpo-1635741: Port audioop extension module to multiphase initialization (PEP ↵Hai Shi2020-03-112-38/+80
| | | | | 489) (GH-18608) Co-authored-by: Victor Stinner <vstinner@python.org>
* bpo-1635741: Port _locale extension module to multiphase initialization (PEP ↵Hai Shi2020-03-112-34/+84
| | | | | 489) (GH-18358) Co-authored-by: Petr Viktorin <pviktori@redhat.com>
* bpo-39916: Use os.scandir() as context manager in Path.glob(). (GH-18880)Serhiy Storchaka2020-03-112-2/+6
|