Skip to content

Commit 0d68f47

Browse files
committed
Merge remote-tracking branch 'upstream/main' into gh-136186
2 parents 691c8dc + 20aeb3a commit 0d68f47

26 files changed

+1134
-902
lines changed

.github/workflows/tail-call.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,22 +81,23 @@ jobs:
8181

8282
- name: Native Windows MSVC (release)
8383
if: runner.os == 'Windows' && matrix.architecture != 'ARM64'
84-
shell: cmd
84+
shell: pwsh
8585
run: |
8686
choco install visualstudio2026buildtools --no-progress -y --force --params "--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --locale en-US --passive"
8787
$env:PATH = "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\MSBuild\Current\bin;$env:PATH"
88-
./PCbuild/build.bat --tail-call-interp -c Release -p ${{ matrix.architecture }} "/p:PlatformToolset=v145"
88+
$env:PlatformToolset = "v145"
89+
./PCbuild/build.bat --tail-call-interp -c Release -p ${{ matrix.architecture }}
8990
./PCbuild/rt.bat -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
9091
9192
# No tests (yet):
9293
- name: Emulated Windows Clang (release)
9394
if: runner.os == 'Windows' && matrix.architecture == 'ARM64'
94-
shell: cmd
95+
shell: pwsh
9596
run: |
9697
choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0
97-
set PlatformToolset=clangcl
98-
set LLVMToolsVersion=${{ matrix.llvm }}.1.0
99-
set LLVMInstallDir=C:\Program Files\LLVM
98+
$env:PlatformToolset = "clangcl"
99+
$env:LLVMToolsVersion = "${{ matrix.llvm }}.1.0"
100+
$env:LLVMInstallDir = "C:\Program Files\LLVM"
100101
./PCbuild/build.bat --tail-call-interp -p ${{ matrix.architecture }}
101102
102103
- name: Native macOS (release)

.pre-commit-config.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: v0.13.2
3+
rev: v0.14.10
44
hooks:
55
- id: ruff-check
66
name: Run Ruff (lint) on Apple/
@@ -52,7 +52,7 @@ repos:
5252
files: ^Tools/wasm/
5353

5454
- repo: https://github.com/psf/black-pre-commit-mirror
55-
rev: 25.9.0
55+
rev: 25.12.0
5656
hooks:
5757
- id: black
5858
name: Run Black on Tools/jit/
@@ -83,24 +83,24 @@ repos:
8383
files: '^\.github/CODEOWNERS|\.(gram)$'
8484

8585
- repo: https://github.com/python-jsonschema/check-jsonschema
86-
rev: 0.34.0
86+
rev: 0.36.0
8787
hooks:
8888
- id: check-dependabot
8989
- id: check-github-workflows
9090
- id: check-readthedocs
9191

9292
- repo: https://github.com/rhysd/actionlint
93-
rev: v1.7.7
93+
rev: v1.7.9
9494
hooks:
9595
- id: actionlint
9696

9797
- repo: https://github.com/woodruffw/zizmor-pre-commit
98-
rev: v1.14.1
98+
rev: v1.19.0
9999
hooks:
100100
- id: zizmor
101101

102102
- repo: https://github.com/sphinx-contrib/sphinx-lint
103-
rev: v1.0.0
103+
rev: v1.0.2
104104
hooks:
105105
- id: sphinx-lint
106106
args: [--enable=default-role]

Doc/deprecations/pending-removal-in-3.15.rst

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,6 @@ Pending removal in Python 3.15
3333

3434
* ``load_module()`` method: use ``exec_module()`` instead.
3535

36-
* :class:`locale`:
37-
38-
* The :func:`~locale.getdefaultlocale` function
39-
has been deprecated since Python 3.11.
40-
Its removal was originally planned for Python 3.13 (:gh:`90817`),
41-
but has been postponed to Python 3.15.
42-
Use :func:`~locale.getlocale`, :func:`~locale.setlocale`,
43-
and :func:`~locale.getencoding` instead.
44-
(Contributed by Hugo van Kemenade in :gh:`111187`.)
45-
4636
* :mod:`pathlib`:
4737

4838
* :meth:`!.PurePath.is_reserved`

Doc/library/locale.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,8 +370,6 @@ The :mod:`locale` module defines the following exception and functions:
370370
determined.
371371
The "C" locale is represented as ``(None, None)``.
372372

373-
.. deprecated-removed:: 3.11 3.15
374-
375373

376374
.. function:: getlocale(category=LC_CTYPE)
377375

Doc/tools/check-warnings.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,11 @@ def main(argv: list[str] | None = None) -> int:
311311
if not Path("Doc").exists() or not Path("Doc").is_dir():
312312
raise RuntimeError(wrong_directory_msg)
313313

314-
with Path("Doc/sphinx-warnings.txt").open(encoding="UTF-8") as f:
315-
warnings = f.read().splitlines()
314+
warnings = (
315+
Path("Doc/sphinx-warnings.txt")
316+
.read_text(encoding="UTF-8")
317+
.splitlines()
318+
)
316319

317320
cwd = str(Path.cwd()) + os.path.sep
318321
files_with_nits = {

Doc/whatsnew/3.15.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,9 @@ locale
562562
but included in the language code.
563563
(Contributed by Serhiy Storchaka in :gh:`137729`.)
564564

565+
* Undeprecate the :func:`locale.getdefaultlocale` function.
566+
(Contributed by Victor Stinner in :gh:`130796`.)
567+
565568

566569
math
567570
----
@@ -935,8 +938,8 @@ code results in constants, the code can be simplified by the JIT.
935938
The JIT avoids :term:`reference count`\ s where possible. This generally
936939
reduces the cost of most operations in Python.
937940

938-
(Contributed by Ken Jin, Donghee Na, Zheao Li, Savannah Ostrowski,
939-
Noam Cohen, Tomas Roun, PuQing in :gh:`134584`.)
941+
(Contributed by Ken Jin, Donghee Na, Zheao Li, Hai Zhu, Savannah Ostrowski,
942+
Noam Cohen, Tomas Roun, and PuQing in :gh:`134584`.)
940943

941944
.. rubric:: Better machine code generation
942945

Include/internal/pycore_object.h

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -252,25 +252,6 @@ _Py_DECREF_SPECIALIZED(PyObject *op, const destructor destruct)
252252
}
253253
}
254254

255-
static inline void
256-
_Py_DECREF_NO_DEALLOC(PyObject *op)
257-
{
258-
if (_Py_IsImmortal(op)) {
259-
_Py_DECREF_IMMORTAL_STAT_INC();
260-
return;
261-
}
262-
_Py_DECREF_STAT_INC();
263-
#ifdef Py_REF_DEBUG
264-
_Py_DEC_REFTOTAL(PyInterpreterState_Get());
265-
#endif
266-
op->ob_refcnt--;
267-
#ifdef Py_DEBUG
268-
if (op->ob_refcnt <= 0) {
269-
_Py_FatalRefcountError("Expected a positive remaining refcount");
270-
}
271-
#endif
272-
}
273-
274255
#else
275256
// TODO: implement Py_DECREF specializations for Py_GIL_DISABLED build
276257
static inline void
@@ -279,12 +260,6 @@ _Py_DECREF_SPECIALIZED(PyObject *op, const destructor destruct)
279260
Py_DECREF(op);
280261
}
281262

282-
static inline void
283-
_Py_DECREF_NO_DEALLOC(PyObject *op)
284-
{
285-
Py_DECREF(op);
286-
}
287-
288263
static inline int
289264
_Py_REF_IS_MERGED(Py_ssize_t ob_ref_shared)
290265
{

Include/internal/pycore_opcode_metadata.h

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Include/internal/pycore_optimizer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ typedef struct {
2727
uint8_t valid;
2828
uint8_t chain_depth; // Must be big enough for MAX_CHAIN_DEPTH - 1.
2929
bool warm;
30+
uint8_t pending_deletion;
3031
int32_t index; // Index of ENTER_EXECUTOR (if code isn't NULL, below).
3132
_PyBloomFilter bloom;
3233
_PyExecutorLinkListNode links;

0 commit comments

Comments
 (0)