summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-65824: Improve the "less" prompt in pydoc (GH-116050)Serhiy Storchaka2024-03-012-1/+11
| | | | | | | Output the line number, the percentage and the help about how to get help or quit the pager. Inspired by the GNU man.
* gh-116098: Revert "gh-107674: Improve performance of `sys.settrace` ↵Tian Gao2024-03-017-64/+53
| | | | | | | (GH-114986)" (GH-116178) Revert "gh-107674: Improve performance of `sys.settrace` (GH-114986)" This reverts commit 0a61e237009bf6b833e13ac635299ee063377699.
* gh-115999: Disable the specializing adaptive interpreter in free-threaded ↵Brett Simmers2024-03-019-3/+96
| | | | | builds (#116013) For now, disable all specialization when the GIL might be disabled.
* gh-116099: Fix refcounting bug in `_queueobj_shared()` (gh-116164)Brett Simmers2024-03-011-3/+1
| | | | | | | | | This code decrefs `qidobj` twice in some paths. Since `qidobj` isn't used after the first `Py_DECREF()`, remove the others, and replace the `Py_DECREF()` with `Py_CLEAR()` to make it clear that the variable is dead. With this fix, `python -mtest test_interpreters -R 3:3 -mtest_queues` no longer fails with `_Py_NegativeRefcount: Assertion failed: object has negative ref count`.
* gh-115491: Fix Clang compiler warning (#116153)Sam Gross2024-03-011-1/+1
| | | gh-115491: Fix compiler warning on macOS
* gh-103092: Add a mutex to make the PRNG state of rotatingtree ↵AN Long2024-02-294-3/+12
| | | | concurrent-safe (#115301)
* gh-115398: Expose Expat >=2.6.0 reparse deferral API (CVE-2023-52425) ↵Sebastian Pipping2024-02-2916-21/+435
| | | | | | | | | | | | | | | | | | | | | (GH-115623) Allow controlling Expat >=2.6.0 reparse deferral (CVE-2023-52425) by adding five new methods: - `xml.etree.ElementTree.XMLParser.flush` - `xml.etree.ElementTree.XMLPullParser.flush` - `xml.parsers.expat.xmlparser.GetReparseDeferralEnabled` - `xml.parsers.expat.xmlparser.SetReparseDeferralEnabled` - `xml.sax.expatreader.ExpatParser.flush` Based on the "flush" idea from https://github.com/python/cpython/pull/115138#issuecomment-1932444270 . ### Notes - Please treat as a security fix related to CVE-2023-52425. Includes code suggested-by: Snild Dolkow <snild@sony.com> and by core dev Serhiy Storchaka.
* gh-115685: Type/values propagate for TO_BOOL in tier 2 (GH-115686)Ken Jin2024-02-296-30/+163
|
* Fix rendering of null character in ast.rst (#116080)Shantanu2024-02-291-1/+1
|
* gh-71052: Fix several Android build issues (#115955)Malcolm Smith2024-02-296-21/+87
| | | | | | | | | | | | | | | | | | | This change is part of the work on PEP-738: Adding Android as a supported platform. * Remove the "1.0" suffix from libpython's filename on Android, which would prevent Gradle from packaging it into an app. * Simplify the build command in the Makefile so that libpython always gets given an SONAME with the `-Wl-h` argument, even if the SONAME is identical to the actual filename. * Disable a number of functions on Android which can be compiled and linked against, but always fail at runtime. As a result, the native _multiprocessing module is no longer built for Android. * gh-115390 (bee7bb331) added some pre-determined results to the configure script for things that can't be autodetected when cross-compiling; this change adds Android to these where appropriate. * Add a couple more pre-determined results for Android, and making them cover iOS as well. This means the --enable-ipv6 configure option will no longer be required on either platform.
* gh-87115: Set `__main__.__spec__` to `None` in pdb (#116141)Tian Gao2024-02-293-0/+14
|
* gh-112075: Avoid locking shared keys on every assignment (#116087)Dino Viehland2024-02-291-12/+20
|
* gh-71052: Add test exclusions to support running the test suite on Android ↵Malcolm Smith2024-02-2912-27/+58
| | | | (#115918)
* gh-108051: Update versions found by find_python.bat and clarify readme ↵Steve Dower2024-02-292-7/+18
| | | | (GH-116118)
* gh-73580: Docs for tunnelling TLS through TLS (GH-22539)Carl Bordum Hansen2024-02-291-0/+3
|
* Docs: mark up NotImplemented using the :data: role throughout the docs (#116135)Erlend E. Aasland2024-02-2916-39/+39
|
* gh-116088: Insert bottom checks after all sym_set_...() calls (#116089)Guido van Rossum2024-02-297-47/+106
| | | | | | | | | This changes the `sym_set_...()` functions to return a `bool` which is `false` when the symbol is `bottom` after the operation. All calls to such functions now check this result and go to `hit_bottom`, a special error label that prints a different message and then reports that it wasn't able to optimize the trace. No executor will be produced in this case.
* gh-115811: Update documentation to add some Logger attributes. (GH-116109)Vinay Sajip2024-02-291-0/+36
|
* gh-72463: Fix ctypes/test_loading.py so that test_find reports skipped ↵Michael Felt2024-02-291-0/+4
| | | | (GH-18312)
* Make the iter_except() recipe more compact. (gh-116132)Raymond Hettinger2024-02-291-20/+1
| | | Only one example is needed
* GH-115802: JIT "small" code for Windows (GH-115964)Brandt Bucher2024-02-2926-93/+126
|
* gh-112844: Add SBOM for external dependencies (#115789)Seth Michael Larson2024-02-293-17/+266
|
* gh-116100: Add `test` arg to `ast.If` and `op` arg to `ast.BoolOp` calls ↵Kirill Podoprigora2024-02-291-2/+2
| | | | (#116101)
* gh-115881: Document feature_version limitations (#115980)Shantanu2024-02-291-6/+9
|
* gh-116103: Prevent error in WindowsLoadTracker.__del__ on permission error ↵Petr Viktorin2024-02-291-0/+4
| | | | | (GH-116105) gh-116103: Prevent error in WindowsLoadTracker.__del__ if there was a permission error
* gh-115937: Remove implementation details from inspect.signature() docs (#116086)Erlend E. Aasland2024-02-291-3/+7
| | | | | Co-authored-by: Carol Willing <carolcode@willingconsulting.com> Co-authored-by: Gregory P. Smith <greg@krypto.org> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-115816: Generate calls to sym_new_const() etc. without _Py_uop prefix ↵Guido van Rossum2024-02-293-104/+104
| | | | | | | | | (#116077) This was left behind by GH-115987. Basically a lot of diffs like this: ``` - res = _Py_uop_sym_new_unknown(ctx); + res = sym_new_unknown(ctx); ```
* gh-115859: Fix test_type_inconsistency() when run multiple times (#116079)Guido van Rossum2024-02-281-3/+7
| | | | | This should fix the refleaks bots. (See https://github.com/python/cpython/pull/116062#issuecomment-1970038174 .)
* gh-115821: [Enum] better error message for calling super().__new__() (GH-116063)Ethan Furman2024-02-284-1/+22
| | | | docs now state to not call super().__new__ if super().__new__ is called, a better error message is now used
* gh-116075: Skip test_external_inspection on qemu in JIT CI (#116076)Erlend E. Aasland2024-02-281-2/+2
|
* Update an out-of-date example in the itertools recipe intro (gh-116082)Raymond Hettinger2024-02-281-1/+1
|
* gh-76785: Update test.support.interpreters to Align With PEP 734 (gh-115566)Eric Snow2024-02-2811-157/+624
| | | | | This brings the code under test.support.interpreters, and the corresponding extension modules, in line with recent updates to PEP 734. (Note: PEP 734 has not been accepted at this time. However, we are using an internal copy of the implementation in the test suite to exercise the existing subinterpreters feature.)
* Improve all_equal() recipe (gh-116081)Raymond Hettinger2024-02-281-3/+4
| | | Replace conjuction of next() calls with simpler len()/take() logic. Add key function.
* gh-112075: Use relaxed stores for places where we may race with when reading ↵Dino Viehland2024-02-281-18/+25
| | | | lock-free (#115786)
* gh-115859: Re-enable T2 optimizer pass by default (#116062)Guido van Rossum2024-02-287-28/+96
| | | | | | | | | | | | | This undoes the *temporary* default disabling of the T2 optimizer pass in gh-115860. - Add a new test that reproduces Brandt's example from gh-115859; it indeed crashes before gh-116028 with PYTHONUOPSOPTIMIZE=1 - Re-enable the optimizer pass in T2, stop checking PYTHONUOPSOPTIMIZE - Rename the env var to disable T2 entirely to PYTHON_UOPS_OPTIMIZE (must be explicitly set to 0 to disable) - Fix skipIf conditions on tests in test_opt.py accordingly - Export sym_is_bottom() (for debugging) - Fix various things in the `_BINARY_OP_` specializations in the abstract interpreter: - DECREF(temp) - out-of-space check after sym_new_const() - add sym_matches_type() checks, so even if we somehow reach a binary op with symbolic constants of the wrong type on the stack we won't trigger the type assert
* gh-115891: Fix debug byte filling in free-threaded build (#116018)Sam Gross2024-02-281-4/+13
| | | | | | The previous code had two bugs. First, the debug offset in the mimalloc heap includes the two pymalloc debug words, but the pointer passed to fill_mem_debug does not include them. Second, the current object heap is correct source for allocations, but not deallocations.
* gh-112529: Simplify PyObject_GC_IsTracked and PyObject_GC_IsFinalized (#114732)Sam Gross2024-02-283-28/+51
|
* gh-115197: Stop resolving host in urllib.request proxy bypass (GH-115210)Weii Wang2024-02-283-44/+64
| | | Use of a proxy is intended to defer DNS for the hosts to the proxy itself, rather than a potential for information leak of the host doing DNS resolution itself for any reason. Proxy bypass lists are strictly name based. Most implementations of proxy support agree.
* GH-115986 Reorder pprint docs and amend some references (#116019)Kerim Kabirov2024-02-281-89/+92
| | | | | | | | | Introduce a new subsubsection, 'Functions', for module level functions, and place it before the PrettyPrinter class reference. Also: - Fix pprint.pprint() references so they properly link to the module level function. - Add links to sys.stdout.
* gh-115816: Improve internal symbols API in optimizer (#116028)Guido van Rossum2024-02-284-67/+191
| | | | | | | - Any `sym_set_...` call that attempts to set conflicting information cause the symbol to become `bottom` (contradiction). - All `sym_is...` and similar calls return false or NULL for `bottom`. - Everything's tested. - The tests still pass with `PYTHONUOPSOPTIMIZE=1`.
* gh-112075: Remove compiler warning from apple clang (gh-115855)Donghee Na2024-02-281-2/+2
|
* gh-107674: Improve performance of `sys.settrace` (GH-114986)Tian Gao2024-02-287-53/+64
|
* gh-116012: Preserve GetLastError() across calls to TlsGetValue on Windows ↵Steve Dower2024-02-283-10/+7
| | | | (GH-116014)
* doc: Use super() in subclassed JSONEncoder examples (GH-115565)Jan Max Meyer2024-02-282-3/+3
| | | | Replace calls to `json.JSONEncoder.default(self, obj)` by `super().default(obj)` within the examples of the documentation.
* gh-115765: Don't use deprecated AC_EGREP_* macros in configure.ac (#116016)Erlend E. Aasland2024-02-284-171/+363
| | | Rewrite using AX_CHECK_DEFINE and AC_CHECK_TYPES.
* gh-78612: Mark up eval() using param list (#115212)Erlend E. Aasland2024-02-281-5/+15
| | | Also mention that the 'expression' parameter can be a string.
* gh-114911: Add CPUStopwatch test helper (GH-114912)Petr Viktorin2024-02-283-42/+75
| | | | | | A few of our tests measure the time of CPU-bound operation, mainly to avoid quadratic or worse behaviour. Add a helper to ignore GC and time spent in other processes.
* gh-116030: test_unparse: Add ``ctx`` argument to ``ast.Name`` calls (#116031)Kirill Podoprigora2024-02-281-3/+3
|
* gh-115773: Add tests to exercise the _Py_DebugOffsets structure (#115774)Pablo Galindo Salgado2024-02-2810-36/+818
|
* gh-105858: Expose some union-related objects as internal APIs (GH-116025)Jelle Zijlstra2024-02-281-2/+4
| | | | | We now use these in the AST parsing code after gh-105880. A few comparable types (e.g., NoneType) are already exposed as internal APIs.