summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Doc: Typo fix: nrace -> race (#127288)Richard Hansen2024-11-261-1/+1
|
* gh-113993: InternalDocs: Add String Interning to README (#127250)Petr Viktorin2024-11-261-0/+2
|
* gh-124873: Skip timerfd tests on Android (#127279)Malcolm Smith2024-11-261-2/+3
| | | | | | | | | * Revert "[3.13] gh-124873: Tolerate 100 ms in TimerfdTests on Android (GH-127101) (#127105)" This reverts commit c09366b1fed2289530581505834b2b262120a7c7. * Skip timerfd tests on Android. Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-122273: Support PyREPL history on Windows (#127141)Victor Stinner2024-11-263-20/+40
| | | Co-authored-by: devdanzin <74280297+devdanzin@users.noreply.github.com>
* gh-126946: Improve error message in getopt.do_longs based on existing ↵Beomsoo Kim2024-11-263-5/+10
| | | | | comment (GH-126871) Include a list of possibilities for not unique prefix.
* gh-101100: Fix sphinx warnings in `howto/*` (#127084)Yuki Kobayashi2024-11-263-102/+101
|
* Fix typo: Use AsyncFor element access in codegen (#127278)Marc Mueller2024-11-261-1/+1
| | | Use AsyncFor element access in codegen
* gh-126612: Include stack effects of uops when computing maximum stack depth ↵mpage2024-11-265-46/+1280
| | | | (#126894)
* gh-127265: Remove single quotes from 'arrow's in tutorial/errors.rst (GH-127267)funkyrailroad2024-11-251-1/+1
|
* GH-127236: `pathname2url()`: generate RFC 1738 URL for absolute POSIX path ↵Barney Gale2024-11-255-20/+33
| | | | | | | | | | | | | | | (#127194) When handed an absolute Windows path such as `C:\foo` or `//server/share`, the `urllib.request.pathname2url()` function returns a URL with an authority section, such as `///C:/foo` or `//server/share` (or before GH-126205, `////server/share`). Only the `file:` prefix is omitted. But when handed an absolute POSIX path such as `/etc/hosts`, or a Windows path of the same form (rooted but lacking a drive), the function returns a URL without an authority section, such as `/etc/hosts`. This patch corrects the discrepancy by adding a `//` prefix before drive-less, rooted paths when generating URLs.
* gh-127182: Fix `io.StringIO.__setstate__` crash when `None` is the first ↵sobolevn2024-11-253-14/+33
| | | | | value (#127219) Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-127022: Remove `_PyEvalFramePushAndInit_UnTagged` (gh-127168)Sam Gross2024-11-251-31/+4
| | | | | The interpreter now handles `_PyStackRef`s pointing to immortal objects without the deferred bit set, so `_PyEvalFramePushAndInit_UnTagged` is no longer necessary.
* gh-127248: Fix several removed or misnamed files in pythoncore.vcxproj ↵Sergey Muraviov2024-11-252-19/+2
| | | | (GH-127249)
* gh-107954: Document PEP 741 in What's New 3.14 (#127056)Victor Stinner2024-11-252-0/+40
|
* gh-127183: Add `_ctypes.CopyComPointer` tests (GH-127184)Jun Komoda2024-11-251-17/+115
| | | | | | | | | | | * Make `create_shelllink_persist` top level function. * Add `CopyComPointerTests`. * Add more tests. * Update tests. * Add assertions for `Release`'s return value.
* Replace `:platform:` with `.. availability::` in `socket.ioctl` doc. (GH-127122)Jun Komoda2024-11-251-2/+3
| | | In `socket.ioctl`, `:platform:` -> `.. availability::`
* gh-127238: adjust error message for sys.set_int_max_str_digits() (#127241)Sergey B Kirpichev2024-11-252-1/+2
| | | Now it's correct and closer to Python/initconfig.c
* GH-115869: Make jit_stencils.h reproducible (GH-127166)Brandt Bucher2024-11-245-9/+18
|
* Improve `pathname2url()` and `url2pathname()` docs (#127125)Barney Gale2024-11-241-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | These functions have long sown confusion among Python developers. The existing documentation says they deal with URL path components, but that doesn't fit the evidence on Windows: >>> pathname2url(r'C:\foo') '///C:/foo' >>> pathname2url(r'\\server\share') '////server/share' # or '//server/share' as of quite recently If these were URL path components, they would imply complete URLs like `file://///C:/foo` and `file://////server/share`. Clearly this isn't right. Yet the implementation in `nturl2path` is deliberate, and the `url2pathname()` function correctly inverts it. On non-Windows platforms, the behaviour until quite recently is to simply quote/unquote the path without adding or removing any leading slashes. This behaviour is compatible with *both* interpretations -- 1) the value is a URL path component (existing docs), and 2) the value is everything following `file:` (this commit) The conclusion I draw is that these functions operate on everything after the `file:` prefix, which may include an authority section. This is the only explanation that fits both the Windows and non-Windows behaviour. It's also a better match for the function names.
* gh-127217: Fix pathname2url() for paths starting with multiple slashes on ↵Serhiy Storchaka2024-11-243-0/+9
| | | | Posix (GH-127218)
* Fix macro expansions in critical section docs (#127226)da-woods2024-11-241-2/+2
|
* gh-122356: restore the position of a file-like object after ↵Bénédikt Tran2024-11-243-2/+13
| | | | `zipfile.is_zipfile` (#122397)
* gh-101100: Fix sphinx warnings of removed opcodes (#127222)Yuki Kobayashi2024-11-246-16/+16
|
* GH-127133: Remove ability to nest argument groups & mutually exclusive ↵Savannah Ostrowski2024-11-245-95/+41
| | | | groups (#127186)
* gh-113841: fix possible undefined division by 0 in _Py_c_pow() (GH-127211)Sergey B Kirpichev2024-11-243-1/+8
| | | `x**y == 1/x**-y ` thus changing `/=` to `*=` by negating the exponent.
* gh-126662: harmonize naming for three namedtuple base classes in ↵Stephen Morton2024-11-241-3/+3
| | | | | urllib.parse (GH-126663) harmonize naming for three namedtuple base classes in urllib.parse
* pathlib tests: move `walk()` tests into their own classes (GH-126651)Barney Gale2024-11-242-84/+107
| | | Move tests for Path.walk() into a new PathWalkTest class, and apply a similar change in tests for the ABCs. This allows us to properly tear down the walk test hierarchy in tearDown(), rather than leaving it to os_helper.rmtree().
* Fix "useable" typo in docs (#127200)Stan U.2024-11-231-1/+1
| | | Fix typo in docs
* Doc: C API: Fix `Py_NewInterpreterFromConfig` example code (#126667)Richard Hansen2024-11-231-1/+5
|
* GH-125866: Preserve Windows drive letter case in file URIs (#127138)Barney Gale2024-11-234-2/+13
| | | | | Stop converting Windows drive letters to uppercase in `urllib.request.pathname2url()` and `url2pathname()`. This behaviour is unnecessary and inconsistent with pathlib's file URI implementation.
* GH-127134: Add note about forward compatibility for suggest_on_error (#127137)Savannah Ostrowski2024-11-231-0/+8
|
* Fix a few typos found in the docs (GH-127126)Rafael Fontenelle2024-11-234-5/+5
|
* gh-115999: Record success in `specialize` (#127167)mpage2024-11-221-0/+1
| | | | | | | Record success in `specialize` This matches the existing behavior where we increment the success stat for the generic opcode each time we successfully specialize an instruction.
* gh-119786: add code object doc, inline locations.md into it (#126832)Irit Katriel2024-11-226-82/+143
|
* gh-109746: Make _thread.start_new_thread delete state of new thread on its ↵Radislav Chugunov2024-11-224-1/+39
| | | | | | | | | | startup failure (GH-109761) If Python fails to start newly created thread due to failure of underlying PyThread_start_new_thread() call, its state should be removed from interpreter' thread states list to avoid its double cleanup. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* GH-89435: os.path should not be a frozen module (#126924)Filipe Laíns 🇵🇸2024-11-222-5/+0
|
* gh-127022: Simplify `PyStackRef_FromPyObjectSteal` (#127024)Sam Gross2024-11-225-72/+57
| | | | | | | | | This gets rid of the immortal check in `PyStackRef_FromPyObjectSteal()`. Overall, this improves performance about 2% in the free threading build. This also renames `PyStackRef_Is()` to `PyStackRef_IsExactly()` because the macro requires that the tag bits of the arguments match, which is only true in certain special cases.
* Enable aarch64 Ubuntu CI jobs (#125786)Łukasz Langa2024-11-225-22/+42
| | | This change enables custom GHA runners for Ubuntu-24.04 that run on Arm hardware. It also prepares for Windows runners on Arm hardware, but doesn't enable that just yet, because the Arm GHA runner images for Windows need to be updated.
* gh-115999: Add free-threaded specialization for `UNPACK_SEQUENCE` (#126600)Kirill Podoprigora2024-11-227-30/+103
| | | | | | | | | | | Add free-threaded specialization for `UNPACK_SEQUENCE` opcode. `UNPACK_SEQUENCE_TUPLE/UNPACK_SEQUENCE_TWO_TUPLE` are already thread safe since tuples are immutable. `UNPACK_SEQUENCE_LIST` is not thread safe because of nature of lists (there is nothing preventing another thread from adding items to or removing them the list while the instruction is executing). To achieve thread safety we add a critical section to the implementation of `UNPACK_SEQUENCE_LIST`, especially around the parts where we check the size of the list and push items onto the stack. --------- Co-authored-by: Matt Page <mpage@meta.com> Co-authored-by: mpage <mpage@cs.stanford.edu>
* gh-127117: Ensure the Correct Last Fields of PyInterpreterState and of ↵Eric Snow2024-11-222-7/+10
| | | | | _PyRuntimeState (gh-127118) We add some comments so contributors can be aware and we move one out-of-place field up.
* gh-86463: Fix a trailing space in argparse.rst (#127162)Serhiy Storchaka2024-11-221-1/+1
|
* gh-88110: Clear concurrent.futures.thread._threads_queues after fork to ↵Andrei Bodrov2024-11-223-0/+22
| | | | | | | | | avoid joining parent process' threads (GH-126098) Threads are gone after fork, so clear the queues too. Otherwise the child process (here created via multiprocessing.Process) crashes on interpreter exit. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-126384: Add tests to verify the behavior of basic COM methods. (GH-126610)Jun Komoda2024-11-221-0/+188
|
* gh-109413: Fix libregrtest get_running() (#127153)Victor Stinner2024-11-221-1/+1
| | | Skip threads which are not running.
* gh-127001: Fix PATHEXT issues in shutil.which() on Windows (GH-127035)Serhiy Storchaka2024-11-224-248/+303
| | | | | | | | | * Name without a PATHEXT extension is only searched if the mode does not include X_OK. * Support multi-component PATHEXT extensions (e.g. ".foo.bar"). * Support files without extensions in PATHEXT contains dot-only extension (".", "..", etc). * Support PATHEXT extensions that end with a dot (e.g. ".foo.").
* Fix broken XML in Visual Studio project file (GH-127142)Sergey Muraviov2024-11-221-0/+2
|
* gh-86463: Fix default prog in subparsers if usage is used in the main parser ↵Serhiy Storchaka2024-11-224-5/+60
| | | | | | | | | | (GH-125891) The usage parameter of argparse.ArgumentParser no longer affects the default value of the prog parameter in subparsers. Previously the full custom usage of the main parser was used as the prog prefix in subparsers.
* gh-127076: Ignore memory mmap in FileIO testing (#127088)Cody Maloney2024-11-223-7/+37
| | | | | | | | | | | | | `mmap`, `munmap`, and `mprotect` are used by CPython for memory management, which may occur in the middle of the FileIO tests. The system calls can also be used with files, so `strace` includes them in its `%file` and `%desc` filters. Filter out the `mmap` system calls related to memory allocation for the file tests. Currently FileIO doesn't do `mmap` at all, so didn't add code to track from `mmap` through `munmap` since it wouldn't be used. For now if an `mmap` on a fd happens, the call will be included (which may cause test to fail), and at that time support for tracking the address throug `munmap` could be added.
* gh-126700: pygettext: Support more gettext functions (GH-126912)Tomas R.2024-11-227-90/+260
| | | | Support multi-argument gettext functions: ngettext(), pgettext(), dgettext(), etc.
* gh-127065: Make `methodcaller` thread-safe in free threading build (#127109)Sam Gross2024-11-222-0/+11
| | | | | | | The `methodcaller` C vectorcall implementation uses an arguments array that is shared across calls. The first argument is modified on every invocation. This isn't thread-safe in the free threading build. I think it's also not safe in general, but for now just disable it in the free threading build.