62aeb0e | Brandt Bucher | 06 April 2024, 15:26:43 UTC | GH-117512: Allow 64-bit JIT operands on 32-bit platforms (GH-117527) | 06 April 2024, 15:26:43 UTC |
df4d84c | Laurie O | 06 April 2024, 14:27:13 UTC | gh-96471: Add asyncio queue shutdown (#104228) Co-authored-by: Duprat <yduprat@gmail.com> | 06 April 2024, 14:27:13 UTC |
1d3225a | Malcolm Smith | 05 April 2024, 20:57:36 UTC | gh-116622: Test updates for Android (#117299) - re-enable test_fcntl_64_bit on Linux aarch64, but disable it on all Android ABIs - use support.setswitchinterval in all relevant tests - skip test_fma_zero_result on Android x86_64 - accept EACCES when calling os.get_terminal_size on Android | 05 April 2024, 20:57:36 UTC |
6150bb2 | Barney Gale | 05 April 2024, 18:51:54 UTC | GH-77609: Add recurse_symlinks argument to `pathlib.Path.glob()` (#117311) Replace tri-state `follow_symlinks` with boolean `recurse_symlinks` argument. The new argument controls whether symlinks are followed when expanding recursive `**` wildcards. The possible argument values correspond as follows: follow_symlinks recurse_symlinks =============== ================ False N/A None False True True We therefore drop support for not following symlinks when expanding non-recursive pattern parts; it wasn't requested in the original issue, and it's a feature not found in any shells. This makes the API a easier to grok by eliminating `None` as an option. No news blurb as `follow_symlinks` was new in 3.13. | 05 April 2024, 18:51:54 UTC |
4d4a6f1 | Petr Viktorin | 05 April 2024, 15:00:29 UTC | gh-116608: Ignore UTF-16 BOM in importlib.resources._functional tests (GH-117569) gh-116609: Ignore UTF-16 BOM in importlib.resources._functional tests To test the `errors` argument, we read a UTF-16 file as UTF-8 with "backslashreplace" error handling. However, the utf-16 codec adds an endian-specific byte-order mark, so on big-endian machines the expectation doesn't match the test file (which was saved on a little-endian machine). Use endswith to ignore the BOM. | 05 April 2024, 15:00:29 UTC |
6876168 | Steve Dower | 05 April 2024, 14:21:16 UTC | gh-111140: PyLong_From/AsNativeBytes: Take *flags* rather than just *endianness* (GH-116053) | 05 April 2024, 14:21:16 UTC |
abfa16b | Barney Gale | 05 April 2024, 12:35:01 UTC | GH-114847: Speed up `posixpath.realpath()` (#114848) Apply the following optimizations to `posixpath.realpath()`: - Remove use of recursion - Construct child paths directly rather than using `join()` - Use `os.getcwd[b]()` rather than `abspath()` - Use `startswith(sep)` rather than `isabs()` - Use slicing rather than `split()` Co-authored-by: Petr Viktorin <encukou@gmail.com> | 05 April 2024, 12:35:01 UTC |
9ceaee7 | Petr Viktorin | 05 April 2024, 11:55:59 UTC | gh-116608: importlib.resources: Un-deprecate functional API & add subdirectory support (GH-116609) | 05 April 2024, 11:55:59 UTC |
757b624 | Erlend E. Aasland | 05 April 2024, 10:13:00 UTC | gh-117457: Regen executor cases post PR #117477 (#117559) | 05 April 2024, 10:13:00 UTC |
9c1dfe2 | Erlend E. Aasland | 05 April 2024, 08:29:15 UTC | gh-116303: Don't build xxlimited and xxlimited_35 if --disable-test-modules is given (#117554) | 05 April 2024, 08:29:15 UTC |
0edde64 | Michael Droettboom | 04 April 2024, 22:49:18 UTC | GH-117457: Correct pystats uop "miss" counts (GH-117477) | 04 April 2024, 22:49:18 UTC |
b5e6091 | Michael Droettboom | 04 April 2024, 21:14:35 UTC | gh-117549: Match declaration order for _Py_BackoffCounter initializer (#117551) Otherwise it might not compile with C++ (or certain C compilers/flags?). | 04 April 2024, 21:14:35 UTC |
63998a1 | Sam Gross | 04 April 2024, 20:27:14 UTC | gh-117474: Skip GIL test in free-threaded build (#117475) In the free-threaded build, the GIL will typically be disabled so `py-bt` will not show threads waiting on the GIL. | 04 April 2024, 20:27:14 UTC |
434bc59 | Dino Viehland | 04 April 2024, 19:26:07 UTC | gh-112075: Make _PyDict_LoadGlobal thread safe (#117529) Make _PyDict_LoadGlobal threadsafe | 04 April 2024, 19:26:07 UTC |
4220514 | Sam Gross | 04 April 2024, 18:10:46 UTC | gh-117478: Add `@support.requires_gil_enabled` decorator (#117479) Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru> | 04 April 2024, 18:10:46 UTC |
de5ca0b | Sam Gross | 04 April 2024, 18:09:38 UTC | gh-117435: Make `SemLock` thread-safe in free-threaded build (#117436) Use critical sections to make acquire, release, and _count thread-safe without the GIL. | 04 April 2024, 18:09:38 UTC |
04697bc | Irit Katriel | 04 April 2024, 15:47:26 UTC | gh-117494: extract the Instruction Sequence data structure into a separate file (#117496) | 04 April 2024, 15:47:26 UTC |
060a96f | Guido van Rossum | 04 April 2024, 15:03:27 UTC | gh-116968: Reimplement Tier 2 counters (#117144) Introduce a unified 16-bit backoff counter type (``_Py_BackoffCounter``), shared between the Tier 1 adaptive specializer and the Tier 2 optimizer. The API used for adaptive specialization counters is changed but the behavior is (supposed to be) identical. The behavior of the Tier 2 counters is changed: - There are no longer dynamic thresholds (we never varied these). - All counters now use the same exponential backoff. - The counter for ``JUMP_BACKWARD`` starts counting down from 16. - The ``temperature`` in side exits starts counting down from 64. | 04 April 2024, 15:03:27 UTC |
63bbe77 | Sergey B Kirpichev | 04 April 2024, 14:54:17 UTC | gh-109802: Add coverage test for complex_abs() (GH-117449) * gh-109802: Add coverage test for complex_abs() This tests overflow on L594. // line numbers wrt to 0f2fa6150b | 04 April 2024, 14:54:17 UTC |
df912c9 | Vinay Sajip | 04 April 2024, 12:14:44 UTC | [doc] Update logging documentation to improve grammar and elucidate an example. (GH-117541) | 04 April 2024, 12:14:44 UTC |
b32789c | Jelle Zijlstra | 04 April 2024, 10:39:16 UTC | gh-117521: Improve typing.TypeGuard docstring (#117522) | 04 April 2024, 10:39:16 UTC |
3f5bcc8 | Tony Mountifield | 04 April 2024, 10:32:53 UTC | gh-117467: Add preserving of mailbox owner on flush (GH-117510) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> | 04 April 2024, 10:32:53 UTC |
dc54714 | Victor Stinner | 04 April 2024, 09:09:40 UTC | gh-113317: Finish splitting Argument Clinic into sub-files (#117513) Add libclinic.parser module and move the following classes and functions there: * Parser * PythonParser * create_parser_namespace() Add libclinic.dsl_parser module and move the following classes, functions and variables there: * ConverterArgs * DSLParser * FunctionNames * IndentStack * ParamState * StateKeeper * eval_ast_expr() * unsupported_special_methods Add libclinic.app module and move the Clinic class there. Add libclinic.cli module and move the following functions there: * create_cli() * main() * parse_file() * run_clinic() | 04 April 2024, 09:09:40 UTC |
8584334 | rsp4jack | 04 April 2024, 03:13:32 UTC | gh-117459: Keep the traceback in _convert_future_exc (#117460) | 04 April 2024, 03:13:32 UTC |
b4fe02f | Shantanu | 03 April 2024, 22:24:24 UTC | gh-117205: Increase chunksize when compiling pyc in parallel (#117206) | 03 April 2024, 22:24:24 UTC |
985917d | Steve Dower | 03 April 2024, 22:14:55 UTC | gh-117267: Ensure DirEntry.stat().st_ctime still contains creation time during deprecation period (GH-117354) | 03 April 2024, 22:14:55 UTC |
2057c92 | Victor Stinner | 03 April 2024, 21:02:42 UTC | gh-114329: Fix PyList_GetItemRef() limited C API definition (#117520) | 03 April 2024, 21:02:42 UTC |
c43f6a4 | Victor Stinner | 03 April 2024, 18:17:51 UTC | gh-113317: Argument Clinic: Add libclinic.clanguage (#117455) Add libclinic.clanguage module and move the following classes and functions there: * CLanguage * declare_parser() Add libclinic.codegen and move the following classes there: * BlockPrinter * BufferSeries * Destination Move the following functions to libclinic.function: * permute_left_option_groups() * permute_optional_groups() * permute_right_option_groups() | 03 April 2024, 18:17:51 UTC |
1c43468 | Peter Lazorchak | 03 April 2024, 17:14:18 UTC | gh-116168: Remove extra `_CHECK_STACK_SPACE` uops (#117242) This merges all `_CHECK_STACK_SPACE` uops in a trace into a single `_CHECK_STACK_SPACE_OPERAND` uop that checks whether there is enough stack space for all calls included in the entire trace. | 03 April 2024, 17:14:18 UTC |
976bcb2 | Eric Snow | 03 April 2024, 16:58:39 UTC | gh-76785: Raise InterpreterError, Not RuntimeError (gh-117489) I had meant to switch everything to InterpreterError when I added it a while back. At the time I missed a few key spots. As part of this, I've added print-the-exception to _PyXI_InitTypes() and fixed an error case in `_PyStaticType_InitBuiltin(). | 03 April 2024, 16:58:39 UTC |
7ecd55d | Erlend E. Aasland | 03 April 2024, 15:59:18 UTC | gh-117431: Adapt str.find and friends to Argument Clinic (#117468) This change gives a significant speedup, as the METH_FASTCALL calling convention is now used. The following methods are adapted: - str.count - str.find - str.index - str.rfind - str.rindex | 03 April 2024, 15:59:18 UTC |
345194d | Barney Gale | 03 April 2024, 15:39:40 UTC | GH-114847: Raise FileNotFoundError when getcwd() returns '(unreachable)' (#117481) On Linux >= 2.6.36 with glibc < 2.27, `getcwd()` can return a relative pathname starting with '(unreachable)'. We detect this and fail with ENOENT, matching new glibc behaviour. Co-authored-by: Petr Viktorin <encukou@gmail.com> | 03 April 2024, 15:39:40 UTC |
03f7aaf | Raymond Hettinger | 03 April 2024, 15:08:18 UTC | gh-117215 Make the fromskey() signature match dict.fromkeys(). (gh-117493) | 03 April 2024, 15:08:18 UTC |
fc5f68e | Zackery Spytz | 03 April 2024, 14:17:13 UTC | gh-59215: unittest: restore _top_level_dir at end of discovery (GH-15242) | 03 April 2024, 14:17:13 UTC |
ea94b3b | Erlend E. Aasland | 03 April 2024, 13:11:36 UTC | gh-116303: Skip test module dependent tests if test modules are unavailable (#117341) | 03 April 2024, 13:11:36 UTC |
2ec6bb4 | Nice Zombies | 03 April 2024, 13:10:09 UTC | gh-117381: Improve error messages for ntpath.commonpath() (GH-117382) | 03 April 2024, 13:10:09 UTC |
a214f55 | Sam Gross | 03 April 2024, 12:29:02 UTC | gh-117483: Accept "Broken pipe" as valid error message in `test_wrong_cert_tls13` (GH-117484) On macOS, the closed connection can lead to a "Broken pipe" error instead of a "Connection reset by peer" error. | 03 April 2024, 12:29:02 UTC |
33ee5cb | Gregory P. Smith | 03 April 2024, 12:19:49 UTC | GH-70647: Deprecate strptime day of month parsing without a year present to avoid leap-year bugs (GH-117107) | 03 April 2024, 12:19:49 UTC |
595bb49 | Erlend E. Aasland | 03 April 2024, 11:11:14 UTC | gh-117431: Adapt bytes and bytearray .startswith() and .endswith() to Argument Clinic (#117495) This change gives a significant speedup, as the METH_FASTCALL calling convention is now used. | 03 April 2024, 11:11:14 UTC |
1dc1521 | Erlend E. Aasland | 03 April 2024, 10:33:20 UTC | gh-117431: Fix str.endswith docstring (#117499) The first parameter is named 'suffix', not 'prefix'. Regression introduced by commit 444156ed | 03 April 2024, 10:33:20 UTC |
8ef9892 | Victor Stinner | 03 April 2024, 10:18:05 UTC | gh-117281: Change weakref repr() to fully qualified name (#117285) Use the fully qualified type name in repr() of weakref.ref and weakref.proxy types. Fix a crash in proxy_repr() when the reference is dead. Add also test_ref_repr() and test_proxy_repr(). | 03 April 2024, 10:18:05 UTC |
8987a5c | Ezio Melotti | 03 April 2024, 08:43:52 UTC | gh-91565: Update issue tracker URL in error message. (#117450) * Update issue tracker URL in commit message. * Also update issue tracker URL in comment. | 03 April 2024, 08:43:52 UTC |
444156e | Erlend E. Aasland | 03 April 2024, 07:11:39 UTC | gh-117431: Adapt str.startswith and str.endswith to Argument Clinic (#117466) This change gives a significant speedup, as the METH_FASTCALL calling convention is now used. | 03 April 2024, 07:11:39 UTC |
65524ab | Eric Snow | 03 April 2024, 01:10:26 UTC | gh-76785: Fix a Refleak in _interpreters.new_config() (gh-117491) This is a follow-up to gh-117170 and gh-117485. | 03 April 2024, 01:10:26 UTC |
857d315 | Eric Snow | 02 April 2024, 23:16:50 UTC | gh-76785: Consolidate Some Interpreter-related Testing Helpers (gh-117485) This eliminates the duplication of functionally identical helpers in the _testinternalcapi and _xxsubinterpreters modules. | 02 April 2024, 23:16:50 UTC |
f341d60 | Eric Snow | 02 April 2024, 20:35:52 UTC | gh-76785: Add PyInterpreterConfig Helpers (gh-117170) These helpers make it easier to customize and inspect the config used to initialize interpreters. This is especially valuable in our tests. I found inspiration from the PyConfig API for the PyInterpreterConfig dict conversion stuff. As part of this PR I've also added a bunch of tests. | 02 April 2024, 20:35:52 UTC |
cae4cdd | Nice Zombies | 02 April 2024, 20:32:35 UTC | gh-117349: Micro-optimize a few `os.path` functions (#117350) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Barney Gale <barney.gale@gmail.com> Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com> | 02 April 2024, 20:32:35 UTC |
8eda146 | Guido van Rossum | 02 April 2024, 18:25:48 UTC | Fix successor opcode name printing in Tier 2 DEOPT debug message (#117471) | 02 April 2024, 18:25:48 UTC |
027fa2e | Sam Gross | 02 April 2024, 14:45:00 UTC | gh-112087: Make `list.extend(dict)` behave atomically (#117438) Add a special case for `list.extend(dict)` and `list(dict)` so that those patterns behave atomically with respect to modifications to the list or dictionary. This is required by multiprocessing, which assumes that `list(_finalizer_registry)` is atomic. | 02 April 2024, 14:45:00 UTC |
954d616 | Sam Gross | 02 April 2024, 14:44:26 UTC | gh-117440: Make `syslog` thread-safe in free-threaded builds (#117441) Use critical sections to protect access to the syslog module. | 02 April 2024, 14:44:26 UTC |
e569f91 | Petr Viktorin | 02 April 2024, 14:08:16 UTC | gh-117074: Update Traversable.joinpath docs to the 3.11+ protocol (GH-117113) | 02 April 2024, 14:08:16 UTC |
52f5b7f | AN Long | 02 April 2024, 13:10:24 UTC | gh-115538: Use pathlib to compare prefixes in test_venv (GH-117076) | 02 April 2024, 13:10:24 UTC |
e3b6f28 | Victor Stinner | 02 April 2024, 11:29:39 UTC | gh-113317: Argument Clinic: Add libclinic.return_converters (#117451) Move the following converter classes to libclinic.return_converters: * CReturnConverter * CReturnConverterAutoRegister * Py_ssize_t_return_converter * bool_return_converter * double_return_converter * float_return_converter * int_return_converter * long_return_converter * size_t_return_converter * unsigned_int_return_converter * unsigned_long_return_converter Move also the add_c_return_converter() function there. | 02 April 2024, 11:29:39 UTC |
c32dc47 | Mark Shannon | 02 April 2024, 10:59:21 UTC | GH-115776: Embed the values array into the object, for "normal" Python objects. (GH-116115) | 02 April 2024, 10:59:21 UTC |
c97d3af | Grigoriev Semyon | 02 April 2024, 10:42:58 UTC | gh-109120: Fix syntax error in handlinh of incorrect star expressions (#117444) | 02 April 2024, 10:42:58 UTC |
1d5479b | Irit Katriel | 02 April 2024, 10:34:49 UTC | gh-117411: move PyFutureFeatures to pycore_symtable.h and make it private (#117412) | 02 April 2024, 10:34:49 UTC |
5fd1897 | Victor Stinner | 02 April 2024, 10:09:53 UTC | gh-113317: Argument Clinic: Add libclinic.converters module (#117315) Move the following converter classes to libclinic.converters: * PyByteArrayObject_converter * PyBytesObject_converter * Py_UNICODE_converter * Py_buffer_converter * Py_complex_converter * Py_ssize_t_converter * bool_converter * byte_converter * char_converter * defining_class_converter * double_converter * fildes_converter * float_converter * int_converter * long_converter * long_long_converter * object_converter * self_converter * short_converter * size_t_converter * slice_index_converter * str_converter * unicode_converter * unsigned_char_converter * unsigned_int_converter * unsigned_long_converter * unsigned_long_long_converter * unsigned_short_converter Move also the following classes to libclinic.converters: * buffer * robuffer * rwbuffer Move the following functions to libclinic.converters: * correct_name_for_self() * r() * str_converter_key() Move Null and NULL to libclinic.utils. | 02 April 2024, 10:09:53 UTC |
9dae05e | Moshe Kaplan | 01 April 2024, 19:53:00 UTC | Docs: specify XML document name in xml.etree.elementtree example (#24223) | 01 April 2024, 19:53:00 UTC |
fc20716 | Matthew Davis | 01 April 2024, 19:49:14 UTC | Docs: add more links to PIPE in subprocess docs (#25416) | 01 April 2024, 19:49:14 UTC |
fc8007e | Barney Gale | 01 April 2024, 19:37:41 UTC | GH-117337: Deprecate `glob.glob0()` and `glob.glob1()`. (#117371) These undocumented functions are no longer used by `msilib`, so there's no reason to keep them around. | 01 April 2024, 19:37:41 UTC |
c741ad3 | Justin Turner Arthur | 01 April 2024, 17:07:29 UTC | gh-77714: Provide an async iterator version of as_completed (GH-22491) * as_completed returns object that is both iterator and async iterator * Existing tests adjusted to test both the old and new style * New test to ensure iterator can be resumed * New test to ensure async iterator yields any passed-in Futures as-is Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> Co-authored-by: Guido van Rossum <gvanrossum@gmail.com> | 01 April 2024, 17:07:29 UTC |
ddf814d | Guido van Rossum | 01 April 2024, 16:13:38 UTC | Silence compiler warnings in gc.c (#117422) | 01 April 2024, 16:13:38 UTC |
179869a | Petr Viktorin | 01 April 2024, 15:01:22 UTC | gh-94808: Fix refcounting in PyObject_Print tests (GH-117421) | 01 April 2024, 15:01:22 UTC |
dd44ab9 | neonene | 01 April 2024, 13:28:14 UTC | gh-117142: ctypes: Unify meta tp slot functions (GH-117143) Integrates the following ctypes meta tp slot functions: * `CDataType_traverse()` into `CType_Type_traverse()`. * `CDataType_clear()` into `CType_Type_clear()`. * `CDataType_dealloc()` into `CType_Type_dealloc()`. * `CDataType_repeat()` into `CType_Type_repeat()`. | 01 April 2024, 13:28:14 UTC |
3de09ca | Steve (Gadget) Barnes | 01 April 2024, 13:02:07 UTC | gh-91565: Replace bugs.python.org links with Devguide/GitHub ones (GH-91568) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net> Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com> | 01 April 2024, 13:02:07 UTC |
90c3c68 | MonadChains | 01 April 2024, 12:52:25 UTC | gh-94808:Improve coverage of PyObject_Print (GH-98749) | 01 April 2024, 12:52:25 UTC |
348cf6e | dependabot[bot] | 01 April 2024, 11:14:37 UTC | Bump mypy from 1.8.0 to 1.9.0 in /Tools (#117418) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> | 01 April 2024, 11:14:37 UTC |
9b403fb | dependabot[bot] | 01 April 2024, 11:05:14 UTC | build(deps-dev): bump types-psutil from 5.9.5.20240205 to 5.9.5.20240316 in /Tools (#117417) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> | 01 April 2024, 11:05:14 UTC |
93c7d9d | dependabot[bot] | 01 April 2024, 10:38:38 UTC | build(deps-dev): bump types-setuptools from 69.1.0.20240301 to 69.2.0.20240317 in /Tools (#117419) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 01 April 2024, 10:38:38 UTC |
3bb12e4 | dependabot[bot] | 01 April 2024, 09:54:33 UTC | build(deps): bump actions/add-to-project from 0.6.0 to 1.0.0 (#117415) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 01 April 2024, 09:54:33 UTC |
56e9930 | Adorilson Bezerra | 31 March 2024, 22:34:54 UTC | Doc: printf-style library/stdtype improvements (#16741) | 31 March 2024, 22:34:54 UTC |
18e1264 | Raymond Hettinger | 31 March 2024, 21:09:22 UTC | gh-117387 Remove hash mark from introductory text (#117409) | 31 March 2024, 21:09:22 UTC |
a32d693 | Deborah | 31 March 2024, 20:11:48 UTC | gh-102190: Add additional zipfile `pwd=` arg docstrings (gh-102195) This just documents the parameter that already exists. --------- Co-authored-by: Gregory P. Smith <greg@krypto.org> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> | 31 March 2024, 20:11:48 UTC |
2624453 | Shantanu | 31 March 2024, 19:02:48 UTC | Link to the Python type system specification (#117400) | 31 March 2024, 19:02:48 UTC |
752e183 | Barney Gale | 31 March 2024, 18:14:48 UTC | GH-114575: Rename `PurePath.pathmod` to `PurePath.parser` (#116513) And rename the private base class from `PathModuleBase` to `ParserBase`. | 31 March 2024, 18:14:48 UTC |
bfc57d4 | Sam Gross | 29 March 2024, 22:58:08 UTC | gh-117303: Don't detach in `PyThreadState_DeleteCurrent()` (#117304) This fixes a crash in `test_threading.test_reinit_tls_after_fork()` when running with the GIL disabled. We already properly handle the case where the thread state is `_Py_THREAD_ATTACHED` in `tstate_delete_common()` -- we just need to remove an assertion. Keeping the thread attached means that a stop-the-world pause, such as for a `fork()`, won't commence until we remove our thread state from the interpreter's linked list. This prevents a crash when the child process tries to clean up the dead thread states. | 29 March 2024, 22:58:08 UTC |
05e0b67 | Erlend E. Aasland | 29 March 2024, 20:23:28 UTC | gh-116664: In _warnings.c, make filters_version access thread-safe (#117374) - assert that the lock is held in already_warned() - protect 'filters_version' increment in warnings_filters_mutated_impl() | 29 March 2024, 20:23:28 UTC |
019143f | Jason R. Coombs | 29 March 2024, 20:06:09 UTC | gh-117348: Refactored RawConfigParser._read for similicity and comprehensibility (#117372) * Extract method for _read_inner, reducing complexity and indentation by 1. * Extract method for _raise_all and yield ParseErrors from _read_inner. Reduces complexity by 1 and reduces touch points for handling errors in _read_inner. * Prefer iterators to splat expansion and literal indexing. * Extract method for _strip_comments. Reduces complexity by 7. * Model the file lines in a class to encapsulate the comment status and cleaned value. * Encapsulate the read state as a dataclass * Extract _handle_continuation_line and _handle_rest methods. Reduces complexity by 8. * Reindent * At least for now, collect errors in the ReadState * Check for missing section header separately. * Extract methods for _handle_header and _handle_option. Reduces complexity by 6. * Remove unreachable code. Reduces complexity by 4. * Remove unreachable branch * Handle error condition early. Reduces complexity by 1. * Add blurb * Move _raise_all to ParsingError, as its behavior is most closely related to the exception class and not the reader. * Split _strip* into separate methods. * Refactor _strip_full to compute the strip just once and use 'not any' to determine the factor. * Replace use of 'sys.maxsize' with direct computation of the stripped value. * Extract has_comments as a dynamic property. * Implement clean as a cached property. * Model comment prefixes in the RawConfigParser within a prefixes namespace. * Use a regular expression to search for the first match. Avoids mutating variables and tricky logic and over-computing all of the starts when only the first is relevant. | 29 March 2024, 20:06:09 UTC |
01bd74e | Sam Gross | 29 March 2024, 19:33:06 UTC | gh-117300: Use stop the world to make `sys._current_frames` and `sys._current_exceptions` thread-safe. (#117301) This adds a stop the world pause to make the two functions thread-safe when the GIL is disabled in the free-threaded build. Additionally, the main test thread may call `sys._current_exceptions()` as soon as `g_raised.set()` is called. The background thread may not yet reach the `leave_g.wait()` line. | 29 March 2024, 19:33:06 UTC |
94c9742 | Guido van Rossum | 29 March 2024, 18:31:09 UTC | Fix broken format in error for bad input in summarize_stats.py (#117375) When you pass the script a non-existent input file, you get a TypeError instead of the intended ValueError. | 29 March 2024, 18:31:09 UTC |
5d21d88 | mpage | 29 March 2024, 17:42:02 UTC | gh-111926: Avoid locking in PyType_IsSubtype (#117275) Read the MRO in a thread-unsafe way in `PyType_IsSubtype` to avoid locking. Fixing this is tracked in #117306. The motivation for this change is in support of making weakrefs thread-safe in free-threaded builds: `WeakValueDictionary` uses a special dictionary function, `_PyDict_DelItemIf` to remove dead weakrefs from the dictionary. `_PyDict_DelItemIf` removes a key if a user supplied predicate evaluates to true for the value associated with the key. Crucially for the `WeakValueDictionary` use case, the predicate evaluation + deletion sequence is atomic, provided that the predicate doesn’t suspend. The predicate used by `WeakValueDictionary` includes a subtype check, which we must ensure doesn't suspend in free-threaded builds. | 29 March 2024, 17:42:02 UTC |
19c1dd6 | Sam Gross | 29 March 2024, 17:35:43 UTC | gh-117323: Make `cell` thread-safe in free-threaded builds (#117330) Use critical sections to lock around accesses to cell contents. The critical sections are no-ops in the default (with GIL) build. | 29 March 2024, 17:35:43 UTC |
397d88d | Sam Gross | 29 March 2024, 17:34:04 UTC | gh-117344: Skip flaky tests in free-threaded build (#117355) The tests are not reliable with the GIL disabled. In theory, they can fail with the GIL enabled too, but the failures are much more likely with the GIL disabled. | 29 March 2024, 17:34:04 UTC |
f05fb2e | Sam Gross | 29 March 2024, 17:33:04 UTC | gh-112529: Don't untrack tuples or dicts with zero refcount (#117370) The free-threaded GC sometimes sees objects with zero refcount. This can happen due to the delay in merging biased reference counting fields, and, in the future, due to deferred reference counting. We should not untrack these objects or they will never be collected. This fixes the refleaks in the free-threaded build. | 29 March 2024, 17:33:04 UTC |
ddf95b5 | Erlend E. Aasland | 29 March 2024, 17:26:06 UTC | gh-116664: Fix unused var warnings in _warnings.c in non-free-threaded builds (#117373) The warnings were introduced by commit c1712ef06. | 29 March 2024, 17:26:06 UTC |
0fa571d | Tian Gao | 29 March 2024, 16:02:01 UTC | Refactor pdb executable targets (#112570) Co-authored-by: Jason R. Coombs <jaraco@jaraco.com> | 29 March 2024, 16:02:01 UTC |
54f7e14 | Pedro Lacerda | 29 March 2024, 15:05:00 UTC | gh-66449: configparser: Add support for unnamed sections (#117273) Co-authored-by: Jason R. Coombs <jaraco@jaraco.com> | 29 March 2024, 15:05:00 UTC |
d9cfe7e | Nikita Sobolev | 29 March 2024, 11:14:25 UTC | gh-117166: Ignore empty and temporary dirs in `test_makefile` (#117190) | 29 March 2024, 11:14:25 UTC |
35b6c4a | Victor Stinner | 29 March 2024, 10:25:17 UTC | gh-117347: Fix test_clinic side effects (#117363) Save/restore converters in ClinicWholeFileTest and ClinicExternalTest. | 29 March 2024, 10:25:17 UTC |
7e2fef8 | neonene | 29 March 2024, 09:40:48 UTC | gh-117142: ctypes: Migrate global vars to module state (GH-117189) | 29 March 2024, 09:40:48 UTC |
2e9be80 | Gregory P. Smith | 29 March 2024, 00:58:37 UTC | Fix reversed assertRegex checks in test_ssl. (#117351) | 29 March 2024, 00:58:37 UTC |
8eec7ed | 傅立业(Chris Fu) | 29 March 2024, 00:19:20 UTC | gh-117110: Fix subclasses of typing.Any with custom constructors (#117111) | 29 March 2024, 00:19:20 UTC |
a17f313 | Christopher Chianelli | 28 March 2024, 22:26:56 UTC | gh-117339: Use NULL instead of None for LOAD_SUPER_ATTR in dis docs (GH-117343) | 28 March 2024, 22:26:56 UTC |
26d328b | Michael Droettboom | 28 March 2024, 22:23:08 UTC | GH-117121: Add pystats to JIT builds (GH-117346) | 28 March 2024, 22:23:08 UTC |
14f1ca7 | Nice Zombies | 28 March 2024, 21:20:08 UTC | gh-117335: Handle non-iterables for `ntpath.commonpath` (GH-117336) | 28 March 2024, 21:20:08 UTC |
18cf239 | Brandt Bucher | 28 March 2024, 21:02:34 UTC | Increase the JIT CI timeouts to 75 minutes (GH-117342) | 28 March 2024, 21:02:34 UTC |
29829b5 | Malcolm Smith | 28 March 2024, 19:59:12 UTC | gh-117294: Report DocTestCase as skipped if all examples in the doctest are skipped (GH-117297) | 28 March 2024, 19:59:12 UTC |
efcc968 | Tian Gao | 28 March 2024, 18:23:29 UTC | gh-69201: Separate stdout and stderr stream in test_pdb (#117308) | 28 March 2024, 18:23:29 UTC |
6702d2b | Victor Stinner | 28 March 2024, 16:40:58 UTC | gh-114331: Skip decimal test_maxcontext_exact_arith on s390x (#117326) | 28 March 2024, 16:40:58 UTC |
c1712ef | Erlend E. Aasland | 28 March 2024, 15:05:08 UTC | gh-116664: Make module state Py_SETREF's in _warnings thread-safe (#116959) Mark the swap operations as critical sections. Add an internal Py_BEGIN_CRITICAL_SECTION_MUT API that takes a PyMutex pointer instead of a PyObject pointer. | 28 March 2024, 15:05:08 UTC |