Skip to content

Commit 6b17edf

Browse files
Merge branch '3.15' into backport-665bda9-3.15
2 parents 30e9896 + 2304b68 commit 6b17edf

348 files changed

Lines changed: 6217 additions & 1950 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/jit.yml‎

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -87,24 +87,16 @@ jobs:
8787
./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
8888
8989
macos:
90-
name: ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }})
90+
name: aarch64-apple-darwin/clang (${{ matrix.debug && 'Debug' || 'Release' }})
9191

92-
runs-on: ${{ matrix.runner }}
92+
runs-on: macos-26
9393
timeout-minutes: 60
9494
strategy:
9595
fail-fast: false
9696
matrix:
97-
target:
98-
- x86_64-apple-darwin/clang
99-
- aarch64-apple-darwin/clang
10097
debug:
10198
- true
10299
- false
103-
include:
104-
- target: x86_64-apple-darwin/clang
105-
runner: macos-26-intel
106-
- target: aarch64-apple-darwin/clang
107-
runner: macos-26
108100
steps:
109101
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
110102
with:

‎.github/workflows/tail-call.yml‎

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,9 @@ env:
2424

2525
jobs:
2626
macos:
27-
name: ${{ matrix.target }}
28-
runs-on: ${{ matrix.runner }}
27+
name: aarch64-apple-darwin/clang
28+
runs-on: macos-26
2929
timeout-minutes: 60
30-
strategy:
31-
fail-fast: false
32-
matrix:
33-
include:
34-
- target: x86_64-apple-darwin/clang
35-
runner: macos-26-intel
36-
- target: aarch64-apple-darwin/clang
37-
runner: macos-26
3830
steps:
3931
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4032
with:
@@ -49,7 +41,6 @@ jobs:
4941
- name: Build
5042
run: |
5143
export SDKROOT="$(xcrun --show-sdk-path)"
52-
export PATH="/usr/local/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH"
5344
export PATH="/opt/homebrew/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH"
5445
CC=clang-${{ env.LLVM_VERSION }} ./configure --with-tail-call-interp
5546
make all --jobs 4

‎.gitignore‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,6 @@ Python/frozen_modules/MANIFEST
181181
# People's custom https://docs.anthropic.com/en/docs/claude-code/memory configs.
182182
/.claude/
183183
CLAUDE.local.md
184+
185+
# Local scratch space for things we or our agents do in our worktrees.
186+
/do-not-commit/

‎Doc/builtins/exceptions.rst‎

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -394,10 +394,9 @@ The following exceptions are the exceptions that are usually raised.
394394

395395
.. attribute:: strerror
396396

397-
The corresponding error message, as provided by
398-
the operating system. It is formatted by the C
399-
functions :c:func:`!perror` under POSIX, and :c:func:`!FormatMessage`
400-
under Windows.
397+
The corresponding error message, as provided by the operating system.
398+
Under POSIX, it is obtained using the C functions :c:func:`!strerror`
399+
or :c:func:`!strerror_r`; under Windows, :c:func:`!FormatMessage` is used.
401400

402401
.. attribute:: filename
403402
filename2
@@ -565,11 +564,6 @@ The following exceptions are the exceptions that are usually raised.
565564
The column in the end line where the error occurred finishes. This is
566565
1-indexed: the first character in the line has an ``offset`` of 1.
567566

568-
For errors in f-string fields, the message is prefixed by "f-string: "
569-
and the offsets are offsets in a text constructed from the replacement
570-
expression. For example, compiling f'Bad {a b} field' results in this
571-
args attribute: ('f-string: ...', ('', 1, 2, '(a b)\n', 1, 5)).
572-
573567
.. versionchanged:: 3.10
574568
Added the :attr:`end_lineno` and :attr:`end_offset` attributes.
575569

‎Doc/builtins/functions.rst‎

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ are always available. They are listed here in alphabetical order.
732732
still access all builtins.
733733

734734
The *closure* argument specifies a closure--a tuple of cellvars.
735-
It's only valid when the *object* is a code object containing
735+
It's only valid when *source* is a code object containing
736736
:term:`free (closure) variables <closure variable>`.
737737
The length of the tuple must exactly match the length of the code object's
738738
:attr:`~codeobject.co_freevars` attribute.
@@ -1788,8 +1788,6 @@ are always available. They are listed here in alphabetical order.
17881788
including the name and address of the object. A class can control what this
17891789
function returns for its instances
17901790
by defining a :meth:`~object.__repr__` method.
1791-
If :func:`sys.displayhook` is not accessible, this function will raise
1792-
:exc:`RuntimeError`.
17931791

17941792
This class has a custom representation that can be evaluated::
17951793

@@ -2103,10 +2101,10 @@ are always available. They are listed here in alphabetical order.
21032101

21042102
When called directly within an ordinary method of a class, both arguments may
21052103
be omitted ("zero-argument :func:`!super`"). In this case, *type* will be the
2106-
enclosing class, and *obj* will be the first argument of the immediately
2107-
enclosing function (typically ``self``). (This means that zero-argument
2104+
enclosing class, and *object_or_type* will be the first argument of the
2105+
immediately enclosing function (typically ``self``). Zero-argument
21082106
:func:`!super` will not work as expected within nested functions, including
2109-
generator expressions, which implicitly create nested functions.)
2107+
generator expressions, which implicitly create nested functions.
21102108

21112109
There are two typical use cases for *super*. In a class hierarchy with
21122110
single inheritance, *super* can be used to refer to parent classes without
@@ -2365,10 +2363,9 @@ are always available. They are listed here in alphabetical order.
23652363
determine the package context of the :keyword:`import` statement.
23662364

23672365
*level* specifies whether to use absolute or relative imports. ``0`` (the
2368-
default) means only perform absolute imports. Positive values for
2369-
*level* indicate the number of parent directories to search relative to the
2370-
directory of the module calling :func:`__import__` (see :pep:`328` for the
2371-
details).
2366+
default) means only perform absolute imports. For relative imports,
2367+
``1`` refers to the current package, ``2`` to its parent package, and so on
2368+
(see :pep:`328` for details).
23722369

23732370
When the *name* variable is of the form ``package.module``, normally, the
23742371
top-level package (the name up till the first dot) is returned, *not* the

‎Doc/builtins/stdtypes.rst‎

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3780,8 +3780,8 @@ objects.
37803780

37813781
If the :class:`bytearray` needs to shrink, bytes beyond *size* are truncated.
37823782

3783-
If the :class:`bytearray` needs to grow, all new bytes, those beyond *size*,
3784-
will be set to null bytes.
3783+
If the :class:`bytearray` needs to grow, all new bytes will be set to null
3784+
bytes.
37853785

37863786

37873787
This is equivalent to:
@@ -5593,9 +5593,8 @@ Note, the non-operator versions of the :meth:`~set.update`,
55935593
argument.
55945594

55955595
Note, the *elem* argument to the :meth:`~object.__contains__`,
5596-
:meth:`~set.remove`, and
5597-
:meth:`~set.discard` methods may be a set. To support searching for an equivalent
5598-
frozenset, a temporary one is created from *elem*.
5596+
:meth:`~set.remove`, and :meth:`~set.discard` methods may be a set. In this case,
5597+
an equivalent frozenset is searched for.
55995598

56005599
Sets and frozensets are :ref:`generic <generics>` over the type of their elements.
56015600

@@ -5645,7 +5644,7 @@ can be used interchangeably to index the same dictionary entry.
56455644

56465645
* Use a comma-separated list of ``key: value`` pairs within braces:
56475646
``{'jack': 4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``
5648-
* Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``
5647+
* Use a dict comprehension: ``{x: x ** 2 for x in range(10)}``
56495648
* Use the type constructor: ``dict()``,
56505649
``dict([('foo', 100), ('bar', 200)])``, ``dict(foo=100, bar=200)``
56515650

@@ -5856,9 +5855,8 @@ can be used interchangeably to index the same dictionary entry.
58565855
Return a new view of the dictionary's values. See the
58575856
:ref:`documentation of view objects <dict-views>`.
58585857

5859-
An equality comparison between one ``dict.values()`` view and another
5860-
will always return ``False``. This also applies when comparing
5861-
``dict.values()`` to itself::
5858+
An equality comparison between two distinct ``dict.values()`` views
5859+
will always return ``False``, even for views of the same dictionary::
58625860

58635861
>>> d = {'a': 1}
58645862
>>> d.values() == d.values()

‎Doc/c-api/bool.rst‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,15 @@ are available, however.
2525
2626
.. c:var:: PyObject* Py_False
2727
28-
The Python ``False`` object. This object has no methods and is
29-
:term:`immortal`.
28+
The Python ``False`` object. This object is :term:`immortal`.
3029
3130
.. versionchanged:: 3.12
3231
:c:data:`Py_False` is :term:`immortal`.
3332
3433
3534
.. c:var:: PyObject* Py_True
3635
37-
The Python ``True`` object. This object has no methods and is
38-
:term:`immortal`.
36+
The Python ``True`` object. This object is :term:`immortal`.
3937
4038
.. versionchanged:: 3.12
4139
:c:data:`Py_True` is :term:`immortal`.

0 commit comments

Comments
 (0)