Lysandros Nikolaou
d87b015106
gh-119118: Fix performance regression in tokenize module ( #119615 )
...
* gh-119118: Fix performance regression in tokenize module
- Cache line object to avoid creating a Unicode object
for all of the tokens in the same line.
- Speed up byte offset to column offset conversion by using the
smallest buffer possible to measure the difference.
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
2024-05-28 19:17:49 +00:00
Irit Katriel
ae9140f32a
gh-119676: remove several pseudo instructions which are use only in codegen ( #119677 )
2024-05-28 19:05:38 +00:00
Nikita Sobolev
6b240c2308
gh-119011: `type.__type_params__` now return an empty tuple ( #119296 )
2024-05-28 18:12:58 +00:00
Jelle Zijlstra
ae11d68ab9
gh-117865: Defer import of re in ast ( #119546 )
...
This is used only by ast.get_source_segment(), so it seems sensible to avoid importing it.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-05-28 11:04:08 -07:00
Petr Viktorin
a89fc26f4a
gh-117398: gh-119655: datetime: Init static state once & don't free it (GH-119662)
...
- While datetime uses global state, only initialize it once.
- While `capi` is static, don't free it (thanks @neonene in https://github.com/python/cpython/pull/119641/files#r1616710048 )
2024-05-28 17:27:52 +00:00
Steven Troxler
6ec371223d
gh-119581: Add a test of InitVar with name shadowing ( #119582 )
2024-05-28 18:18:57 +01:00
Victor Stinner
0518edc170
gh-119396: Optimize unicode_repr() ( #119617 )
...
Use stringlib to specialize unicode_repr() for each string kind
(UCS1, UCS2, UCS4).
Benchmark:
+-------------------------------------+---------+----------------------+
| Benchmark | ref | change2 |
+=====================================+=========+======================+
| repr('abc') | 100 ns | 103 ns: 1.02x slower |
+-------------------------------------+---------+----------------------+
| repr('a' * 100) | 369 ns | 369 ns: 1.00x slower |
+-------------------------------------+---------+----------------------+
| repr(('a' + squote) * 100) | 1.21 us | 946 ns: 1.27x faster |
+-------------------------------------+---------+----------------------+
| repr(('a' + nl) * 100) | 1.23 us | 907 ns: 1.36x faster |
+-------------------------------------+---------+----------------------+
| repr(dquote + ('a' + squote) * 100) | 1.08 us | 858 ns: 1.25x faster |
+-------------------------------------+---------+----------------------+
| Geometric mean | (ref) | 1.16x faster |
+-------------------------------------+---------+----------------------+
2024-05-28 18:05:20 +02:00
Nikita Sobolev
2da0dc094f
gh-119659: Move `@no_rerun` to `test.support` ( #119660 )
2024-05-28 18:50:50 +03:00
Nikita Sobolev
f912e5a2f6
gh-118824: Remove deprecated `master_open` and `slave_open` from `pty` ( #118826 )
...
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-05-28 16:42:35 +03:00
Justin Kunimune
b407ad38fb
[doc] Clarify the nature of the root logger in the `logging` documentation (GH-119440)
...
Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
2024-05-28 11:31:20 +01:00
Nikita Sobolev
669175bf8e
gh-116860: Remove outdated `test_parserhack` from `test_future` ( #116861 )
2024-05-28 09:16:52 +00:00
Serhiy Storchaka
b313cc68d5
gh-117557: Improve error messages when a string, bytes or bytearray of length 1 are expected (GH-117631)
2024-05-28 12:01:37 +03:00
Xie Yanbo
bf08f0a5fe
Fix typos in comments ( #119645 )
2024-05-28 09:53:32 +02:00
Jelle Zijlstra
a9a74da4a0
gh-119311: Fix name mangling with PEP 695 generic classes ( #119464 )
...
Fixes #119311 . Fixes #119395 .
2024-05-27 19:50:38 -07:00
Erlend E. Aasland
3e8b60905e
gh-117398: Add multiphase support to _datetime (gh-119373)
...
This is minimal support. Subinterpreters are not supported yet. That will be addressed in a later change.
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-05-27 16:02:46 -06:00
Eric Snow
ae7b17673f
gh-119584: Fix test_import Failed Assertion (gh-119623)
...
The fix in gh-119561 introduced an assertion that doesn't hold true if any of the three new test extension modules are loaded more than once. This is fine normally but breaks if the new test_check_state_first() is run more than once, which happens for refleak checking and with the regrtest --forever flag. We fix that here by clearing each of the three modules after loading them. We also tweak a check in _modules_by_index_check().
2024-05-27 19:35:30 +00:00
Raymond Hettinger
0bd0d4072a
Misc cleanups and wording improvements for the itertools docs (gh-119626)
2024-05-27 13:22:57 -05:00
Guido van Rossum
3ff06ebec4
Withdraw most of my ownership in favor of Mark ( #119611 )
2024-05-27 11:07:16 -07:00
Hugo van Kemenade
eea26c4a73
Docs: Move inline JavaScript to own file to reduce duplication ( #119541 )
2024-05-27 18:04:34 +00:00
Tian Gao
3dfa364cf2
gh-119580: Improve version added section for convenience variable ( #119583 )
2024-05-27 17:54:23 +00:00
Hugo van Kemenade
88e3fee3f8
Docs: Only install sphinx-autobuild for `make htmllive` ( #119607 )
2024-05-27 11:29:27 -06:00
Rafael Fontenelle
59630f92d8
Docs: Add class role for IPV{4,6}Address and fix a typo ( #118059 )
...
Add class role for IPV{4,6}Address and fix a typo
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-05-27 12:39:59 +00:00
Savannah Ostrowski
041a566f3f
GH-117283: Add doc warning for `PyTuple_SetItem` refcount > 1 ( #117916 )
2024-05-27 17:50:28 +05:30
Aditya Borikar
3b26cd8ca0
gh-119467: Fix Py_buffer.format type and correct documentation typo ( #119475 )
2024-05-27 17:46:13 +05:30
Kirill Podoprigora
c7a5e1e550
``Include/internal/pycore_import.h``: Fix typo ( #119586 )
...
Fix typo
2024-05-27 17:05:36 +05:30
Xie Yanbo
5ef5622543
Fix typos in HISTORY documentation ( #119453 )
2024-05-27 10:57:23 +03:00
Jason R. Coombs
5482a939ac
Re-order imports to align with zipp 3.18.2 ( #119587 )
2024-05-27 01:33:16 +00:00
Tian Gao
5d04cc50e5
gh-102864: Add switching frame test for pdb ( #119564 )
2024-05-26 17:05:23 +00:00
Alex Waygood
0220663e26
gh-119562: Remove unused private string constants from `ast.py` ( #119576 )
2024-05-26 13:31:02 +00:00
scoder
70b07aa415
gh-111997: Fix argument count for LINE event and clarify type of argument counts. ( #119179 )
2024-05-26 12:37:33 +00:00
Alex Waygood
008bc04dcb
gh-119562: Remove AST nodes deprecated since Python 3.8 ( #119563 )
2024-05-26 12:34:48 +00:00
Wulian233
b5b7dc98c9
Update README and layout.html from 3.13 to 3.14 ( #119539 )
...
Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-05-26 11:26:59 +00:00
Ned Batchelder
d25954dff5
docs: fix a few typos identified by codespell ( #119516 )
2024-05-25 18:13:31 -07:00
Barney Gale
e418fc3a6e
GH-82805: Fix handling of single-dot file extensions in pathlib ( #118952 )
...
pathlib now treats "`.`" as a valid file extension (suffix). This brings
it in line with `os.path.splitext()`.
In the (private) pathlib ABCs, we add a new `ParserBase.splitext()` method
that splits a path into a `(root, ext)` pair, like `os.path.splitext()`.
This method is called by `PurePathBase.stem`, `suffix`, etc. In a future
version of pathlib, we might make these base classes public, and so users
will be able to define their own `splitext()` method to control file
extension splitting.
In `pathlib.PurePath` we add optimised `stem`, `suffix` and `suffixes`
properties that don't use `splitext()`, which avoids computing the path
base name twice.
2024-05-25 21:01:36 +01:00
Eric Snow
0c5ebe13e9
gh-119560: Drop an Invalid Assert in PyState_FindModule() (gh-119561)
...
The assertion was added in gh-118532 but was based on the invalid assumption that PyState_FindModule() would only be called with an already-initialized module def. I've added a test to make sure we don't make that assumption again.
2024-05-25 19:30:48 +00:00
Alex Waygood
4b7eb321bc
gh-99180: Make `StackSummary.should_show_carets` private ( #119554 )
2024-05-25 17:08:32 +00:00
Pablo Galindo Salgado
6b6c1a904f
Add codeowners for PYREPL ( #119550 )
2024-05-25 16:21:07 +00:00
Pablo Galindo Salgado
e3bac04c37
gh-119548: Add a 'clear' command to the REPL ( #119549 )
2024-05-25 16:15:54 +00:00
Hugo van Kemenade
a531fd7fdb
FAQ: Add reference to Python version numbering scheme ( #119225 )
2024-05-25 08:13:17 -06:00
Serhiy Storchaka
08e65430aa
gh-111999: Fix the signature of str.format_map() ( #119540 )
2024-05-25 06:21:11 -07:00
Tim Peters
de19694cfb
gh-119105: Differ.compare is too slow [for degenerate cases] ( #119492 )
...
``_fancy_replace()`` is no longer recursive. and a single call does a worst-case linear number of ratio() computations instead of quadratic. This renders toothless a universe of pathological cases. Some inputs may produce different output, but that's rare, and I didn't find a case where the final diff appeared to be of materially worse quality. To the contrary, by refusing to even consider synching on lines "far apart", there was more easy-to-digest locality in the output.
2024-05-24 22:08:21 -05:00
Jelle Zijlstra
84be5244de
gh-119180: Update the magic number ( #119397 )
...
PR #119321 added a comment about the magic number bump
but did not actually apply the new magic number.
2024-05-24 17:32:17 -07:00
Raymond Hettinger
49c3ade4f3
Misc improvement to the docs for itertools (gh-119529)
2024-05-24 16:58:24 -05:00
Barney Gale
81d6336230
GH-119054: Add "Querying file type and status" section to pathlib docs ( #119055 )
...
Add a dedicated subsection for `Path.stat()`-related methods, specifically
`stat()`, `lstat()`, `exists()`, `is_*()`, and `samefile()`.
2024-05-24 19:35:13 +00:00
Kirill Podoprigora
045e195c76
Regen ``Doc/requirements-oldest-sphinx.txt`` ( #119520 )
2024-05-24 13:30:32 -06:00
Nice Zombies
96b392df30
gh-118263: Add additional arguments to path_t (Argument Clinic type) in posixmodule (GH-118355)
2024-05-24 19:04:17 +01:00
Germán Méndez Bravo
f0ed1863bd
gh-112075: Fix dict thread safety issues ( #119288 )
...
Fix dict thread safety issues
2024-05-24 10:39:06 -07:00
Alyssa Coghlan
bf5b6467f8
GH-119496: accept UTF-8 BOM in .pth files (GH-119503)
...
`Out-File -Encoding utf8` and similar commands in Windows Powershell 5.1 emit
UTF-8 with a BOM marker, which the regular `utf-8` codec decodes incorrectly.
`utf-8-sig` accepts a BOM, but also works correctly without one.
This change also makes .pth files match the way Python source files are handled.
Co-authored-by: Inada Naoki <songofacandy@gmail.com>
2024-05-24 14:29:19 +00:00
Victor Stinner
92fab3356f
gh-69214: Fix fcntl.ioctl() request type ( #119498 )
...
Use an 'unsigned long' instead of an 'unsigned int' for the request
parameter of fcntl.ioctl() to support requests larger than UINT_MAX.
2024-05-24 14:31:40 +02:00
Brandt Bucher
b48a3dbff4
GH-113464: Run the JIT interpreter before any other JIT CI (GH-119466)
2024-05-24 03:13:41 +00:00