summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* bpo-39915: Ensure await_args_list is updated according to the order in which ↵Karthikeyan Singaravelan2020-03-113-1/+16
| | | | | coroutines were awaited (GH-18924) Create call objects with awaited arguments instead of using call_args which has only last call value.
* bpo-39930: Convert error to warning for more silent failure (GH-18921)Steve Dower2020-03-112-1/+5
| | | Makes it an error to create a layout without vcruntime DLL
* bpo-39761: Fix dtrace build with empty $DFLAGS (GH-18766)Petr Viktorin2020-03-113-2/+3
| | | | | | 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.
* bpo-39930: Ensure vcruntime140.dll is included in all Windows packages ↵Steve Dower2020-03-116-10/+67
| | | | | (GH-18918) Also adds GitHub CI test for Windows installer changes
* Fix download.html (GH-18902)Inada Naoki2020-03-111-1/+1
| | | | | `<tt>` is not allowed. Co-authored-by: Kyle Stanley <aeros167@gmail.com>
* bpo-39926: Update unicodedata checksum tests for Unicode 13.0 update. (GH-18913)Benjamin Peterson2020-03-111-2/+2
| | | I forget these tests required the cpu resource.
* Update some www.unicode.org URLs to use HTTPS. (GH-18912)Benjamin Peterson2020-03-118-14/+14
|
* closes bpo-39926: Update Unicode to 13.0.0. (GH-18910)Benjamin Peterson2020-03-1111-28737/+29772
|
* closes bpo-39922: Remove unused args from four functions. (GH-18893)Andy Lester2020-03-111-17/+17
|
* Updates functools.py with consistent quotes (GH-18825)Nikita Sobolev2020-03-111-1/+1
| | | | | | 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.
* bpo-38631: _PyGILState_Init() returns PyStatus (GH-18908)Victor Stinner2020-03-103-4/+8
| | | | _PyGILState_Init() now returns PyStatus rather than calling Py_FatalError() on failure.
* bpo-38662: ensurepip invokes pip via runpy (GH-18901)Miro Hrončok2020-03-102-3/+17
| | | | | | | | | | | | | 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>
* tracemalloc: 'pretty top' example no longer changes the filename (GH-18903)Adam Johnson2020-03-101-3/+1
| | | | | 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`.
* bpo-34822: Simplify AST for subscription. (GH-9605)Serhiy Storchaka2020-03-1015-702/+293
| | | | | | | | | * 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.
* bpo-39869: Fix typo in 'Instance objects' section. (GH-18889)Antoine2020-03-101-1/+1
|
* bpo-38075: Fix random_seed(): use PyObject_CallOneArg() (GH-18897)Victor Stinner2020-03-103-5/+4
| | | | | | Fix the random.Random.seed() method when a bool is passed as the seed. PyObject_Vectorcall() was misused: use PyObject_CallOneArg() instead.
* bpo-1294959: Add sys.platlibdir attribute (GH-18381)Victor Stinner2020-03-1016-53/+209
| | | | | | | | | | | | | 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>
* bpo-39828: Fix json.tool to catch BrokenPipeError (GH-18779)Dong-hee Na2020-03-103-1/+18
|
* bpo-39877: Deprecate PyEval_InitThreads() (GH-18892)Victor Stinner2020-03-105-13/+21
| | | | Deprecated PyEval_InitThreads() and PyEval_ThreadsInitialized(). Calling PyEval_InitThreads() now does nothing.
* bpo-39877: PyGILState_Ensure() don't call PyEval_InitThreads() (GH-18891)Victor Stinner2020-03-093-20/+21
| | | | | | | | 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.
* bpo-39763: Add _bootsubprocess to build Python on AIX (GH-18872)Victor Stinner2020-03-092-41/+107
| | | | | | | | 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.
* bpo-19466: Py_Finalize() clears daemon threads earlier (GH-18848)Victor Stinner2020-03-094-7/+70
| | | | | | | | 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".