From 14adf4667e401a6257fe71c595a9a5c7c1f84c67 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Date: Mon, 12 Sep 2022 11:54:49 +0100 Subject: [PATCH 001/494] Post 3.11.0rc2 --- Include/patchlevel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Include/patchlevel.h b/Include/patchlevel.h index f727dc2883f728..a54a2ce6c70d8b 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -23,7 +23,7 @@ #define PY_RELEASE_SERIAL 2 /* Version as a string */ -#define PY_VERSION "3.11.0rc2" +#define PY_VERSION "3.11.0rc2+" /*--end constants--*/ /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. From 390123b412346eb4438665f068bb73226ac84e7c Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 03:05:25 -0700 Subject: [PATCH 002/494] [3.11] gh-96320: WASI socket fixes (GH-96388) (GH-#96748) - ignore missing functions in ``socket.__repr__`` - bundle network files with assets --- Lib/socket.py | 5 +++-- .../Library/2022-08-29-16-54-36.gh-issue-96388.dCpJcu.rst | 2 ++ Tools/wasm/wasm_assets.py | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-08-29-16-54-36.gh-issue-96388.dCpJcu.rst diff --git a/Lib/socket.py b/Lib/socket.py index a19652247a5293..0717c696b12e03 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -254,17 +254,18 @@ def __repr__(self): self.type, self.proto) if not closed: + # getsockname and getpeername may not be available on WASI. try: laddr = self.getsockname() if laddr: s += ", laddr=%s" % str(laddr) - except error: + except (error, AttributeError): pass try: raddr = self.getpeername() if raddr: s += ", raddr=%s" % str(raddr) - except error: + except (error, AttributeError): pass s += '>' return s diff --git a/Misc/NEWS.d/next/Library/2022-08-29-16-54-36.gh-issue-96388.dCpJcu.rst b/Misc/NEWS.d/next/Library/2022-08-29-16-54-36.gh-issue-96388.dCpJcu.rst new file mode 100644 index 00000000000000..3a35c4734871d1 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-08-29-16-54-36.gh-issue-96388.dCpJcu.rst @@ -0,0 +1,2 @@ +Work around missing socket functions in :class:`~socket.socket`'s +``__repr__``. diff --git a/Tools/wasm/wasm_assets.py b/Tools/wasm/wasm_assets.py index 40acea2efaef27..34a9bb5640a310 100755 --- a/Tools/wasm/wasm_assets.py +++ b/Tools/wasm/wasm_assets.py @@ -229,7 +229,8 @@ def main(): extmods = detect_extension_modules(args) omit_files = list(OMIT_FILES) - omit_files.extend(OMIT_NETWORKING_FILES) + if sysconfig.get_platform().startswith("emscripten"): + omit_files.extend(OMIT_NETWORKING_FILES) for modname, modfiles in OMIT_MODULE_FILES.items(): if not extmods.get(modname): omit_files.extend(modfiles) From 4958820032d547cf7a1ebd619460d778ec143f9c Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Tue, 13 Sep 2022 12:06:39 +0200 Subject: [PATCH 003/494] [3.11] gh-95853: Add script to automate WASM build (GH-95828, GH-95985, GH-96045, GH-96389, GH-96744) (GH-96749) Automate WASM build with a new Python script. The script provides several build profiles with configure flags for Emscripten flavors and WASI. The script can detect and use Emscripten SDK and WASI SDK from default locations or env vars. ``configure`` now detects Node arguments and creates HOSTRUNNER arguments for Node 16. It also sets correct arguments for ``wasm64-emscripten``. --- Lib/distutils/tests/test_sysconfig.py | 1 + Lib/test/test_decimal.py | 3 +- Lib/test/test_sysconfig.py | 1 + Lib/test/test_unicode_file_functions.py | 5 + Lib/test/test_warnings/__init__.py | 9 +- Makefile.pre.in | 9 +- ...2-08-10-17-08-43.gh-issue-95853.HCjC2m.rst | 2 + ...2-08-29-17-25-13.gh-issue-95853.Ce17cT.rst | 2 + Modules/pyexpat.c | 2 +- Python/sysmodule.c | 10 +- Tools/wasm/README.md | 94 +- Tools/wasm/wasi-env | 3 +- Tools/wasm/wasm_assets.py | 14 +- Tools/wasm/wasm_build.py | 907 ++++++++++++++++++ configure | 168 +++- configure.ac | 46 +- 16 files changed, 1236 insertions(+), 40 deletions(-) create mode 100644 Misc/NEWS.d/next/Tools-Demos/2022-08-10-17-08-43.gh-issue-95853.HCjC2m.rst create mode 100644 Misc/NEWS.d/next/Tools-Demos/2022-08-29-17-25-13.gh-issue-95853.Ce17cT.rst create mode 100755 Tools/wasm/wasm_build.py diff --git a/Lib/distutils/tests/test_sysconfig.py b/Lib/distutils/tests/test_sysconfig.py index d1c472794c5ae5..6833d22af5fe2a 100644 --- a/Lib/distutils/tests/test_sysconfig.py +++ b/Lib/distutils/tests/test_sysconfig.py @@ -49,6 +49,7 @@ def test_get_config_vars(self): self.assertIsInstance(cvars, dict) self.assertTrue(cvars) + @unittest.skipIf(is_wasi, "Incompatible with WASI mapdir and OOT builds") def test_srcdir(self): # See Issues #15322, #15364. srcdir = sysconfig.get_config_var('srcdir') diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py index 33d9c6def9727d..67ccaab40c5edc 100644 --- a/Lib/test/test_decimal.py +++ b/Lib/test/test_decimal.py @@ -37,7 +37,7 @@ requires_legacy_unicode_capi, check_sanitizer) from test.support import (TestFailed, run_with_locale, cpython_only, - darwin_malloc_err_warning) + darwin_malloc_err_warning, is_emscripten) from test.support.import_helper import import_fresh_module from test.support import threading_helper from test.support import warnings_helper @@ -5623,6 +5623,7 @@ def __abs__(self): # Issue 41540: @unittest.skipIf(sys.platform.startswith("aix"), "AIX: default ulimit: test is flaky because of extreme over-allocation") + @unittest.skipIf(is_emscripten, "Test is unstable on Emscripten") @unittest.skipIf(check_sanitizer(address=True, memory=True), "ASAN/MSAN sanitizer defaults to crashing " "instead of returning NULL for malloc failure.") diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py index 578ac1db504455..d96371d24269f7 100644 --- a/Lib/test/test_sysconfig.py +++ b/Lib/test/test_sysconfig.py @@ -439,6 +439,7 @@ def test_platform_in_subprocess(self): self.assertEqual(status, 0) self.assertEqual(my_platform, test_platform) + @unittest.skipIf(is_wasi, "Incompatible with WASI mapdir and OOT builds") def test_srcdir(self): # See Issues #15322, #15364. srcdir = sysconfig.get_config_var('srcdir') diff --git a/Lib/test/test_unicode_file_functions.py b/Lib/test/test_unicode_file_functions.py index 54916dec4eafa3..47619c8807bafe 100644 --- a/Lib/test/test_unicode_file_functions.py +++ b/Lib/test/test_unicode_file_functions.py @@ -6,6 +6,7 @@ import warnings from unicodedata import normalize from test.support import os_helper +from test import support filenames = [ @@ -123,6 +124,10 @@ def test_open(self): # NFKD in Python is useless, because darwin will normalize it later and so # open(), os.stat(), etc. don't raise any exception. @unittest.skipIf(sys.platform == 'darwin', 'irrelevant test on Mac OS X') + @unittest.skipIf( + support.is_emscripten or support.is_wasi, + "test fails on Emscripten/WASI when host platform is macOS." + ) def test_normalize(self): files = set(self.files) others = set() diff --git a/Lib/test/test_warnings/__init__.py b/Lib/test/test_warnings/__init__.py index 0f960b82bfaebc..61a644406a6c20 100644 --- a/Lib/test/test_warnings/__init__.py +++ b/Lib/test/test_warnings/__init__.py @@ -489,7 +489,14 @@ def test_warn_explicit_non_ascii_filename(self): module=self.module) as w: self.module.resetwarnings() self.module.filterwarnings("always", category=UserWarning) - for filename in ("nonascii\xe9\u20ac", "surrogate\udc80"): + filenames = ["nonascii\xe9\u20ac"] + if not support.is_emscripten: + # JavaScript does not like surrogates. + # Invalid UTF-8 leading byte 0x80 encountered when + # deserializing a UTF-8 string in wasm memory to a JS + # string! + filenames.append("surrogate\udc80") + for filename in filenames: try: os.fsencode(filename) except UnicodeEncodeError: diff --git a/Makefile.pre.in b/Makefile.pre.in index 8fbcd7ac170afe..3efc6c2456c4ac 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -817,10 +817,11 @@ $(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) # wasm assets directory is relative to current build dir, e.g. "./usr/local". # --preload-file turns a relative asset path into an absolute path. +.PHONY: wasm_stdlib +wasm_stdlib: $(WASM_STDLIB) $(WASM_STDLIB): $(srcdir)/Lib/*.py $(srcdir)/Lib/*/*.py \ $(srcdir)/Tools/wasm/wasm_assets.py \ - Makefile pybuilddir.txt Modules/Setup.local \ - python.html python.worker.js + Makefile pybuilddir.txt Modules/Setup.local $(PYTHON_FOR_BUILD) $(srcdir)/Tools/wasm/wasm_assets.py \ --buildroot . --prefix $(prefix) @@ -1713,6 +1714,10 @@ buildbottest: all fi $(TESTRUNNER) -j 1 -u all -W --slowest --fail-env-changed --timeout=$(TESTTIMEOUT) $(TESTOPTS) +# Like testall, but run Python tests with HOSTRUNNER directly. +hostrunnertest: all + $(RUNSHARED) $(HOSTRUNNER) ./$(BUILDPYTHON) -m test -u all $(TESTOPTS) + pythoninfo: all $(RUNSHARED) $(HOSTRUNNER) ./$(BUILDPYTHON) -m test.pythoninfo diff --git a/Misc/NEWS.d/next/Tools-Demos/2022-08-10-17-08-43.gh-issue-95853.HCjC2m.rst b/Misc/NEWS.d/next/Tools-Demos/2022-08-10-17-08-43.gh-issue-95853.HCjC2m.rst new file mode 100644 index 00000000000000..c38db3af425e51 --- /dev/null +++ b/Misc/NEWS.d/next/Tools-Demos/2022-08-10-17-08-43.gh-issue-95853.HCjC2m.rst @@ -0,0 +1,2 @@ +The new tool ``Tools/wasm/wasm_builder.py`` automates configure, compile, and +test steps for building CPython on WebAssembly platforms. diff --git a/Misc/NEWS.d/next/Tools-Demos/2022-08-29-17-25-13.gh-issue-95853.Ce17cT.rst b/Misc/NEWS.d/next/Tools-Demos/2022-08-29-17-25-13.gh-issue-95853.Ce17cT.rst new file mode 100644 index 00000000000000..1cd1ce14fac08c --- /dev/null +++ b/Misc/NEWS.d/next/Tools-Demos/2022-08-29-17-25-13.gh-issue-95853.Ce17cT.rst @@ -0,0 +1,2 @@ +The ``wasm_build.py`` script now pre-builds Emscripten ports, checks for +broken EMSDK versions, and warns about pkg-config env vars. diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c index 12319ee675045d..a9713422220afe 100644 --- a/Modules/pyexpat.c +++ b/Modules/pyexpat.c @@ -775,7 +775,7 @@ readinst(char *buf, int buf_size, PyObject *meth) Py_ssize_t len; const char *ptr; - str = PyObject_CallFunction(meth, "n", buf_size); + str = PyObject_CallFunction(meth, "i", buf_size); if (str == NULL) goto error; diff --git a/Python/sysmodule.c b/Python/sysmodule.c index dca97f21a2d31e..6f703e30050080 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -2775,14 +2775,18 @@ EM_JS(char *, _Py_emscripten_runtime, (void), { if (typeof navigator == 'object') { info = navigator.userAgent; } else if (typeof process == 'object') { - info = "Node.js ".concat(process.version) + info = "Node.js ".concat(process.version); } else { - info = "UNKNOWN" + info = "UNKNOWN"; } var len = lengthBytesUTF8(info) + 1; var res = _malloc(len); - stringToUTF8(info, res, len); + if (res) stringToUTF8(info, res, len); +#if __wasm64__ + return BigInt(res); +#else return res; +#endif }); static PyObject * diff --git a/Tools/wasm/README.md b/Tools/wasm/README.md index 6496a29e6ff809..fe9a1dc99b30f4 100644 --- a/Tools/wasm/README.md +++ b/Tools/wasm/README.md @@ -1,11 +1,16 @@ # Python WebAssembly (WASM) build -**WARNING: WASM support is highly experimental! Lots of features are not working yet.** +**WARNING: WASM support is work-in-progress! Lots of features are not working yet.** This directory contains configuration and helpers to facilitate cross -compilation of CPython to WebAssembly (WASM). For now we support -*wasm32-emscripten* builds for modern browser and for *Node.js*. WASI -(*wasm32-wasi*) is work-in-progress +compilation of CPython to WebAssembly (WASM). Python supports Emscripten +(*wasm32-emscripten*) and WASI (*wasm32-wasi*) targets. Emscripten builds +run in modern browsers and JavaScript runtimes like *Node.js*. WASI builds +use WASM runtimes such as *wasmtime*. + +Users and developers are encouraged to use the script +`Tools/wasm/wasm_build.py`. The tool automates the build process and provides +assistance with installation of SDKs. ## wasm32-emscripten build @@ -17,7 +22,7 @@ access the file system directly. Cross compiling to the wasm32-emscripten platform needs the [Emscripten](https://emscripten.org/) SDK and a build Python interpreter. -Emscripten 3.1.8 or newer are recommended. All commands below are relative +Emscripten 3.1.19 or newer are recommended. All commands below are relative to a repository checkout. Christian Heimes maintains a container image with Emscripten SDK, Python @@ -35,7 +40,13 @@ docker run --rm -ti -v $(pwd):/python-wasm/cpython -w /python-wasm/cpython quay. ### Compile a build Python interpreter -From within the container, run the following commands: +From within the container, run the following command: + +```shell +./Tools/wasm/wasm_build.py build +``` + +The command is roughly equivalent to: ```shell mkdir -p builddir/build @@ -45,13 +56,13 @@ make -j$(nproc) popd ``` -### Fetch and build additional emscripten ports +### Cross-compile to wasm32-emscripten for browser ```shell -embuilder build zlib bzip2 +./Tools/wasm/wasm_build.py emscripten-browser ``` -### Cross compile to wasm32-emscripten for browser +The command is roughly equivalent to: ```shell mkdir -p builddir/emscripten-browser @@ -85,14 +96,21 @@ and header files with debug builds. ### Cross compile to wasm32-emscripten for node ```shell -mkdir -p builddir/emscripten-node -pushd builddir/emscripten-node +./Tools/wasm/wasm_build.py emscripten-browser-dl +``` + +The command is roughly equivalent to: + +```shell +mkdir -p builddir/emscripten-node-dl +pushd builddir/emscripten-node-dl CONFIG_SITE=../../Tools/wasm/config.site-wasm32-emscripten \ emconfigure ../../configure -C \ --host=wasm32-unknown-emscripten \ --build=$(../../config.guess) \ --with-emscripten-target=node \ + --enable-wasm-dynamic-linking \ --with-build-python=$(pwd)/../build/python emmake make -j$(nproc) @@ -100,7 +118,7 @@ popd ``` ```shell -node --experimental-wasm-threads --experimental-wasm-bulk-memory --experimental-wasm-bigint builddir/emscripten-node/python.js +node --experimental-wasm-threads --experimental-wasm-bulk-memory --experimental-wasm-bigint builddir/emscripten-node-dl/python.js ``` (``--experimental-wasm-bigint`` is not needed with recent NodeJS versions) @@ -199,6 +217,15 @@ Node builds use ``NODERAWFS``. - Node RawFS allows direct access to the host file system without need to perform ``FS.mount()`` call. +## wasm64-emscripten + +- wasm64 requires recent NodeJS and ``--experimental-wasm-memory64``. +- ``EM_JS`` functions must return ``BigInt()``. +- ``Py_BuildValue()`` format strings must match size of types. Confusing 32 + and 64 bits types leads to memory corruption, see + [gh-95876](https://github.com/python/cpython/issues/95876) and + [gh-95878](https://github.com/python/cpython/issues/95878). + # Hosting Python WASM builds The simple REPL terminal uses SharedArrayBuffer. For security reasons @@ -234,6 +261,12 @@ The script ``wasi-env`` sets necessary compiler and linker flags as well as ``pkg-config`` overrides. The script assumes that WASI-SDK is installed in ``/opt/wasi-sdk`` or ``$WASI_SDK_PATH``. +```shell +./Tools/wasm/wasm_build.py wasi +``` + +The command is roughly equivalent to: + ```shell mkdir -p builddir/wasi pushd builddir/wasi @@ -308,26 +341,46 @@ if os.name == "posix": ```python >>> import os, sys >>> os.uname() -posix.uname_result(sysname='Emscripten', nodename='emscripten', release='1.0', version='#1', machine='wasm32') +posix.uname_result( + sysname='Emscripten', + nodename='emscripten', + release='3.1.19', + version='#1', + machine='wasm32' +) >>> os.name 'posix' >>> sys.platform 'emscripten' >>> sys._emscripten_info sys._emscripten_info( - emscripten_version=(3, 1, 8), - runtime='Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0', + emscripten_version=(3, 1, 10), + runtime='Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0', pthreads=False, shared_memory=False ) +``` + +```python >>> sys._emscripten_info -sys._emscripten_info(emscripten_version=(3, 1, 8), runtime='Node.js v14.18.2', pthreads=True, shared_memory=True) +sys._emscripten_info( + emscripten_version=(3, 1, 19), + runtime='Node.js v14.18.2', + pthreads=True, + shared_memory=True +) ``` ```python >>> import os, sys >>> os.uname() -posix.uname_result(sysname='wasi', nodename='(none)', release='0.0.0', version='0.0.0', machine='wasm32') +posix.uname_result( + sysname='wasi', + nodename='(none)', + release='0.0.0', + version='0.0.0', + machine='wasm32' +) >>> os.name 'posix' >>> sys.platform @@ -418,7 +471,8 @@ embuilder build --pic zlib bzip2 MINIMAL_PIC **NOTE**: WASI-SDK's clang may show a warning on Fedora: ``/lib64/libtinfo.so.6: no version information available``, -[RHBZ#1875587](https://bugzilla.redhat.com/show_bug.cgi?id=1875587). +[RHBZ#1875587](https://bugzilla.redhat.com/show_bug.cgi?id=1875587). The +warning can be ignored. ```shell export WASI_VERSION=16 @@ -443,6 +497,8 @@ ln -srf -t /usr/local/bin/ ~/.wasmtime/bin/wasmtime ### WASI debugging -* ``wasmtime run -g`` generates debugging symbols for gdb and lldb. +* ``wasmtime run -g`` generates debugging symbols for gdb and lldb. The + feature is currently broken, see + https://github.com/bytecodealliance/wasmtime/issues/4669 . * The environment variable ``RUST_LOG=wasi_common`` enables debug and trace logging. diff --git a/Tools/wasm/wasi-env b/Tools/wasm/wasi-env index 6c2d56e0e5e32b..48908b02e60b96 100755 --- a/Tools/wasm/wasi-env +++ b/Tools/wasm/wasi-env @@ -72,4 +72,5 @@ export CFLAGS LDFLAGS export PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR export PATH -exec "$@" +# no exec, it makes arvg[0] path absolute. +"$@" diff --git a/Tools/wasm/wasm_assets.py b/Tools/wasm/wasm_assets.py index 34a9bb5640a310..9b0bee33dc13ba 100755 --- a/Tools/wasm/wasm_assets.py +++ b/Tools/wasm/wasm_assets.py @@ -116,6 +116,14 @@ "unittest/test/", ) +SYSCONFIG_NAMES = ( + "_sysconfigdata__emscripten_wasm32-emscripten", + "_sysconfigdata__emscripten_wasm32-emscripten", + "_sysconfigdata__wasi_wasm32-wasi", + "_sysconfigdata__wasi_wasm64-wasi", +) + + def get_builddir(args: argparse.Namespace) -> pathlib.Path: """Get builddir path from pybuilddir.txt """ @@ -128,7 +136,11 @@ def get_sysconfigdata(args: argparse.Namespace) -> pathlib.Path: """Get path to sysconfigdata relative to build root """ data_name = sysconfig._get_sysconfigdata_name() - assert "emscripten_wasm32" in data_name + if not data_name.startswith(SYSCONFIG_NAMES): + raise ValueError( + f"Invalid sysconfig data name '{data_name}'.", + SYSCONFIG_NAMES + ) filename = data_name + ".py" return args.builddir / filename diff --git a/Tools/wasm/wasm_build.py b/Tools/wasm/wasm_build.py new file mode 100755 index 00000000000000..63812c6f3153f2 --- /dev/null +++ b/Tools/wasm/wasm_build.py @@ -0,0 +1,907 @@ +#!/usr/bin/env python3 +"""Build script for Python on WebAssembly platforms. + + $ ./Tools/wasm/wasm_builder.py emscripten-browser build repl + $ ./Tools/wasm/wasm_builder.py emscripten-node-dl build test + $ ./Tools/wasm/wasm_builder.py wasi build test + +Primary build targets are "emscripten-node-dl" (NodeJS, dynamic linking), +"emscripten-browser", and "wasi". + +Emscripten builds require a recent Emscripten SDK. The tools looks for an +activated EMSDK environment (". /path/to/emsdk_env.sh"). System packages +(Debian, Homebrew) are not supported. + +WASI builds require WASI SDK and wasmtime. The tool looks for 'WASI_SDK_PATH' +and falls back to /opt/wasi-sdk. + +The 'build' Python interpreter must be rebuilt every time Python's byte code +changes. + + ./Tools/wasm/wasm_builder.py --clean build build + +""" +import argparse +import enum +import dataclasses +import logging +import os +import pathlib +import re +import shlex +import shutil +import socket +import subprocess +import sys +import sysconfig +import tempfile +import time +import warnings +import webbrowser + +# for Python 3.8 +from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union + +logger = logging.getLogger("wasm_build") + +SRCDIR = pathlib.Path(__file__).parent.parent.parent.absolute() +WASMTOOLS = SRCDIR / "Tools" / "wasm" +BUILDDIR = SRCDIR / "builddir" +CONFIGURE = SRCDIR / "configure" +SETUP_LOCAL = SRCDIR / "Modules" / "Setup.local" + +HAS_CCACHE = shutil.which("ccache") is not None + +# path to WASI-SDK root +WASI_SDK_PATH = pathlib.Path(os.environ.get("WASI_SDK_PATH", "/opt/wasi-sdk")) + +# path to Emscripten SDK config file. +# auto-detect's EMSDK in /opt/emsdk without ". emsdk_env.sh". +EM_CONFIG = pathlib.Path(os.environ.setdefault("EM_CONFIG", "/opt/emsdk/.emscripten")) +EMSDK_MIN_VERSION = (3, 1, 19) +EMSDK_BROKEN_VERSION = { + (3, 1, 14): "https://github.com/emscripten-core/emscripten/issues/17338", + (3, 1, 16): "https://github.com/emscripten-core/emscripten/issues/17393", + (3, 1, 20): "https://github.com/emscripten-core/emscripten/issues/17720", +} +_MISSING = pathlib.PurePath("MISSING") + +WASM_WEBSERVER = WASMTOOLS / "wasm_webserver.py" + +CLEAN_SRCDIR = f""" +Builds require a clean source directory. Please use a clean checkout or +run "make clean -C '{SRCDIR}'". +""" + +INSTALL_NATIVE = f""" +Builds require a C compiler (gcc, clang), make, pkg-config, and development +headers for dependencies like zlib. + +Debian/Ubuntu: sudo apt install build-essential git curl pkg-config zlib1g-dev +Fedora/CentOS: sudo dnf install gcc make git-core curl pkgconfig zlib-devel +""" + +INSTALL_EMSDK = """ +wasm32-emscripten builds need Emscripten SDK. Please follow instructions at +https://emscripten.org/docs/getting_started/downloads.html how to install +Emscripten and how to activate the SDK with "emsdk_env.sh". + + git clone https://github.com/emscripten-core/emsdk.git /path/to/emsdk + cd /path/to/emsdk + ./emsdk install latest + ./emsdk activate latest + source /path/to/emsdk_env.sh +""" + +INSTALL_WASI_SDK = """ +wasm32-wasi builds need WASI SDK. Please fetch the latest SDK from +https://github.com/WebAssembly/wasi-sdk/releases and install it to +"/opt/wasi-sdk". Alternatively you can install the SDK in a different location +and point the environment variable WASI_SDK_PATH to the root directory +of the SDK. The SDK is available for Linux x86_64, macOS x86_64, and MinGW. +""" + +INSTALL_WASMTIME = """ +wasm32-wasi tests require wasmtime on PATH. Please follow instructions at +https://wasmtime.dev/ to install wasmtime. +""" + + +def parse_emconfig( + emconfig: pathlib.Path = EM_CONFIG, +) -> Tuple[pathlib.PurePath, pathlib.PurePath]: + """Parse EM_CONFIG file and lookup EMSCRIPTEN_ROOT and NODE_JS. + + The ".emscripten" config file is a Python snippet that uses "EM_CONFIG" + environment variable. EMSCRIPTEN_ROOT is the "upstream/emscripten" + subdirectory with tools like "emconfigure". + """ + if not emconfig.exists(): + return _MISSING, _MISSING + with open(emconfig, encoding="utf-8") as f: + code = f.read() + # EM_CONFIG file is a Python snippet + local: Dict[str, Any] = {} + exec(code, globals(), local) + emscripten_root = pathlib.Path(local["EMSCRIPTEN_ROOT"]) + node_js = pathlib.Path(local["NODE_JS"]) + return emscripten_root, node_js + + +EMSCRIPTEN_ROOT, NODE_JS = parse_emconfig() + + +def read_python_version(configure: pathlib.Path = CONFIGURE) -> str: + """Read PACKAGE_VERSION from configure script + + configure and configure.ac are the canonical source for major and + minor version number. + """ + version_re = re.compile("^PACKAGE_VERSION='(\d\.\d+)'") + with configure.open(encoding="utf-8") as f: + for line in f: + mo = version_re.match(line) + if mo: + return mo.group(1) + raise ValueError(f"PACKAGE_VERSION not found in {configure}") + + +PYTHON_VERSION = read_python_version() + + +class ConditionError(ValueError): + def __init__(self, info: str, text: str): + self.info = info + self.text = text + + def __str__(self): + return f"{type(self).__name__}: '{self.info}'\n{self.text}" + + +class MissingDependency(ConditionError): + pass + + +class DirtySourceDirectory(ConditionError): + pass + + +@dataclasses.dataclass +class Platform: + """Platform-specific settings + + - CONFIG_SITE override + - configure wrapper (e.g. emconfigure) + - make wrapper (e.g. emmake) + - additional environment variables + - check function to verify SDK + """ + + name: str + pythonexe: str + config_site: Optional[pathlib.PurePath] + configure_wrapper: Optional[pathlib.PurePath] + make_wrapper: Optional[pathlib.PurePath] + environ: dict + check: Callable[[], None] + # Used for build_emports(). + ports: Optional[pathlib.PurePath] + cc: Optional[pathlib.PurePath] + + def getenv(self, profile: "BuildProfile") -> dict: + return self.environ.copy() + + +def _check_clean_src(): + candidates = [ + SRCDIR / "Programs" / "python.o", + SRCDIR / "Python" / "frozen_modules" / "importlib._bootstrap.h", + ] + for candidate in candidates: + if candidate.exists(): + raise DirtySourceDirectory(os.fspath(candidate), CLEAN_SRCDIR) + + +def _check_native(): + if not any(shutil.which(cc) for cc in ["cc", "gcc", "clang"]): + raise MissingDependency("cc", INSTALL_NATIVE) + if not shutil.which("make"): + raise MissingDependency("make", INSTALL_NATIVE) + if sys.platform == "linux": + # skip pkg-config check on macOS + if not shutil.which("pkg-config"): + raise MissingDependency("pkg-config", INSTALL_NATIVE) + # zlib is needed to create zip files + for devel in ["zlib"]: + try: + subprocess.check_call(["pkg-config", "--exists", devel]) + except subprocess.CalledProcessError: + raise MissingDependency(devel, INSTALL_NATIVE) from None + _check_clean_src() + + +NATIVE = Platform( + "native", + # macOS has python.exe + pythonexe=sysconfig.get_config_var("BUILDPYTHON") or "python", + config_site=None, + configure_wrapper=None, + ports=None, + cc=None, + make_wrapper=None, + environ={}, + check=_check_native, +) + + +def _check_emscripten(): + if EMSCRIPTEN_ROOT is _MISSING: + raise MissingDependency("Emscripten SDK EM_CONFIG", INSTALL_EMSDK) + # sanity check + emconfigure = EMSCRIPTEN.configure_wrapper + if not emconfigure.exists(): + raise MissingDependency(os.fspath(emconfigure), INSTALL_EMSDK) + # version check + version_txt = EMSCRIPTEN_ROOT / "emscripten-version.txt" + if not version_txt.exists(): + raise MissingDependency(os.fspath(version_txt), INSTALL_EMSDK) + with open(version_txt) as f: + version = f.read().strip().strip('"') + if version.endswith("-git"): + # git / upstream / tot-upstream installation + version = version[:-4] + version_tuple = tuple(int(v) for v in version.split(".")) + if version_tuple < EMSDK_MIN_VERSION: + raise ConditionError( + os.fspath(version_txt), + f"Emscripten SDK {version} in '{EMSCRIPTEN_ROOT}' is older than " + "minimum required version " + f"{'.'.join(str(v) for v in EMSDK_MIN_VERSION)}.", + ) + broken = EMSDK_BROKEN_VERSION.get(version_tuple) + if broken is not None: + raise ConditionError( + os.fspath(version_txt), + ( + f"Emscripten SDK {version} in '{EMSCRIPTEN_ROOT}' has known " + f"bugs, see {broken}." + ), + ) + if os.environ.get("PKG_CONFIG_PATH"): + warnings.warn( + "PKG_CONFIG_PATH is set and not empty. emconfigure overrides " + "this environment variable. Use EM_PKG_CONFIG_PATH instead." + ) + _check_clean_src() + + +EMSCRIPTEN = Platform( + "emscripten", + pythonexe="python.js", + config_site=WASMTOOLS / "config.site-wasm32-emscripten", + configure_wrapper=EMSCRIPTEN_ROOT / "emconfigure", + ports=EMSCRIPTEN_ROOT / "embuilder", + cc=EMSCRIPTEN_ROOT / "emcc", + make_wrapper=EMSCRIPTEN_ROOT / "emmake", + environ={ + # workaround for https://github.com/emscripten-core/emscripten/issues/17635 + "TZ": "UTC", + "EM_COMPILER_WRAPPER": "ccache" if HAS_CCACHE else None, + "PATH": [EMSCRIPTEN_ROOT, os.environ["PATH"]], + }, + check=_check_emscripten, +) + + +def _check_wasi(): + wasm_ld = WASI_SDK_PATH / "bin" / "wasm-ld" + if not wasm_ld.exists(): + raise MissingDependency(os.fspath(wasm_ld), INSTALL_WASI_SDK) + wasmtime = shutil.which("wasmtime") + if wasmtime is None: + raise MissingDependency("wasmtime", INSTALL_WASMTIME) + _check_clean_src() + + +WASI = Platform( + "wasi", + pythonexe="python.wasm", + config_site=WASMTOOLS / "config.site-wasm32-wasi", + configure_wrapper=WASMTOOLS / "wasi-env", + ports=None, + cc=WASI_SDK_PATH / "bin" / "clang", + make_wrapper=None, + environ={ + "WASI_SDK_PATH": WASI_SDK_PATH, + # workaround for https://github.com/python/cpython/issues/95952 + "HOSTRUNNER": ( + "wasmtime run " + "--env PYTHONPATH=/{relbuilddir}/build/lib.wasi-wasm32-{version}:/Lib " + "--mapdir /::{srcdir} --" + ), + "PATH": [WASI_SDK_PATH / "bin", os.environ["PATH"]], + }, + check=_check_wasi, +) + + +class Host(enum.Enum): + """Target host triplet""" + + wasm32_emscripten = "wasm32-unknown-emscripten" + wasm64_emscripten = "wasm64-unknown-emscripten" + wasm32_wasi = "wasm32-unknown-wasi" + wasm64_wasi = "wasm64-unknown-wasi" + # current platform + build = sysconfig.get_config_var("BUILD_GNU_TYPE") + + @property + def platform(self) -> Platform: + if self.is_emscripten: + return EMSCRIPTEN + elif self.is_wasi: + return WASI + else: + return NATIVE + + @property + def is_emscripten(self) -> bool: + cls = type(self) + return self in {cls.wasm32_emscripten, cls.wasm64_emscripten} + + @property + def is_wasi(self) -> bool: + cls = type(self) + return self in {cls.wasm32_wasi, cls.wasm64_wasi} + + def get_extra_paths(self) -> Iterable[pathlib.PurePath]: + """Host-specific os.environ["PATH"] entries. + + Emscripten's Node version 14.x works well for wasm32-emscripten. + wasm64-emscripten requires more recent v8 version, e.g. node 16.x. + Attempt to use system's node command. + """ + cls = type(self) + if self == cls.wasm32_emscripten: + return [NODE_JS.parent] + elif self == cls.wasm64_emscripten: + # TODO: look for recent node + return [] + else: + return [] + + @property + def emport_args(self) -> List[str]: + """Host-specific port args (Emscripten).""" + cls = type(self) + if self is cls.wasm64_emscripten: + return ["-sMEMORY64=1"] + elif self is cls.wasm32_emscripten: + return ["-sMEMORY64=0"] + else: + return [] + + @property + def embuilder_args(self) -> List[str]: + """Host-specific embuilder args (Emscripten).""" + cls = type(self) + if self is cls.wasm64_emscripten: + return ["--wasm64"] + else: + return [] + + +class EmscriptenTarget(enum.Enum): + """Emscripten-specific targets (--with-emscripten-target)""" + + browser = "browser" + browser_debug = "browser-debug" + node = "node" + node_debug = "node-debug" + + @property + def is_browser(self): + cls = type(self) + return self in {cls.browser, cls.browser_debug} + + @property + def emport_args(self) -> List[str]: + """Target-specific port args.""" + cls = type(self) + if self in {cls.browser_debug, cls.node_debug}: + # some libs come in debug and non-debug builds + return ["-O0"] + else: + return ["-O2"] + + +class SupportLevel(enum.Enum): + supported = "tier 3, supported" + working = "working, unsupported" + experimental = "experimental, may be broken" + broken = "broken / unavailable" + + def __bool__(self): + cls = type(self) + return self in {cls.supported, cls.working} + + +@dataclasses.dataclass +class BuildProfile: + name: str + support_level: SupportLevel + host: Host + target: Union[EmscriptenTarget, None] = None + dynamic_linking: Union[bool, None] = None + pthreads: Union[bool, None] = None + default_testopts: str = "-j2" + + @property + def is_browser(self) -> bool: + """Is this a browser build?""" + return self.target is not None and self.target.is_browser + + @property + def builddir(self) -> pathlib.Path: + """Path to build directory""" + return BUILDDIR / self.name + + @property + def python_cmd(self) -> pathlib.Path: + """Path to python executable""" + return self.builddir / self.host.platform.pythonexe + + @property + def makefile(self) -> pathlib.Path: + """Path to Makefile""" + return self.builddir / "Makefile" + + @property + def configure_cmd(self) -> List[str]: + """Generate configure command""" + # use relative path, so WASI tests can find lib prefix. + # pathlib.Path.relative_to() does not work here. + configure = os.path.relpath(CONFIGURE, self.builddir) + cmd = [configure, "-C"] + platform = self.host.platform + if platform.configure_wrapper: + cmd.insert(0, os.fspath(platform.configure_wrapper)) + + cmd.append(f"--host={self.host.value}") + cmd.append(f"--build={Host.build.value}") + + if self.target is not None: + assert self.host.is_emscripten + cmd.append(f"--with-emscripten-target={self.target.value}") + + if self.dynamic_linking is not None: + assert self.host.is_emscripten + opt = "enable" if self.dynamic_linking else "disable" + cmd.append(f"--{opt}-wasm-dynamic-linking") + + if self.pthreads is not None: + assert self.host.is_emscripten + opt = "enable" if self.pthreads else "disable" + cmd.append(f"--{opt}-wasm-pthreads") + + if self.host != Host.build: + cmd.append(f"--with-build-python={BUILD.python_cmd}") + + if platform.config_site is not None: + cmd.append(f"CONFIG_SITE={platform.config_site}") + + return cmd + + @property + def make_cmd(self) -> List[str]: + """Generate make command""" + cmd = ["make"] + platform = self.host.platform + if platform.make_wrapper: + cmd.insert(0, os.fspath(platform.make_wrapper)) + return cmd + + def getenv(self) -> dict: + """Generate environ dict for platform""" + env = os.environ.copy() + env.setdefault("MAKEFLAGS", f"-j{os.cpu_count()}") + platenv = self.host.platform.getenv(self) + for key, value in platenv.items(): + if value is None: + env.pop(key, None) + elif key == "PATH": + # list of path items, prefix with extra paths + new_path: List[pathlib.PurePath] = [] + new_path.extend(self.host.get_extra_paths()) + new_path.extend(value) + env[key] = os.pathsep.join(os.fspath(p) for p in new_path) + elif isinstance(value, str): + env[key] = value.format( + relbuilddir=self.builddir.relative_to(SRCDIR), + srcdir=SRCDIR, + version=PYTHON_VERSION, + ) + else: + env[key] = value + return env + + def _run_cmd( + self, + cmd: Iterable[str], + args: Iterable[str] = (), + cwd: Optional[pathlib.Path] = None, + ): + cmd = list(cmd) + cmd.extend(args) + if cwd is None: + cwd = self.builddir + logger.info('Running "%s" in "%s"', shlex.join(cmd), cwd) + return subprocess.check_call( + cmd, + cwd=os.fspath(cwd), + env=self.getenv(), + ) + + def _check_execute(self): + if self.is_browser: + raise ValueError(f"Cannot execute on {self.target}") + + def run_build(self, *args): + """Run configure (if necessary) and make""" + if not self.makefile.exists(): + logger.info("Makefile not found, running configure") + self.run_configure(*args) + self.run_make("all", *args) + + def run_configure(self, *args): + """Run configure script to generate Makefile""" + os.makedirs(self.builddir, exist_ok=True) + return self._run_cmd(self.configure_cmd, args) + + def run_make(self, *args): + """Run make (defaults to build all)""" + return self._run_cmd(self.make_cmd, args) + + def run_pythoninfo(self, *args): + """Run 'make pythoninfo'""" + self._check_execute() + return self.run_make("pythoninfo", *args) + + def run_test(self, target: str, testopts: Optional[str] = None): + """Run buildbottests""" + self._check_execute() + if testopts is None: + testopts = self.default_testopts + return self.run_make(target, f"TESTOPTS={testopts}") + + def run_py(self, *args): + """Run Python with hostrunner""" + self._check_execute() + self.run_make( + "--eval", f"run: all; $(HOSTRUNNER) ./$(PYTHON) {shlex.join(args)}", "run" + ) + + def run_browser(self, bind="127.0.0.1", port=8000): + """Run WASM webserver and open build in browser""" + relbuilddir = self.builddir.relative_to(SRCDIR) + url = f"http://{bind}:{port}/{relbuilddir}/python.html" + args = [ + sys.executable, + os.fspath(WASM_WEBSERVER), + "--bind", + bind, + "--port", + str(port), + ] + srv = subprocess.Popen(args, cwd=SRCDIR) + # wait for server + end = time.monotonic() + 3.0 + while time.monotonic() < end and srv.returncode is None: + try: + with socket.create_connection((bind, port), timeout=0.1) as s: + pass + except OSError: + time.sleep(0.01) + else: + break + + webbrowser.open(url) + + try: + srv.wait() + except KeyboardInterrupt: + pass + + def clean(self, all: bool = False): + """Clean build directory""" + if all: + if self.builddir.exists(): + shutil.rmtree(self.builddir) + elif self.makefile.exists(): + self.run_make("clean") + + def build_emports(self, force: bool = False): + """Pre-build emscripten ports.""" + platform = self.host.platform + if platform.ports is None or platform.cc is None: + raise ValueError("Need ports and CC command") + + embuilder_cmd = [os.fspath(platform.ports)] + embuilder_cmd.extend(self.host.embuilder_args) + if force: + embuilder_cmd.append("--force") + + ports_cmd = [os.fspath(platform.cc)] + ports_cmd.extend(self.host.emport_args) + if self.target: + ports_cmd.extend(self.target.emport_args) + + if self.dynamic_linking: + # Trigger PIC build. + ports_cmd.append("-sMAIN_MODULE") + embuilder_cmd.append("--pic") + + if self.pthreads: + # Trigger multi-threaded build. + ports_cmd.append("-sUSE_PTHREADS") + + # Pre-build libbz2, libsqlite3, libz, and some system libs. + ports_cmd.extend(["-sUSE_ZLIB", "-sUSE_BZIP2", "-sUSE_SQLITE3"]) + # Multi-threaded sqlite3 has different suffix + embuilder_cmd.extend( + ["build", "bzip2", "sqlite3-mt" if self.pthreads else "sqlite3", "zlib"] + ) + + self._run_cmd(embuilder_cmd, cwd=SRCDIR) + + with tempfile.TemporaryDirectory(suffix="-py-emport") as tmpdir: + tmppath = pathlib.Path(tmpdir) + main_c = tmppath / "main.c" + main_js = tmppath / "main.js" + with main_c.open("w") as f: + f.write("int main(void) { return 0; }\n") + args = [ + os.fspath(main_c), + "-o", + os.fspath(main_js), + ] + self._run_cmd(ports_cmd, args, cwd=tmppath) + + +# native build (build Python) +BUILD = BuildProfile( + "build", + support_level=SupportLevel.working, + host=Host.build, +) + +_profiles = [ + BUILD, + # wasm32-emscripten + BuildProfile( + "emscripten-browser", + support_level=SupportLevel.supported, + host=Host.wasm32_emscripten, + target=EmscriptenTarget.browser, + dynamic_linking=True, + ), + BuildProfile( + "emscripten-browser-debug", + support_level=SupportLevel.working, + host=Host.wasm32_emscripten, + target=EmscriptenTarget.browser_debug, + dynamic_linking=True, + ), + BuildProfile( + "emscripten-node-dl", + support_level=SupportLevel.supported, + host=Host.wasm32_emscripten, + target=EmscriptenTarget.node, + dynamic_linking=True, + ), + BuildProfile( + "emscripten-node-dl-debug", + support_level=SupportLevel.working, + host=Host.wasm32_emscripten, + target=EmscriptenTarget.node_debug, + dynamic_linking=True, + ), + BuildProfile( + "emscripten-node-pthreads", + support_level=SupportLevel.supported, + host=Host.wasm32_emscripten, + target=EmscriptenTarget.node, + pthreads=True, + ), + BuildProfile( + "emscripten-node-pthreads-debug", + support_level=SupportLevel.working, + host=Host.wasm32_emscripten, + target=EmscriptenTarget.node_debug, + pthreads=True, + ), + # Emscripten build with both pthreads and dynamic linking is crashing. + BuildProfile( + "emscripten-node-dl-pthreads-debug", + support_level=SupportLevel.broken, + host=Host.wasm32_emscripten, + target=EmscriptenTarget.node_debug, + dynamic_linking=True, + pthreads=True, + ), + # wasm64-emscripten (requires Emscripten >= 3.1.21) + BuildProfile( + "wasm64-emscripten-node-debug", + support_level=SupportLevel.experimental, + host=Host.wasm64_emscripten, + target=EmscriptenTarget.node_debug, + # MEMORY64 is not compatible with dynamic linking + dynamic_linking=False, + pthreads=False, + ), + # wasm32-wasi + BuildProfile( + "wasi", + support_level=SupportLevel.supported, + host=Host.wasm32_wasi, + ), + # no SDK available yet + # BuildProfile( + # "wasm64-wasi", + # support_level=SupportLevel.broken, + # host=Host.wasm64_wasi, + # ), +] + +PROFILES = {p.name: p for p in _profiles} + +parser = argparse.ArgumentParser( + "wasm_build.py", + description=__doc__, + formatter_class=argparse.RawTextHelpFormatter, +) + +parser.add_argument( + "--clean", + "-c", + help="Clean build directories first", + action="store_true", +) + +parser.add_argument( + "--verbose", + "-v", + help="Verbose logging", + action="store_true", +) + +parser.add_argument( + "--silent", + help="Run configure and make in silent mode", + action="store_true", +) + +parser.add_argument( + "--testopts", + help=( + "Additional test options for 'test' and 'hostrunnertest', e.g. " + "--testopts='-v test_os'." + ), + default=None, +) + +# Don't list broken and experimental variants in help +platforms_choices = list(p.name for p in _profiles) + ["cleanall"] +platforms_help = list(p.name for p in _profiles if p.support_level) + ["cleanall"] +parser.add_argument( + "platform", + metavar="PLATFORM", + help=f"Build platform: {', '.join(platforms_help)}", + choices=platforms_choices, +) + +ops = dict( + build="auto build (build 'build' Python, emports, configure, compile)", + configure="run ./configure", + compile="run 'make all'", + pythoninfo="run 'make pythoninfo'", + test="run 'make buildbottest TESTOPTS=...' (supports parallel tests)", + hostrunnertest="run 'make hostrunnertest TESTOPTS=...'", + repl="start interactive REPL / webserver + browser session", + clean="run 'make clean'", + cleanall="remove all build directories", + emports="build Emscripten port with embuilder (only Emscripten)", +) +ops_help = "\n".join(f"{op:16s} {help}" for op, help in ops.items()) +parser.add_argument( + "ops", + metavar="OP", + help=f"operation (default: build)\n\n{ops_help}", + choices=tuple(ops), + default="build", + nargs="*", +) + + +def main(): + args = parser.parse_args() + logging.basicConfig( + level=logging.INFO if args.verbose else logging.ERROR, + format="%(message)s", + ) + + if args.platform == "cleanall": + for builder in PROFILES.values(): + builder.clean(all=True) + parser.exit(0) + + # additional configure and make args + cm_args = ("--silent",) if args.silent else () + + # nargs=* with default quirk + if args.ops == "build": + args.ops = ["build"] + + builder = PROFILES[args.platform] + try: + builder.host.platform.check() + except ConditionError as e: + parser.error(str(e)) + + if args.clean: + builder.clean(all=False) + + # hack for WASI + if builder.host.is_wasi and not SETUP_LOCAL.exists(): + SETUP_LOCAL.touch() + + # auto-build + if "build" in args.ops: + # check and create build Python + if builder is not BUILD: + logger.info("Auto-building 'build' Python.") + try: + BUILD.host.platform.check() + except ConditionError as e: + parser.error(str(e)) + if args.clean: + BUILD.clean(all=False) + BUILD.run_build(*cm_args) + # build Emscripten ports with embuilder + if builder.host.is_emscripten and "emports" not in args.ops: + builder.build_emports() + + for op in args.ops: + logger.info("\n*** %s %s", args.platform, op) + if op == "build": + builder.run_build(*cm_args) + elif op == "configure": + builder.run_configure(*cm_args) + elif op == "compile": + builder.run_make("all", *cm_args) + elif op == "pythoninfo": + builder.run_pythoninfo(*cm_args) + elif op == "repl": + if builder.is_browser: + builder.run_browser() + else: + builder.run_py() + elif op == "test": + builder.run_test("buildbottest", testopts=args.testopts) + elif op == "hostrunnertest": + builder.run_test("hostrunnertest", testopts=args.testopts) + elif op == "clean": + builder.clean(all=False) + elif op == "cleanall": + builder.clean(all=True) + elif op == "emports": + builder.build_emports(force=args.clean) + else: + raise ValueError(op) + + print(builder.builddir) + parser.exit(0) + + +if __name__ == "__main__": + main() diff --git a/configure b/configure index 784f8d306092af..2d03c4fb5a61ca 100755 --- a/configure +++ b/configure @@ -888,6 +888,7 @@ AR LINK_PYTHON_OBJS LINK_PYTHON_DEPS LIBRARY_DEPS +NODE HOSTRUNNER STATIC_LIBPYTHON GNULD @@ -4038,6 +4039,16 @@ if test -z "$CFLAGS"; then CFLAGS= fi +case $host in #( + wasm64-*-emscripten) : + + as_fn_append CFLAGS " -sMEMORY64=1" + as_fn_append LDFLAGS " -sMEMORY64=1" + ;; #( + *) : + ;; +esac + if test "$ac_sys_system" = "Darwin" then # Compiler selection on MacOSX is more complicated than @@ -6158,7 +6169,7 @@ cat > conftest.c <&5 -$as_echo_n "checking HOSTRUNNER... " >&6; } if test -z "$HOSTRUNNER" then case $ac_sys_system/$ac_sys_emscripten_target in #( Emscripten/node*) : + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}node", so it can be a program name with args. +set dummy ${ac_tool_prefix}node; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_NODE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $NODE in + [\\/]* | ?:[\\/]*) + ac_cv_path_NODE="$NODE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_NODE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +NODE=$ac_cv_path_NODE +if test -n "$NODE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NODE" >&5 +$as_echo "$NODE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_NODE"; then + ac_pt_NODE=$NODE + # Extract the first word of "node", so it can be a program name with args. +set dummy node; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_NODE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_NODE in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_NODE="$ac_pt_NODE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_NODE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_NODE=$ac_cv_path_ac_pt_NODE +if test -n "$ac_pt_NODE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_NODE" >&5 +$as_echo "$ac_pt_NODE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_NODE" = x; then + NODE="node" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NODE=$ac_pt_NODE + fi +else + NODE="$ac_cv_path_NODE" +fi + + HOSTRUNNER="$NODE" # bigint for ctypes c_longlong, c_longdouble - HOSTRUNNER="node --experimental-wasm-bigint" + # no longer available in Node 16 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for node --experimental-wasm-bigint" >&5 +$as_echo_n "checking for node --experimental-wasm-bigint... " >&6; } +if ${ac_cv_tool_node_wasm_bigint+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if $NODE -v --experimental-wasm-bigint > /dev/null 2>&1; then + ac_cv_tool_node_wasm_bigint=yes + else + ac_cv_tool_node_wasm_bigint=no + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tool_node_wasm_bigint" >&5 +$as_echo "$ac_cv_tool_node_wasm_bigint" >&6; } + if test "x$ac_cv_tool_node_wasm_bigint" = xyes; then : + + as_fn_append HOSTRUNNER " --experimental-wasm-bigint" + +fi + if test "x$enable_wasm_pthreads" = xyes; then : - HOSTRUNNER="$HOSTRUNNER --experimental-wasm-threads --experimental-wasm-bulk-memory" + as_fn_append HOSTRUNNER " --experimental-wasm-threads" + # no longer available in Node 16 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for node --experimental-wasm-bulk-memory" >&5 +$as_echo_n "checking for node --experimental-wasm-bulk-memory... " >&6; } +if ${ac_cv_tool_node_wasm_bulk_memory+:} false; then : + $as_echo_n "(cached) " >&6 +else + + if $NODE -v --experimental-wasm-bulk-memory > /dev/null 2>&1; then + ac_cv_tool_node_wasm_bulk_memory=yes + else + ac_cv_tool_node_wasm_bulk_memory=no + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tool_node_wasm_bulk_memory" >&5 +$as_echo "$ac_cv_tool_node_wasm_bulk_memory" >&6; } + if test "x$ac_cv_tool_node_wasm_bulk_memory" = xyes; then : + + as_fn_append HOSTRUNNER " --experimental-wasm-bulk-memory" +fi + +fi + + if test "x$host_cpu" = xwasm64; then : + as_fn_append HOSTRUNNER " --experimental-wasm-memory64" fi ;; #( WASI/*) : @@ -6801,6 +6955,8 @@ fi esac fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking HOSTRUNNER" >&5 +$as_echo_n "checking HOSTRUNNER... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HOSTRUNNER" >&5 $as_echo "$HOSTRUNNER" >&6; } @@ -6814,7 +6970,7 @@ $as_echo "$LDLIBRARY" >&6; } # LIBRARY_DEPS, LINK_PYTHON_OBJS and LINK_PYTHON_DEPS variable case $ac_sys_system/$ac_sys_emscripten_target in #( Emscripten/browser*) : - LIBRARY_DEPS='$(PY3LIBRARY) $(WASM_STDLIB)' ;; #( + LIBRARY_DEPS='$(PY3LIBRARY) $(WASM_STDLIB) python.html python.worker.js' ;; #( *) : LIBRARY_DEPS='$(PY3LIBRARY) $(EXPORTSYMS)' ;; diff --git a/configure.ac b/configure.ac index ab5e1de6fabd38..1d7e1be5e3b08b 100644 --- a/configure.ac +++ b/configure.ac @@ -753,6 +753,16 @@ if test -z "$CFLAGS"; then CFLAGS= fi +dnl Emscripten SDK and WASI SDK default to wasm32. +dnl On Emscripten use MEMORY64 setting to build target wasm64-emscripten. +dnl for wasm64. +AS_CASE([$host], + [wasm64-*-emscripten], [ + AS_VAR_APPEND([CFLAGS], [" -sMEMORY64=1"]) + AS_VAR_APPEND([LDFLAGS], [" -sMEMORY64=1"]) + ], +) + if test "$ac_sys_system" = "Darwin" then # Compiler selection on MacOSX is more complicated than @@ -1056,7 +1066,7 @@ cat > conftest.c < /dev/null 2>&1; then + ac_cv_tool_node_wasm_bigint=yes + else + ac_cv_tool_node_wasm_bigint=no + fi + ]) + AS_VAR_IF([ac_cv_tool_node_wasm_bigint], [yes], [ + AS_VAR_APPEND([HOSTRUNNER], [" --experimental-wasm-bigint"]) + ]) + AS_VAR_IF([enable_wasm_pthreads], [yes], [ - HOSTRUNNER="$HOSTRUNNER --experimental-wasm-threads --experimental-wasm-bulk-memory" + AS_VAR_APPEND([HOSTRUNNER], [" --experimental-wasm-threads"]) + # no longer available in Node 16 + AC_CACHE_CHECK([for node --experimental-wasm-bulk-memory], [ac_cv_tool_node_wasm_bulk_memory], [ + if $NODE -v --experimental-wasm-bulk-memory > /dev/null 2>&1; then + ac_cv_tool_node_wasm_bulk_memory=yes + else + ac_cv_tool_node_wasm_bulk_memory=no + fi + ]) + AS_VAR_IF([ac_cv_tool_node_wasm_bulk_memory], [yes], [ + AS_VAR_APPEND([HOSTRUNNER], [" --experimental-wasm-bulk-memory"]) + ]) ]) + + AS_VAR_IF([host_cpu], [wasm64], [AS_VAR_APPEND([HOSTRUNNER], [" --experimental-wasm-memory64"])]) ], dnl TODO: support other WASI runtimes dnl wasmtime starts the proces with "/" as CWD. For OOT builds add the @@ -1542,6 +1577,7 @@ then ) fi AC_SUBST([HOSTRUNNER]) +AC_MSG_CHECKING([HOSTRUNNER]) AC_MSG_RESULT([$HOSTRUNNER]) if test -n "$HOSTRUNNER"; then @@ -1553,7 +1589,7 @@ AC_MSG_RESULT($LDLIBRARY) # LIBRARY_DEPS, LINK_PYTHON_OBJS and LINK_PYTHON_DEPS variable AS_CASE([$ac_sys_system/$ac_sys_emscripten_target], - [Emscripten/browser*], [LIBRARY_DEPS='$(PY3LIBRARY) $(WASM_STDLIB)'], + [Emscripten/browser*], [LIBRARY_DEPS='$(PY3LIBRARY) $(WASM_STDLIB) python.html python.worker.js'], [LIBRARY_DEPS='$(PY3LIBRARY) $(EXPORTSYMS)'] ) LINK_PYTHON_DEPS='$(LIBRARY_DEPS)' From 8238fa91c175243061120856b14d735e8a740fa0 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 03:08:12 -0700 Subject: [PATCH 004/494] gh-84461: Omit resource mod and getresuid funcs on Emscripten (GH-96303) (cherry picked from commit a36235d5c7863a85fa323b2048d3d254116a958e) Co-authored-by: Christian Heimes --- .../next/Build/2022-08-26-11-09-11.gh-issue-84461.Nsdn_R.rst | 3 +++ Tools/wasm/config.site-wasm32-emscripten | 4 ++++ configure | 3 +-- configure.ac | 4 ++-- 4 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Build/2022-08-26-11-09-11.gh-issue-84461.Nsdn_R.rst diff --git a/Misc/NEWS.d/next/Build/2022-08-26-11-09-11.gh-issue-84461.Nsdn_R.rst b/Misc/NEWS.d/next/Build/2022-08-26-11-09-11.gh-issue-84461.Nsdn_R.rst new file mode 100644 index 00000000000000..134e9645159a69 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2022-08-26-11-09-11.gh-issue-84461.Nsdn_R.rst @@ -0,0 +1,3 @@ +``wasm32-emscripten`` platform no longer builds :mod:`resource` module, +:func:`~os.getresuid`, :func:`~os.getresgid`, and their setters. The APIs +are stubs and not functional. diff --git a/Tools/wasm/config.site-wasm32-emscripten b/Tools/wasm/config.site-wasm32-emscripten index a31d60d05dd770..b695a7bf8f04da 100644 --- a/Tools/wasm/config.site-wasm32-emscripten +++ b/Tools/wasm/config.site-wasm32-emscripten @@ -49,6 +49,10 @@ ac_cv_func_geteuid=no ac_cv_func_getegid=no ac_cv_func_seteuid=no ac_cv_func_setegid=no +ac_cv_func_getresuid=no +ac_cv_func_getresgid=no +ac_cv_func_setresuid=no +ac_cv_func_setresgid=no # Syscalls not implemented in emscripten # [Errno 52] Function not implemented diff --git a/configure b/configure index 2d03c4fb5a61ca..083ee0e5906743 100755 --- a/configure +++ b/configure @@ -23532,6 +23532,7 @@ case $ac_sys_system in #( py_cv_module_nis=n/a py_cv_module_ossaudiodev=n/a py_cv_module_pwd=n/a + py_cv_module_resource=n/a py_cv_module_spwd=n/a py_cv_module_syslog=n/a py_cv_module_=n/a @@ -23542,7 +23543,6 @@ case $ac_sys_system in #( py_cv_module_fcntl=n/a - py_cv_module_resource=n/a py_cv_module_readline=n/a py_cv_module_termios=n/a py_cv_module_=n/a @@ -23557,7 +23557,6 @@ case $ac_sys_system in #( py_cv_module__ctypes_test=n/a py_cv_module_fcntl=n/a py_cv_module_mmap=n/a - py_cv_module_resource=n/a py_cv_module_termios=n/a py_cv_module_=n/a diff --git a/configure.ac b/configure.ac index 1d7e1be5e3b08b..d9a6f686b59eba 100644 --- a/configure.ac +++ b/configure.ac @@ -6832,6 +6832,7 @@ AS_CASE([$ac_sys_system], dnl curses and tkinter user interface are not available. dnl dbm and gdbm aren't available, too. dnl Emscripten and WASI provide only stubs for pwd, grp APIs. + dnl resource functions (get/setrusage) are stubs, too. PY_STDLIB_MOD_SET_NA( [_curses], [_curses_panel], @@ -6847,6 +6848,7 @@ AS_CASE([$ac_sys_system], [nis], [ossaudiodev], [pwd], + [resource], [spwd], [syslog], ) @@ -6855,7 +6857,6 @@ AS_CASE([$ac_sys_system], dnl These modules are not particularly useful in browsers. PY_STDLIB_MOD_SET_NA( [fcntl], - [resource], [readline], [termios], ) @@ -6867,7 +6868,6 @@ AS_CASE([$ac_sys_system], [_ctypes_test], [fcntl], [mmap], - [resource], [termios], ) ] From c4cf745c723f19dbc5b304bfb21cf77ac9aa40b8 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 03:56:27 -0700 Subject: [PATCH 005/494] GH-96754: Check whether the interpreter frame is complete before creating frame object. (GH-96776) (#96787) (cherry picked from commit 12c5f328d2479ac3432df5e266adc4e59adeabfe) Co-authored-by: Mark Shannon Co-authored-by: Mark Shannon --- .../2022-09-12-16-58-22.gh-issue-96754.0GRme5.rst | 3 +++ Modules/signalmodule.c | 3 +++ Python/ceval.c | 8 +++++--- Python/pystate.c | 3 +++ 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-12-16-58-22.gh-issue-96754.0GRme5.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-12-16-58-22.gh-issue-96754.0GRme5.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-12-16-58-22.gh-issue-96754.0GRme5.rst new file mode 100644 index 00000000000000..beac84ee822a84 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-12-16-58-22.gh-issue-96754.0GRme5.rst @@ -0,0 +1,3 @@ +Make sure that all frame objects created are created from valid interpreter +frames. Prevents the possibility of invalid frames in backtraces and signal +handlers. diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index e3b37f179312d4..0f30b4da036313 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -1832,6 +1832,9 @@ _PyErr_CheckSignalsTstate(PyThreadState *tstate) _Py_atomic_store(&is_tripped, 0); _PyInterpreterFrame *frame = tstate->cframe->current_frame; + while (frame && _PyFrame_IsIncomplete(frame)) { + frame = frame->previous; + } signal_state_t *state = &signal_global_state; for (int i = 1; i < Py_NSIG; i++) { if (!_Py_atomic_load_relaxed(&Handlers[i].tripped)) { diff --git a/Python/ceval.c b/Python/ceval.c index 66fa2eabbdc91a..a5dfacf4f5ca04 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -5747,9 +5747,11 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int #endif /* Log traceback info. */ - PyFrameObject *f = _PyFrame_GetFrameObject(frame); - if (f != NULL) { - PyTraceBack_Here(f); + if (!_PyFrame_IsIncomplete(frame)) { + PyFrameObject *f = _PyFrame_GetFrameObject(frame); + if (f != NULL) { + PyTraceBack_Here(f); + } } if (tstate->c_tracefunc != NULL) { diff --git a/Python/pystate.c b/Python/pystate.c index 12ebbe33cb8aa5..425065322ebd42 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -1391,6 +1391,9 @@ _PyThread_CurrentFrames(void) PyThreadState *t; for (t = i->threads.head; t != NULL; t = t->next) { _PyInterpreterFrame *frame = t->cframe->current_frame; + while (frame && _PyFrame_IsIncomplete(frame)) { + frame = frame->previous; + } if (frame == NULL) { continue; } From bc337a77666055283feeb3efbe17510dd038fb34 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Tue, 13 Sep 2022 13:00:45 +0200 Subject: [PATCH 006/494] [3.11] gh-96005: Handle WASI ENOTCAPABLE in getpath (GH-96006) (GH-96034) (GH-96038) - On WASI `ENOTCAPABLE` is now mapped to `PermissionError`. - The `errno` modules exposes the new error number. - `getpath.py` now ignores `PermissionError` when it cannot open landmark files `pybuilddir.txt` and `pyenv.cfg`. --- Doc/library/errno.rst | 9 +++++++++ Doc/library/exceptions.rst | 7 ++++++- Lib/test/test_exception_hierarchy.py | 6 ++++-- .../2022-08-15-21-08-11.gh-issue-96005.6eoc8k.rst | 4 ++++ Modules/errnomodule.c | 4 ++++ Modules/getpath.py | 6 +++--- Objects/exceptions.c | 5 +++++ 7 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-08-15-21-08-11.gh-issue-96005.6eoc8k.rst diff --git a/Doc/library/errno.rst b/Doc/library/errno.rst index 035340e256874f..5122c69697ef91 100644 --- a/Doc/library/errno.rst +++ b/Doc/library/errno.rst @@ -657,3 +657,12 @@ defined by the module. The specific list of defined symbols is available as Interface output queue is full .. versionadded:: 3.11 + +.. data:: ENOTCAPABLE + + Capabilities insufficient. This error is mapped to the exception + :exc:`PermissionError`. + + .. availability:: WASI, FreeBSD + + .. versionadded:: 3.11.1 diff --git a/Doc/library/exceptions.rst b/Doc/library/exceptions.rst index 2eccbd17c482c0..fc856277d67b2e 100644 --- a/Doc/library/exceptions.rst +++ b/Doc/library/exceptions.rst @@ -746,7 +746,12 @@ depending on the system error code. Raised when trying to run an operation without the adequate access rights - for example filesystem permissions. - Corresponds to :c:data:`errno` :py:data:`~errno.EACCES` and :py:data:`~errno.EPERM`. + Corresponds to :c:data:`errno` :py:data:`~errno.EACCES`, + :py:data:`~errno.EPERM`, and :py:data:`~errno.ENOTCAPABLE`. + + .. versionchanged:: 3.11.1 + WASI's :py:data:`~errno.ENOTCAPABLE` is now mapped to + :exc:`PermissionError`. .. exception:: ProcessLookupError diff --git a/Lib/test/test_exception_hierarchy.py b/Lib/test/test_exception_hierarchy.py index 89fe9ddcefba3e..3318fa8e7746f7 100644 --- a/Lib/test/test_exception_hierarchy.py +++ b/Lib/test/test_exception_hierarchy.py @@ -63,7 +63,7 @@ def test_select_error(self): +-- InterruptedError EINTR +-- IsADirectoryError EISDIR +-- NotADirectoryError ENOTDIR - +-- PermissionError EACCES, EPERM + +-- PermissionError EACCES, EPERM, ENOTCAPABLE +-- ProcessLookupError ESRCH +-- TimeoutError ETIMEDOUT """ @@ -75,6 +75,8 @@ def _make_map(s): continue excname, _, errnames = line.partition(' ') for errname in filter(None, errnames.strip().split(', ')): + if errname == "ENOTCAPABLE" and not hasattr(errno, errname): + continue _map[getattr(errno, errname)] = getattr(builtins, excname) return _map _map = _make_map(_pep_map) @@ -91,7 +93,7 @@ def test_errno_mapping(self): othercodes = set(errno.errorcode) - set(self._map) for errcode in othercodes: e = OSError(errcode, "Some message") - self.assertIs(type(e), OSError) + self.assertIs(type(e), OSError, repr(e)) def test_try_except(self): filename = "some_hopefully_non_existing_file" diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-08-15-21-08-11.gh-issue-96005.6eoc8k.rst b/Misc/NEWS.d/next/Core and Builtins/2022-08-15-21-08-11.gh-issue-96005.6eoc8k.rst new file mode 100644 index 00000000000000..06e414bca0f9c0 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-08-15-21-08-11.gh-issue-96005.6eoc8k.rst @@ -0,0 +1,4 @@ +On WASI :data:`~errno.ENOTCAPABLE` is now mapped to :exc:`PermissionError`. +The :mod:`errno` modules exposes the new error number. ``getpath.py`` now +ignores :exc:`PermissionError` when it cannot open landmark files +``pybuilddir.txt`` and ``pyenv.cfg``. diff --git a/Modules/errnomodule.c b/Modules/errnomodule.c index 0516e7367050c2..4de4144520aa48 100644 --- a/Modules/errnomodule.c +++ b/Modules/errnomodule.c @@ -927,6 +927,10 @@ errno_exec(PyObject *module) #ifdef EQFULL add_errcode("EQFULL", EQFULL, "Interface output queue is full"); #endif +#ifdef ENOTCAPABLE + // WASI extension + add_errcode("ENOTCAPABLE", ENOTCAPABLE, "Capabilities insufficient"); +#endif Py_DECREF(error_dict); return 0; diff --git a/Modules/getpath.py b/Modules/getpath.py index dceeed7702c0be..e09fda9eb38def 100644 --- a/Modules/getpath.py +++ b/Modules/getpath.py @@ -351,11 +351,11 @@ def search_up(prefix, *landmarks, test=isfile): try: # Read pyvenv.cfg from one level above executable pyvenvcfg = readlines(joinpath(venv_prefix, VENV_LANDMARK)) - except FileNotFoundError: + except (FileNotFoundError, PermissionError): # Try the same directory as executable pyvenvcfg = readlines(joinpath(venv_prefix2, VENV_LANDMARK)) venv_prefix = venv_prefix2 - except FileNotFoundError: + except (FileNotFoundError, PermissionError): venv_prefix = None pyvenvcfg = [] @@ -475,7 +475,7 @@ def search_up(prefix, *landmarks, test=isfile): # File exists but is empty platstdlib_dir = real_executable_dir build_prefix = joinpath(real_executable_dir, VPATH) - except FileNotFoundError: + except (FileNotFoundError, PermissionError): if isfile(joinpath(real_executable_dir, BUILD_LANDMARK)): build_prefix = joinpath(real_executable_dir, VPATH) if os_name == 'nt': diff --git a/Objects/exceptions.c b/Objects/exceptions.c index 3c4df2facfe2e2..319eb238ecf570 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -3644,6 +3644,11 @@ _PyExc_InitState(PyInterpreterState *interp) ADD_ERRNO(InterruptedError, EINTR); ADD_ERRNO(PermissionError, EACCES); ADD_ERRNO(PermissionError, EPERM); +#ifdef ENOTCAPABLE + // Extension for WASI capability-based security. Process lacks + // capability to access a resource. + ADD_ERRNO(PermissionError, ENOTCAPABLE); +#endif ADD_ERRNO(ProcessLookupError, ESRCH); ADD_ERRNO(TimeoutError, ETIMEDOUT); From f2d7fa88390502fa408b8f1e1ad1b6d23a04c48a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 08:03:40 -0700 Subject: [PATCH 007/494] gh-96678: Fix UB of null pointer arithmetic (GH-96782) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automerge-Triggered-By: GH:pablogsal (cherry picked from commit 81e36f350b75d2ed2668825f7df6e059b57f859c) Co-authored-by: Matthias Görgens --- .../2022-09-13-12-06-46.gh-issue-96678.NqGFyb.rst | 1 + Parser/tokenizer.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-13-12-06-46.gh-issue-96678.NqGFyb.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-13-12-06-46.gh-issue-96678.NqGFyb.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-13-12-06-46.gh-issue-96678.NqGFyb.rst new file mode 100644 index 00000000000000..bdd33c8d2ca914 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-13-12-06-46.gh-issue-96678.NqGFyb.rst @@ -0,0 +1 @@ +Fix undefined behaviour in C code of null pointer arithmetic. diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index 8d9fbf5cf9596a..a5cfb659b430a4 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -1542,7 +1542,7 @@ tok_get(struct tok_state *tok, const char **p_start, const char **p_end) } while (c == ' ' || c == '\t' || c == '\014'); /* Set start of current token */ - tok->start = tok->cur - 1; + tok->start = tok->cur == NULL ? NULL : tok->cur - 1; /* Skip comment, unless it's a type comment */ if (c == '#') { From cc8b006ae3140162de2b616786ca4452f39c1767 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 08:04:00 -0700 Subject: [PATCH 008/494] gh-96678: Avoid undefined behaviour in test (GH-96672) (#96795) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 6ba686d97fd6d2a2169696c6629f7de9482f52db) Co-authored-by: Matthias Görgens Co-authored-by: Matthias Görgens --- Programs/_testembed.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Programs/_testembed.c b/Programs/_testembed.c index f84445690eb8f6..a2a2ff40b2774b 100644 --- a/Programs/_testembed.c +++ b/Programs/_testembed.c @@ -1581,7 +1581,7 @@ static int test_init_is_python_build(void) config._is_python_build = INT_MAX; env = getenv("NEGATIVE_ISPYTHONBUILD"); if (env && strcmp(env, "0") != 0) { - config._is_python_build++; + config._is_python_build = INT_MIN; } init_from_config_clear(&config); Py_Finalize(); From 6726405ec30f7a5309ca4f5bbe32e0a7295171ab Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 08:57:02 -0700 Subject: [PATCH 009/494] gh-96706: [doc] Don't recomment deprecated use of get_event_loop() in examples (GH-96707) (cherry picked from commit 53a54b781d1f05f2d0b40ce88b3da92d5d23e9d2) Co-authored-by: zhanpon --- Doc/library/asyncio-eventloop.rst | 6 +++--- Doc/library/asyncio-llapi-index.rst | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index 555a0f5cb2a72b..bd7f5f30be1032 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -1663,7 +1663,7 @@ event loop:: print('Hello World') loop.stop() - loop = asyncio.get_event_loop() + loop = asyncio.new_event_loop() # Schedule a call to hello_world() loop.call_soon(hello_world, loop) @@ -1699,7 +1699,7 @@ after 5 seconds, and then stops the event loop:: else: loop.stop() - loop = asyncio.get_event_loop() + loop = asyncio.new_event_loop() # Schedule the first call to display_date() end_time = loop.time() + 5.0 @@ -1731,7 +1731,7 @@ Wait until a file descriptor received some data using the # Create a pair of connected file descriptors rsock, wsock = socketpair() - loop = asyncio.get_event_loop() + loop = asyncio.new_event_loop() def reader(): data = rsock.recv(100) diff --git a/Doc/library/asyncio-llapi-index.rst b/Doc/library/asyncio-llapi-index.rst index cdadb7975ad494..3cec4c69f86ea7 100644 --- a/Doc/library/asyncio-llapi-index.rst +++ b/Doc/library/asyncio-llapi-index.rst @@ -267,7 +267,7 @@ See also the main documentation section about the .. rubric:: Examples -* :ref:`Using asyncio.get_event_loop() and loop.run_forever() +* :ref:`Using asyncio.new_event_loop() and loop.run_forever() `. * :ref:`Using loop.call_later() `. From 12c8a9edfd13ee53b1dc030e6d9543b73034064b Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 09:44:56 -0700 Subject: [PATCH 010/494] gh-95778: Fix `sys.set_int_max_str_digits()` parameter name (GH-96798) Discovered in https://github.com/python/typeshed/pull/8733 (cherry picked from commit bf5fd492524f1b630a60c98eff8fe5fa66603b54) Co-authored-by: Alex Waygood --- Doc/library/sys.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index 4d6db2cb1b71d9..aab3f6aa83fced 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -1331,7 +1331,7 @@ always available. .. availability:: Unix. -.. function:: set_int_max_str_digits(n) +.. function:: set_int_max_str_digits(maxdigits) Set the :ref:`integer string conversion length limitation ` used by this interpreter. See also From f09c33c44e1e9c10f786849ff95d7b871b324801 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 13:53:11 -0700 Subject: [PATCH 011/494] Add dataclass field default change to 3.11 what's new (GH-96790) Co-authored-by: Hugo van Kemenade (cherry picked from commit 4995f5f9a07921c5b90066a22285a538551b36d8) Co-authored-by: Laurie O --- Doc/whatsnew/3.11.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 9353446b1f471a..15ca1249b1625b 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -534,6 +534,14 @@ Added non parallel-safe :func:`~contextlib.chdir` context manager to change the current working directory and then restore it on exit. Simple wrapper around :func:`~os.chdir`. (Contributed by Filipe Laíns in :issue:`25625`) +dataclasses +----------- + +* Change field default mutability check, allowing only defaults which are + :term:`hashable` instead of any object which is not an instance of + :class:`dict`, :class:`list` or :class:`set`. (Contributed by Eric V. Smith in + :issue:`44674`.) + datetime -------- From a0685136dce3efef085476824948ad796a016dbe Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 13 Sep 2022 19:23:30 -0700 Subject: [PATCH 012/494] Itertools sieve() recipe (GH-96813) (GH-96814) --- Doc/library/itertools.rst | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index da550e6fa25833..41aff25d1f7912 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -314,7 +314,7 @@ loops that truncate the stream. def count(start=0, step=1): # count(10) --> 10 11 12 13 14 ... - # count(2.5, 0.5) -> 2.5 3.0 3.5 ... + # count(2.5, 0.5) --> 2.5 3.0 3.5 ... n = start while True: yield n @@ -739,7 +739,7 @@ which incur interpreter overhead. def prepend(value, iterator): "Prepend a single value in front of an iterator" - # prepend(1, [2, 3, 4]) -> 1 2 3 4 + # prepend(1, [2, 3, 4]) --> 1 2 3 4 return chain([value], iterator) def tabulate(function, start=0): @@ -812,6 +812,16 @@ which incur interpreter overhead. for k in range(len(roots) + 1) ] + def sieve(n): + "Primes less than n" + # sieve(30) --> 2 3 5 7 11 13 17 19 23 29 + data = bytearray([1]) * n + data[:2] = 0, 0 + limit = math.isqrt(n) + 1 + for p in compress(count(), islice(data, limit)): + data[p+p : n : p] = bytearray(len(range(p+p, n, p))) + return compress(count(), data) + def flatten(list_of_lists): "Flatten one level of nesting" return chain.from_iterable(list_of_lists) @@ -842,12 +852,12 @@ which incur interpreter overhead. def triplewise(iterable): "Return overlapping triplets from an iterable" - # triplewise('ABCDEFG') -> ABC BCD CDE DEF EFG + # triplewise('ABCDEFG') --> ABC BCD CDE DEF EFG for (a, _), (b, c) in pairwise(pairwise(iterable)): yield a, b, c def sliding_window(iterable, n): - # sliding_window('ABCDEFG', 4) -> ABCD BCDE CDEF DEFG + # sliding_window('ABCDEFG', 4) --> ABCD BCDE CDEF DEFG it = iter(iterable) window = collections.deque(islice(it, n), maxlen=n) if len(window) == n: @@ -1079,6 +1089,7 @@ which incur interpreter overhead. >>> import operator >>> import collections >>> import math + >>> import random >>> take(10, count()) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] @@ -1128,7 +1139,6 @@ which incur interpreter overhead. >>> list(repeatfunc(pow, 5, 2, 3)) [8, 8, 8, 8, 8] - >>> import random >>> take(5, map(int, repeatfunc(random.random))) [0, 0, 0, 0, 0] @@ -1156,10 +1166,22 @@ which incur interpreter overhead. >>> all(factored(x) == expanded(x) for x in range(-10, 11)) True + >>> list(sieve(30)) + [2, 3, 5, 7, 11, 13, 17, 19, 23, 29] + >>> len(list(sieve(100))) + 25 + >>> len(list(sieve(1_000))) + 168 + >>> len(list(sieve(10_000))) + 1229 + >>> len(list(sieve(100_000))) + 9592 + >>> len(list(sieve(1_000_000))) + 78498 + >>> list(flatten([('a', 'b'), (), ('c', 'd', 'e'), ('f',), ('g', 'h', 'i')])) ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'] - >>> import random >>> random.seed(85753098575309) >>> list(repeatfunc(random.random, 3)) [0.16370491282496968, 0.45889608687313455, 0.3747076837820118] From fe4f2f9a6ba1314e3d2767bc9ef46ddfb3b26ac0 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 14 Sep 2022 08:59:34 -0700 Subject: [PATCH 013/494] gh-96729: Ensure installers built with Tools/msi/buildrelease.bat have matching UUIDs with official releases (GH-96755) (cherry picked from commit 662782e95f97d26bd57b3edc6aaf674e30899f44) Co-authored-by: adang1345 --- .../next/Build/2022-09-11-14-23-49.gh-issue-96729.W4uBWL.rst | 2 ++ Tools/msi/buildrelease.bat | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Build/2022-09-11-14-23-49.gh-issue-96729.W4uBWL.rst diff --git a/Misc/NEWS.d/next/Build/2022-09-11-14-23-49.gh-issue-96729.W4uBWL.rst b/Misc/NEWS.d/next/Build/2022-09-11-14-23-49.gh-issue-96729.W4uBWL.rst new file mode 100644 index 00000000000000..b67cd200e2d346 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2022-09-11-14-23-49.gh-issue-96729.W4uBWL.rst @@ -0,0 +1,2 @@ +Ensure that Windows releases built with ``Tools\msi\buildrelease.bat`` are +upgradable to and from official Python releases. diff --git a/Tools/msi/buildrelease.bat b/Tools/msi/buildrelease.bat index ccec4da12c4285..839f6204d9e0b2 100644 --- a/Tools/msi/buildrelease.bat +++ b/Tools/msi/buildrelease.bat @@ -12,7 +12,9 @@ rem rem The following substitutions will be applied to the release URI: rem Variable Description Example rem {arch} architecture amd64, win32 -set RELEASE_URI=https://www.python.org/{arch} +rem Do not change the scheme to https. Otherwise, releases built with this +rem script will not be upgradable to/from official releases of Python. +set RELEASE_URI=http://www.python.org/{arch} rem This is the URL that will be used to download installation files. rem The files available from the default URL *will* conflict with your From b31b1b12486cede82aa77f3e70a880e44f7e52ce Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 14 Sep 2022 12:56:14 -0700 Subject: [PATCH 014/494] gh-96702: Order methods before attrs in sqlite3.Connection docs (GH-96703) (#96788) (cherry picked from commit 49cceeb5c998a51bb12b7dbde17b53647bb52113) Co-authored-by: Erlend E. Aasland Co-authored-by: Erlend E. Aasland --- Doc/library/sqlite3.rst | 193 ++++++++++++++++++++-------------------- 1 file changed, 96 insertions(+), 97 deletions(-) diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index a9d20a1a455bf0..28f12040b63e63 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -557,103 +557,6 @@ Connection objects An SQLite database connection has the following attributes and methods: - .. attribute:: isolation_level - - This attribute controls the :ref:`transaction handling - ` performed by :mod:`!sqlite3`. - If set to ``None``, transactions are never implicitly opened. - If set to one of ``"DEFERRED"``, ``"IMMEDIATE"``, or ``"EXCLUSIVE"``, - corresponding to the underlying `SQLite transaction behaviour`_, - implicit :ref:`transaction management - ` is performed. - - If not overridden by the *isolation_level* parameter of :func:`connect`, - the default is ``""``, which is an alias for ``"DEFERRED"``. - - .. attribute:: in_transaction - - This read-only attribute corresponds to the low-level SQLite - `autocommit mode`_. - - ``True`` if a transaction is active (there are uncommitted changes), - ``False`` otherwise. - - .. versionadded:: 3.2 - - .. attribute:: row_factory - - A callable that accepts two arguments, - a :class:`Cursor` object and the raw row results as a :class:`tuple`, - and returns a custom object representing an SQLite row. - - Example: - - .. doctest:: - - >>> def dict_factory(cursor, row): - ... col_names = [col[0] for col in cursor.description] - ... return {key: value for key, value in zip(col_names, row)} - >>> con = sqlite3.connect(":memory:") - >>> con.row_factory = dict_factory - >>> for row in con.execute("SELECT 1 AS a, 2 AS b"): - ... print(row) - {'a': 1, 'b': 2} - - If returning a tuple doesn't suffice and you want name-based access to - columns, you should consider setting :attr:`row_factory` to the - highly optimized :class:`sqlite3.Row` type. :class:`Row` provides both - index-based and case-insensitive name-based access to columns with almost no - memory overhead. It will probably be better than your own custom - dictionary-based approach or even a db_row based solution. - - .. XXX what's a db_row-based solution? - - .. attribute:: text_factory - - A callable that accepts a :class:`bytes` parameter and returns a text - representation of it. - The callable is invoked for SQLite values with the ``TEXT`` data type. - By default, this attribute is set to :class:`str`. - If you want to return ``bytes`` instead, set *text_factory* to ``bytes``. - - Example: - - .. testcode:: - - con = sqlite3.connect(":memory:") - cur = con.cursor() - - AUSTRIA = "Österreich" - - # by default, rows are returned as str - cur.execute("SELECT ?", (AUSTRIA,)) - row = cur.fetchone() - assert row[0] == AUSTRIA - - # but we can make sqlite3 always return bytestrings ... - con.text_factory = bytes - cur.execute("SELECT ?", (AUSTRIA,)) - row = cur.fetchone() - assert type(row[0]) is bytes - # the bytestrings will be encoded in UTF-8, unless you stored garbage in the - # database ... - assert row[0] == AUSTRIA.encode("utf-8") - - # we can also implement a custom text_factory ... - # here we implement one that appends "foo" to all strings - con.text_factory = lambda x: x.decode("utf-8") + "foo" - cur.execute("SELECT ?", ("bar",)) - row = cur.fetchone() - assert row[0] == "barfoo" - - con.close() - - .. attribute:: total_changes - - Return the total number of database rows that have been modified, inserted, or - deleted since the database connection was opened. - - .. method:: cursor(factory=Cursor) Create and return a :class:`Cursor` object. @@ -1307,6 +1210,102 @@ Connection objects .. versionadded:: 3.11 + .. attribute:: in_transaction + + This read-only attribute corresponds to the low-level SQLite + `autocommit mode`_. + + ``True`` if a transaction is active (there are uncommitted changes), + ``False`` otherwise. + + .. versionadded:: 3.2 + + .. attribute:: isolation_level + + This attribute controls the :ref:`transaction handling + ` performed by :mod:`!sqlite3`. + If set to ``None``, transactions are never implicitly opened. + If set to one of ``"DEFERRED"``, ``"IMMEDIATE"``, or ``"EXCLUSIVE"``, + corresponding to the underlying `SQLite transaction behaviour`_, + implicit :ref:`transaction management + ` is performed. + + If not overridden by the *isolation_level* parameter of :func:`connect`, + the default is ``""``, which is an alias for ``"DEFERRED"``. + + .. attribute:: row_factory + + A callable that accepts two arguments, + a :class:`Cursor` object and the raw row results as a :class:`tuple`, + and returns a custom object representing an SQLite row. + + Example: + + .. doctest:: + + >>> def dict_factory(cursor, row): + ... col_names = [col[0] for col in cursor.description] + ... return {key: value for key, value in zip(col_names, row)} + >>> con = sqlite3.connect(":memory:") + >>> con.row_factory = dict_factory + >>> for row in con.execute("SELECT 1 AS a, 2 AS b"): + ... print(row) + {'a': 1, 'b': 2} + + If returning a tuple doesn't suffice and you want name-based access to + columns, you should consider setting :attr:`row_factory` to the + highly optimized :class:`sqlite3.Row` type. :class:`Row` provides both + index-based and case-insensitive name-based access to columns with almost no + memory overhead. It will probably be better than your own custom + dictionary-based approach or even a db_row based solution. + + .. XXX what's a db_row-based solution? + + .. attribute:: text_factory + + A callable that accepts a :class:`bytes` parameter and returns a text + representation of it. + The callable is invoked for SQLite values with the ``TEXT`` data type. + By default, this attribute is set to :class:`str`. + If you want to return ``bytes`` instead, set *text_factory* to ``bytes``. + + Example: + + .. testcode:: + + con = sqlite3.connect(":memory:") + cur = con.cursor() + + AUSTRIA = "Österreich" + + # by default, rows are returned as str + cur.execute("SELECT ?", (AUSTRIA,)) + row = cur.fetchone() + assert row[0] == AUSTRIA + + # but we can make sqlite3 always return bytestrings ... + con.text_factory = bytes + cur.execute("SELECT ?", (AUSTRIA,)) + row = cur.fetchone() + assert type(row[0]) is bytes + # the bytestrings will be encoded in UTF-8, unless you stored garbage in the + # database ... + assert row[0] == AUSTRIA.encode("utf-8") + + # we can also implement a custom text_factory ... + # here we implement one that appends "foo" to all strings + con.text_factory = lambda x: x.decode("utf-8") + "foo" + cur.execute("SELECT ?", ("bar",)) + row = cur.fetchone() + assert row[0] == "barfoo" + + con.close() + + .. attribute:: total_changes + + Return the total number of database rows that have been modified, inserted, or + deleted since the database connection was opened. + .. _sqlite3-cursor-objects: From 9ab9e82b86587b7c9366f6aca592c71c1ad02815 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:21:08 -0700 Subject: [PATCH 015/494] gh-96810: Clarify for which statements sqlite3 implicitly opens transactions (GH-96832) (cherry picked from commit 16c33a9676e2f3ef330d09f2ab515c56636fa09f) Co-authored-by: Erlend E. Aasland --- Doc/library/sqlite3.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index 28f12040b63e63..70cf43c2544e8c 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -2236,7 +2236,8 @@ If the connection attribute :attr:`~Connection.isolation_level` is not ``None``, new transactions are implicitly opened before :meth:`~Cursor.execute` and :meth:`~Cursor.executemany` executes -``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statements. +``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statements; +for other statements, no implicit transaction handling is performed. Use the :meth:`~Connection.commit` and :meth:`~Connection.rollback` methods to respectively commit and roll back pending transactions. You can choose the underlying `SQLite transaction behaviour`_ — From 92a0e81fe16a85b74b79812b6ea55791c0739339 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 16 Sep 2022 11:33:27 -0700 Subject: [PATCH 016/494] gh-95778: Mention sys.set_int_max_str_digits() in error message (GH-96874) When ValueError is raised if an integer is larger than the limit, mention sys.set_int_max_str_digits() in the error message. (cherry picked from commit e841ffc915e82e5ea6e3b473205417d63494808d) Co-authored-by: Victor Stinner --- Doc/library/stdtypes.rst | 4 ++-- .../2022-09-16-19-02-40.gh-issue-95778.cJmnst.rst | 3 +++ Objects/longobject.c | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-16-19-02-40.gh-issue-95778.cJmnst.rst diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index af41dbb1f130a9..e92909125b320d 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -5489,7 +5489,7 @@ When an operation would exceed the limit, a :exc:`ValueError` is raised: >>> _ = int('2' * 5432) Traceback (most recent call last): ... - ValueError: Exceeds the limit (4300) for integer string conversion: value has 5432 digits. + ValueError: Exceeds the limit (4300) for integer string conversion: value has 5432 digits; use sys.set_int_max_str_digits() to increase the limit. >>> i = int('2' * 4300) >>> len(str(i)) 4300 @@ -5497,7 +5497,7 @@ When an operation would exceed the limit, a :exc:`ValueError` is raised: >>> len(str(i_squared)) Traceback (most recent call last): ... - ValueError: Exceeds the limit (4300) for integer string conversion: value has 8599 digits. + ValueError: Exceeds the limit (4300) for integer string conversion: value has 8599 digits; use sys.set_int_max_str_digits() to increase the limit. >>> len(hex(i_squared)) 7144 >>> assert int(hex(i_squared), base=16) == i*i # Hexadecimal is unlimited. diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-16-19-02-40.gh-issue-95778.cJmnst.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-16-19-02-40.gh-issue-95778.cJmnst.rst new file mode 100644 index 00000000000000..ebf63778a605d7 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-16-19-02-40.gh-issue-95778.cJmnst.rst @@ -0,0 +1,3 @@ +When :exc:`ValueError` is raised if an integer is larger than the limit, +mention the :func:`sys.set_int_max_str_digits` function in the error message. +Patch by Victor Stinner. diff --git a/Objects/longobject.c b/Objects/longobject.c index 17274d01cec4be..e93461af72754c 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -36,8 +36,8 @@ medium_value(PyLongObject *x) #define IS_SMALL_INT(ival) (-_PY_NSMALLNEGINTS <= (ival) && (ival) < _PY_NSMALLPOSINTS) #define IS_SMALL_UINT(ival) ((ival) < _PY_NSMALLPOSINTS) -#define _MAX_STR_DIGITS_ERROR_FMT_TO_INT "Exceeds the limit (%d) for integer string conversion: value has %zd digits" -#define _MAX_STR_DIGITS_ERROR_FMT_TO_STR "Exceeds the limit (%d) for integer string conversion" +#define _MAX_STR_DIGITS_ERROR_FMT_TO_INT "Exceeds the limit (%d) for integer string conversion: value has %zd digits; use sys.set_int_max_str_digits() to increase the limit" +#define _MAX_STR_DIGITS_ERROR_FMT_TO_STR "Exceeds the limit (%d) for integer string conversion; use sys.set_int_max_str_digits() to increase the limit" static inline void _Py_DECREF_INT(PyLongObject *op) From d39fce0f038c02bdbb1b379df1cca8297c9c368a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 16 Sep 2022 17:03:57 -0700 Subject: [PATCH 017/494] Fix ResourceWarning in test.test_frame (GH-96831) (cherry picked from commit 303bd880475b510481d86a8c48b62d21d0e3bb53) Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com> --- Lib/test/test_frame.py | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/Lib/test/test_frame.py b/Lib/test/test_frame.py index 9fab17684eec02..5dda2fbfac374c 100644 --- a/Lib/test/test_frame.py +++ b/Lib/test/test_frame.py @@ -1,10 +1,12 @@ import re import sys +import textwrap import types import unittest import weakref from test import support +from test.support.script_helper import assert_python_ok class ClearTest(unittest.TestCase): @@ -238,25 +240,26 @@ def inner(): class TestIncompleteFrameAreInvisible(unittest.TestCase): def test_issue95818(self): - #See GH-95818 for details - import gc - self.addCleanup(gc.set_threshold, *gc.get_threshold()) + # See GH-95818 for details + code = textwrap.dedent(f""" + import gc - gc.set_threshold(1,1,1) - class GCHello: - def __del__(self): - print("Destroyed from gc") + gc.set_threshold(1,1,1) + class GCHello: + def __del__(self): + print("Destroyed from gc") - def gen(): - yield - - fd = open(__file__) - l = [fd, GCHello()] - l.append(l) - del fd - del l - gen() + def gen(): + yield + fd = open({__file__!r}) + l = [fd, GCHello()] + l.append(l) + del fd + del l + gen() + """) + assert_python_ok("-c", code) if __name__ == "__main__": unittest.main() From 876606fc65d94c8098560d82572bfba4a6a07f7d Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Sat, 17 Sep 2022 16:40:24 +0200 Subject: [PATCH 018/494] [3.11] gh-96883: browser: include concurrent.futures (GH-96886) (GH-96888) --- ...2-09-17-11-19-24.gh-issue-96883.p_gr62.rst | 2 ++ Tools/wasm/wasm_assets.py | 34 +++++++++---------- 2 files changed, 19 insertions(+), 17 deletions(-) create mode 100644 Misc/NEWS.d/next/Build/2022-09-17-11-19-24.gh-issue-96883.p_gr62.rst diff --git a/Misc/NEWS.d/next/Build/2022-09-17-11-19-24.gh-issue-96883.p_gr62.rst b/Misc/NEWS.d/next/Build/2022-09-17-11-19-24.gh-issue-96883.p_gr62.rst new file mode 100644 index 00000000000000..2258ce8ab9d58e --- /dev/null +++ b/Misc/NEWS.d/next/Build/2022-09-17-11-19-24.gh-issue-96883.p_gr62.rst @@ -0,0 +1,2 @@ +``wasm32-emscripten`` builds for browsers now include +:mod:`concurrent.futures` for :mod:`asyncio` and :mod:`unittest.mock`. diff --git a/Tools/wasm/wasm_assets.py b/Tools/wasm/wasm_assets.py index 9b0bee33dc13ba..6557e3f37aa834 100755 --- a/Tools/wasm/wasm_assets.py +++ b/Tools/wasm/wasm_assets.py @@ -58,6 +58,8 @@ # Pure Python implementations of C extensions "_pydecimal.py", "_pyio.py", + # concurrent threading + "concurrent/futures/thread.py", # Misc unused or large files "pydoc_data/", "msilib/", @@ -99,13 +101,12 @@ "_dbm": ["dbm/ndbm.py"], "_gdbm": ["dbm/gnu.py"], "_json": ["json/"], - "_multiprocessing": ["concurrent/", "multiprocessing/"], + "_multiprocessing": ["concurrent/futures/process.py", "multiprocessing/"], "pyexpat": ["xml/", "xmlrpc/"], "readline": ["rlcompleter.py"], "_sqlite3": ["sqlite3/"], "_ssl": ["ssl.py"], "_tkinter": ["idlelib/", "tkinter/", "turtle.py", "turtledemo/"], - "_zoneinfo": ["zoneinfo/"], } @@ -125,21 +126,18 @@ def get_builddir(args: argparse.Namespace) -> pathlib.Path: - """Get builddir path from pybuilddir.txt - """ + """Get builddir path from pybuilddir.txt""" with open("pybuilddir.txt", encoding="utf-8") as f: builddir = f.read() return pathlib.Path(builddir) def get_sysconfigdata(args: argparse.Namespace) -> pathlib.Path: - """Get path to sysconfigdata relative to build root - """ + """Get path to sysconfigdata relative to build root""" data_name = sysconfig._get_sysconfigdata_name() if not data_name.startswith(SYSCONFIG_NAMES): raise ValueError( - f"Invalid sysconfig data name '{data_name}'.", - SYSCONFIG_NAMES + f"Invalid sysconfig data name '{data_name}'.", SYSCONFIG_NAMES ) filename = data_name + ".py" return args.builddir / filename @@ -150,20 +148,23 @@ def create_stdlib_zip( *, optimize: int = 0, ) -> None: - def filterfunc(name: str) -> bool: - return not name.startswith(args.omit_subdirs_absolute) + def filterfunc(filename: str) -> bool: + pathname = pathlib.Path(filename).resolve() + return pathname not in args.omit_files_absolute with zipfile.PyZipFile( - args.wasm_stdlib_zip, mode="w", compression=args.compression, optimize=optimize + args.wasm_stdlib_zip, + mode="w", + compression=args.compression, + optimize=optimize, ) as pzf: if args.compresslevel is not None: pzf.compresslevel = args.compresslevel pzf.writepy(args.sysconfig_data) for entry in sorted(args.srcdir_lib.iterdir()): + entry = entry.resolve() if entry.name == "__pycache__": continue - if entry in args.omit_files_absolute: - continue if entry.name.endswith(".py") or entry.is_dir(): # writepy() writes .pyc files (bytecode). pzf.writepy(entry, filterfunc=filterfunc) @@ -247,10 +248,9 @@ def main(): if not extmods.get(modname): omit_files.extend(modfiles) - args.omit_files_absolute = {args.srcdir_lib / name for name in omit_files} - args.omit_subdirs_absolute = tuple( - str(args.srcdir_lib / name) for name in OMIT_SUBDIRS - ) + args.omit_files_absolute = { + (args.srcdir_lib / name).resolve() for name in omit_files + } # Empty, unused directory for dynamic libs, but required for site initialization. args.wasm_dynload.mkdir(parents=True, exist_ok=True) From 98b81c2ac3281fd332aa80b39cc3616fe81f21fe Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 17 Sep 2022 15:15:23 -0700 Subject: [PATCH 019/494] gh-87179: Fix more IDLE class headers (GH-96899) Remove unneeded '(object)' and '()'. (cherry picked from commit aa671b48d62a00c5ab87fb102be15dd5eeac84dd) Co-authored-by: Terry Jan Reedy --- Lib/idlelib/idle_test/test_text.py | 2 +- Lib/idlelib/idle_test/test_zzdummy.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/idlelib/idle_test/test_text.py b/Lib/idlelib/idle_test/test_text.py index 0f31179e04b28f..43a9ba02c3d3c9 100644 --- a/Lib/idlelib/idle_test/test_text.py +++ b/Lib/idlelib/idle_test/test_text.py @@ -6,7 +6,7 @@ from test.support import requires from _tkinter import TclError -class TextTest(object): +class TextTest: "Define items common to both sets of tests." hw = 'hello\nworld' # Several tests insert this after initialization. diff --git a/Lib/idlelib/idle_test/test_zzdummy.py b/Lib/idlelib/idle_test/test_zzdummy.py index 1013cdc3c46f4f..209d8564da0664 100644 --- a/Lib/idlelib/idle_test/test_zzdummy.py +++ b/Lib/idlelib/idle_test/test_zzdummy.py @@ -19,7 +19,7 @@ } code_sample = """\ -class C1(): +class C1: # Class comment. def __init__(self, a, b): self.a = a From e0b02ef27e7bef19f6662acd46cc5c7b86a55b28 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 17 Sep 2022 20:01:12 -0700 Subject: [PATCH 020/494] Clarify that the expression is regular math notation, not Python. (GH-96903) (GH-96908) --- Doc/library/math.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/library/math.rst b/Doc/library/math.rst index 6d9a992f731316..8d48656d41eb0a 100644 --- a/Doc/library/math.rst +++ b/Doc/library/math.rst @@ -45,8 +45,8 @@ Number-theoretic and representation functions to zero when ``k > n``. Also called the binomial coefficient because it is equivalent - to the coefficient of k-th term in polynomial expansion of the - expression ``(1 + x) ** n``. + to the coefficient of k-th term in polynomial expansion of + ``(1 + x)ⁿ``. Raises :exc:`TypeError` if either of the arguments are not integers. Raises :exc:`ValueError` if either of the arguments are negative. From 1448e2a42bf8bc53e486427d4515bce20b387d02 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 17 Sep 2022 20:11:29 -0700 Subject: [PATCH 021/494] Simplify sieve() recipe. Add edge case tests. (GH-96892) (cherry picked from commit 78359b1d45608439f8e03b8e86174fe7b04d3e08) Co-authored-by: Raymond Hettinger --- Doc/library/itertools.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 41aff25d1f7912..13fb80a29154f9 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -818,7 +818,7 @@ which incur interpreter overhead. data = bytearray([1]) * n data[:2] = 0, 0 limit = math.isqrt(n) + 1 - for p in compress(count(), islice(data, limit)): + for p in compress(range(limit), data): data[p+p : n : p] = bytearray(len(range(p+p, n, p))) return compress(count(), data) @@ -1168,6 +1168,9 @@ which incur interpreter overhead. >>> list(sieve(30)) [2, 3, 5, 7, 11, 13, 17, 19, 23, 29] + >>> small_primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59] + >>> all(list(sieve(n)) == [p for p in small_primes if p < n] for n in range(60)) + True >>> len(list(sieve(100))) 25 >>> len(list(sieve(1_000))) @@ -1178,6 +1181,9 @@ which incur interpreter overhead. 9592 >>> len(list(sieve(1_000_000))) 78498 + >>> carmichael = {561, 1105, 1729, 2465, 2821, 6601, 8911} # https://oeis.org/A002997 + >>> set(sieve(10_000)).isdisjoint(carmichael) + True >>> list(flatten([('a', 'b'), (), ('c', 'd', 'e'), ('f',), ('g', 'h', 'i')])) ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'] From 9b789e58284e9bbfc1a94f67df3badd1fcb4da01 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 18 Sep 2022 13:58:46 -0700 Subject: [PATCH 022/494] [3.11] gh-96861: Check for unset sys.executable during venv creation. (GH-96887) (GH-96919) (cherry picked from commit 2cd70ffb3fe22d778d0bb6ec220fdf67dccc1be6) --- Lib/venv/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py index 6032f3648e15ff..f5570e8fcd7c09 100644 --- a/Lib/venv/__init__.py +++ b/Lib/venv/__init__.py @@ -128,6 +128,11 @@ def create_if_needed(d): context.prompt = '(%s) ' % prompt create_if_needed(env_dir) executable = sys._base_executable + if not executable: # see gh-96861 + raise ValueError('Unable to determine path to the running ' + 'Python interpreter. Provide an explicit path or ' + 'check that your PATH environment variable is ' + 'correctly set.') dirname, exename = os.path.split(os.path.abspath(executable)) context.executable = executable context.python_dir = dirname From 8e2bda8227e80444f9f3a1fe4e24d2d5f4f89385 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 18 Sep 2022 15:53:31 -0700 Subject: [PATCH 023/494] GH-96851: Add link to FAQ entry for caching method calls. (GH-96902) (cherry picked from commit bbc24b2bd569108b957ed24c5a95ffeaf8cde0db) Co-authored-by: Raymond Hettinger --- Doc/faq/programming.rst | 2 ++ Doc/library/functools.rst | 3 +++ 2 files changed, 5 insertions(+) diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index 6514c00d1114e2..a3fb2fa5323cf6 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -1897,6 +1897,8 @@ The classes can be used like this: 'blog-why-python-rocks' +.. _faq-cache-method-calls: + How do I cache method calls? ---------------------------- diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index 00aca09bc7af45..d6792ed6fb77fb 100644 --- a/Doc/library/functools.rst +++ b/Doc/library/functools.rst @@ -191,6 +191,9 @@ The :mod:`functools` module defines the following functions: The cache keeps references to the arguments and return values until they age out of the cache or until the cache is cleared. + If a method is cached, the `self` instance argument is included in the + cache. See :ref:`faq-cache-method-calls` + An `LRU (least recently used) cache `_ works best when the most recent calls are the best predictors of upcoming From 3bf8e0f487978b2c7396592816558ca852f846a1 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 19 Sep 2022 04:48:58 -0700 Subject: [PATCH 024/494] gh-96821: Fix undefined behaviour in `_testcapimodule.c` (GH-96915) (GH-96927) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gh-96821: Assert for demonstrating undefined behaviour * Fix UB (cherry picked from commit cbdeda8ce7a3543cb3376d70e4cd46fcf24f42a7) Co-authored-by: C.A.M. Gerlach Co-authored-by: Matthias Görgens --- .../2022-09-18-08-47-40.gh-issue-96821.Co2iOq.rst | 1 + Modules/_testcapimodule.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-18-08-47-40.gh-issue-96821.Co2iOq.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-18-08-47-40.gh-issue-96821.Co2iOq.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-18-08-47-40.gh-issue-96821.Co2iOq.rst new file mode 100644 index 00000000000000..4fd0532e827d18 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-18-08-47-40.gh-issue-96821.Co2iOq.rst @@ -0,0 +1 @@ +Fix undefined behaviour in ``_testcapimodule.c``. diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c index 1a3cbe0b212aa6..43fec8138a0ebc 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -5576,8 +5576,10 @@ meth_fastcall_keywords(PyObject* self, PyObject* const* args, if (pyargs == NULL) { return NULL; } + assert(args != NULL || nargs == 0); + PyObject* const* args_offset = args == NULL ? NULL : args + nargs; PyObject *pykwargs = PyObject_Vectorcall((PyObject*)&PyDict_Type, - args + nargs, 0, kwargs); + args_offset, 0, kwargs); return Py_BuildValue("NNN", _null_to_none(self), pyargs, pykwargs); } From 58247c5b86146189df21e482779553425d750ea2 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 19 Sep 2022 06:45:35 -0700 Subject: [PATCH 025/494] gh-95913: Fix and copyedit New Features section of 3.11 What's New (GH-95915) (cherry picked from commit 8ee27e33182e6d9040e79f6ccc9219afa049d40e) Co-authored-by: C.A.M. Gerlach --- Doc/c-api/code.rst | 4 +-- Doc/whatsnew/3.11.rst | 71 +++++++++++++++++++++++-------------------- 2 files changed, 40 insertions(+), 35 deletions(-) diff --git a/Doc/c-api/code.rst b/Doc/c-api/code.rst index d4a3c4ae35fa09..9054e7ee3181a5 100644 --- a/Doc/c-api/code.rst +++ b/Doc/c-api/code.rst @@ -1,9 +1,9 @@ .. highlight:: c -.. _codeobjects: - .. index:: object; code, code object +.. _codeobjects: + Code Objects ------------ diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 15ca1249b1625b..b57e1427909243 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -50,6 +50,8 @@ This article explains the new features in Python 3.11, compared to 3.10. For full details, see the :ref:`changelog `. +.. _whatsnew311-summary: + Summary -- Release highlights ============================= @@ -96,16 +98,18 @@ Important deprecations, removals or restrictions: * :pep:`670`: Convert macros to functions in the Python C API. +.. _whatsnew311-features: + New Features ============ .. _whatsnew311-pep657: -Enhanced error locations in tracebacks --------------------------------------- +PEP 657: Enhanced error locations in tracebacks +----------------------------------------------- When printing tracebacks, the interpreter will now point to the exact expression -that caused the error instead of just the line. For example: +that caused the error, instead of just the line. For example: .. code-block:: python @@ -118,9 +122,9 @@ that caused the error instead of just the line. For example: ^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'x' -Previous versions of the interpreter would point to just the line making it +Previous versions of the interpreter would point to just the line, making it ambiguous which object was ``None``. These enhanced errors can also be helpful -when dealing with deeply nested dictionary objects and multiple function calls, +when dealing with deeply nested :class:`dict` objects and multiple function calls: .. code-block:: python @@ -138,7 +142,7 @@ when dealing with deeply nested dictionary objects and multiple function calls, ~~~~~~~~~~~~~~~~~~^^^^^ TypeError: 'NoneType' object is not subscriptable -as well as complex arithmetic expressions: +As well as complex arithmetic expressions: .. code-block:: python @@ -148,33 +152,28 @@ as well as complex arithmetic expressions: ~~~~~~^~~ ZeroDivisionError: division by zero -See :pep:`657` for more details. (Contributed by Pablo Galindo, Batuhan Taskaya -and Ammar Askar in :issue:`43950`.) - -.. note:: - This feature requires storing column positions in code objects which may - result in a small increase of disk usage of compiled Python files or - interpreter memory usage. To avoid storing the extra information and/or - deactivate printing the extra traceback information, the - :option:`-X` ``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` - environment variable can be used. - -Column information for code objects -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The information used by the enhanced traceback feature is made available as a -general API that can be used to correlate bytecode instructions with source -code. This information can be retrieved using: +Additionally, the information used by the enhanced traceback feature +is made available via a general API, that can be used to correlate +:term:`bytecode` :ref:`instructions ` with source code location. +This information can be retrieved using: - The :meth:`codeobject.co_positions` method in Python. -- The :c:func:`PyCode_Addr2Location` function in the C-API. - -The :option:`-X` ``no_debug_ranges`` option and the environment variable -:envvar:`PYTHONNODEBUGRANGES` can be used to disable this feature. +- The :c:func:`PyCode_Addr2Location` function in the C API. See :pep:`657` for more details. (Contributed by Pablo Galindo, Batuhan Taskaya and Ammar Askar in :issue:`43950`.) +.. note:: + This feature requires storing column positions in :ref:`codeobjects`, + which may result in a small increase in interpreter memory usage + and disk usage for compiled Python files. + To avoid storing the extra information + and deactivate printing the extra traceback information, + use the :option:`-X no_debug_ranges <-X>` command line option + or the :envvar:`PYTHONNODEBUGRANGES` environment variable. + + +.. _whatsnew311-pep654: PEP 654: Exception Groups and ``except*`` ----------------------------------------- @@ -192,14 +191,20 @@ See :pep:`654` for more details. Irit Katriel, Yury Selivanov and Guido van Rossum.) +.. _whatsnew311-pep670: + PEP 678: Exceptions can be enriched with notes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------- + +The :meth:`~BaseException.add_note` method is added to :exc:`BaseException`. +It can be used to enrich exceptions with context information +that is not available at the time when the exception is raised. +The added notes appear in the default traceback. + +See :pep:`678` for more details. -The :meth:`add_note` method was added to :exc:`BaseException`. It can be -used to enrich exceptions with context information which is not available -at the time when the exception is raised. The notes added appear in the -default traceback. See :pep:`678` for more details. (Contributed by -Irit Katriel in :issue:`45607`.) +(Contributed by Irit Katriel in :issue:`45607`. +PEP written by Zac Hatfield-Dodds.) .. _new-feat-related-type-hints-311: From bda451b7944952d4066cc7c1891567187b6d70dc Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 19 Sep 2022 06:51:08 -0700 Subject: [PATCH 026/494] gh-95913: Copyedit, link & format Typing Features section in 3.11 What's New (GH-96097) Co-authored-by: Ezio Melotti Co-authored-by: Alex Waygood (cherry picked from commit 558768ff22e47582ae95ad7c3f8955407934916e) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 73 +++++++++++++++++++++++++++++-------------- 1 file changed, 50 insertions(+), 23 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index b57e1427909243..a84bfde5c482fb 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -208,6 +208,7 @@ PEP written by Zac Hatfield-Dodds.) .. _new-feat-related-type-hints-311: +.. _whatsnew311-typing-features: New Features Related to Type Hints ================================== @@ -215,15 +216,20 @@ New Features Related to Type Hints This section covers major changes affecting :pep:`484` type hints and the :mod:`typing` module. + +.. _whatsnew311-pep646: + PEP 646: Variadic generics -------------------------- -:pep:`484` introduced :data:`~typing.TypeVar`, enabling creation -of generics parameterised with a single type. :pep:`646` introduces +:pep:`484` previously introduced :data:`~typing.TypeVar`, enabling creation +of generics parameterised with a single type. :pep:`646` adds :data:`~typing.TypeVarTuple`, enabling parameterisation with an *arbitrary* number of types. In other words, a :data:`~typing.TypeVarTuple` is a *variadic* type variable, -enabling *variadic* generics. This enables a wide variety of use cases. +enabling *variadic* generics. + +This enables a wide variety of use cases. In particular, it allows the type of array-like structures in numerical computing libraries such as NumPy and TensorFlow to be parameterised with the array *shape*. Static type checkers will now @@ -235,26 +241,30 @@ See :pep:`646` for more details. Serhiy Storchaka and Jelle Zijlstra. PEP written by Mark Mendoza, Matthew Rahtz, Pradeep Kumar Srinivasan, and Vincent Siles.) + +.. _whatsnew311-pep655: + PEP 655: Marking individual ``TypedDict`` items as required or not-required --------------------------------------------------------------------------- :data:`~typing.Required` and :data:`~typing.NotRequired` provide a straightforward way to mark whether individual items in a -:data:`~typing.TypedDict` must be present. Previously this was only possible +:class:`~typing.TypedDict` must be present. Previously, this was only possible using inheritance. -Fields are still required by default, unless the ``total=False`` -parameter is set. -For example, the following specifies a dictionary with one required and -one not-required key:: +All fields are still required by default, +unless the *total* parameter is set to ``False``, +in which case all fields are still not-required by default. +For example, the following specifies a :class:`!TypedDict` +with one required and one not-required key:: class Movie(TypedDict): title: str year: NotRequired[int] - m1: Movie = {"title": "Black Panther", "year": 2018} # ok - m2: Movie = {"title": "Star Wars"} # ok (year is not required) - m3: Movie = {"year": 2022} # error (missing required field title) + m1: Movie = {"title": "Black Panther", "year": 2018} # OK + m2: Movie = {"title": "Star Wars"} # OK (year is not required) + m3: Movie = {"year": 2022} # ERROR (missing required field title) The following definition is equivalent:: @@ -267,15 +277,20 @@ See :pep:`655` for more details. (Contributed by David Foster and Jelle Zijlstra in :issue:`47087`. PEP written by David Foster.) + +.. _whatsnew311-pep673: + PEP 673: ``Self`` type ---------------------- The new :data:`~typing.Self` annotation provides a simple and intuitive way to annotate methods that return an instance of their class. This -behaves the same as the :data:`~typing.TypeVar`-based approach specified -in :pep:`484` but is more concise and easier to follow. +behaves the same as the :class:`~typing.TypeVar`-based approach +:pep:`specified in PEP 484 <484#annotating-instance-and-class-methods>`, +but is more concise and easier to follow. -Common use cases include alternative constructors provided as classmethods +Common use cases include alternative constructors provided as +:func:`classmethod `\s, and :meth:`~object.__enter__` methods that return ``self``:: class MyLock: @@ -300,6 +315,9 @@ See :pep:`673` for more details. (Contributed by James Hilton-Balfe in :issue:`46534`. PEP written by Pradeep Kumar Srinivasan and James Hilton-Balfe.) + +.. _whatsnew311-pep675: + PEP 675: Arbitrary literal string type -------------------------------------- @@ -334,14 +352,17 @@ See :pep:`675` for more details. (Contributed by Jelle Zijlstra in :issue:`47088`. PEP written by Pradeep Kumar Srinivasan and Graham Bleaney.) + +.. _whatsnew311-pep681: + PEP 681: Data Class Transforms ------------------------------ :data:`~typing.dataclass_transform` may be used to decorate a class, metaclass, or a function that is itself a decorator. The presence of ``@dataclass_transform()`` tells a static type checker that the -decorated object performs runtime "magic" that -transforms a class, giving it :func:`dataclasses.dataclass`-like behaviors. +decorated object performs runtime "magic" that transforms a class, +giving it :func:`dataclass `-like behaviors. For example:: @@ -353,26 +374,32 @@ For example:: cls.__ne__ = ... return cls - # The create_model decorator can now be used to create new model - # classes, like this: + # The create_model decorator can now be used to create new model classes: @create_model class CustomerModel: id: int name: str - c = CustomerModel(id=327, name="John Smith") + c = CustomerModel(id=327, name="Eric Idle") See :pep:`681` for more details. (Contributed by Jelle Zijlstra in :gh:`91860`. PEP written by Erik De Bonte and Eric Traut.) -PEP 563 May Not Be the Future + +.. _whatsnew311-pep563-deferred: + +PEP 563 may not be the future ----------------------------- -* :pep:`563` Postponed Evaluation of Annotations, ``__future__.annotations`` - that was planned for this release has been indefinitely postponed. - See `this message `_ for more information. +:pep:`563` Postponed Evaluation of Annotations +(the ``from __future__ import annotations`` :ref:`future statement `) +that was originally planned for release in Python 3.10 +has been put on hold indefinitely. +See `this message from the Steering Council `__ +for more information. + Windows py.exe launcher improvements ------------------------------------ From e0d6cc83169d9a363b263e16ddc3a57facc7a704 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 19 Sep 2022 12:19:18 -0700 Subject: [PATCH 027/494] gh-96917: link to typing.readthedocs.io from typing.rst (GH-96921) See the discussion at https://github.com/python/cpython/issues/91533 (cherry picked from commit 5b3a2569f4b4dfb58a8f90a241f9dac1a7ea4bf6) Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com> --- Doc/library/typing.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index 7639406643172d..bcdedd5335479c 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -39,6 +39,11 @@ provides backports of these new features to older versions of Python. For a summary of deprecated features and a deprecation timeline, please see `Deprecation Timeline of Major Features`_. +.. seealso:: + + The documentation at https://typing.readthedocs.io/ serves as useful reference + for type system features, useful typing related tools and typing best practices. + .. _relevant-peps: From 6ff54716f1073a4bcfed8a1ec0b518c489c1af0d Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 20 Sep 2022 02:12:09 +0200 Subject: [PATCH 028/494] gh-96387: take_gil() resets drop request before exit (#96869) (#96941) At Python exit, sometimes a thread holding the GIL can wait forever for a thread (usually a daemon thread) which requested to drop the GIL, whereas the thread already exited. To fix the race condition, the thread which requested the GIL drop now resets its request before exiting. take_gil() now calls RESET_GIL_DROP_REQUEST() before PyThread_exit_thread() if it called SET_GIL_DROP_REQUEST to fix a race condition with drop_gil(). Issue discovered and analyzed by Mingliang ZHAO. (cherry picked from commit 04f4977f508583954ad7b9cb09076ee1e57461f8) --- .../2022-09-16-16-54-35.gh-issue-96387.GRzewg.rst | 5 +++++ Python/ceval_gil.h | 11 +++++++++++ 2 files changed, 16 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-16-16-54-35.gh-issue-96387.GRzewg.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-16-16-54-35.gh-issue-96387.GRzewg.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-16-16-54-35.gh-issue-96387.GRzewg.rst new file mode 100644 index 00000000000000..611ab94bc636a6 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-16-16-54-35.gh-issue-96387.GRzewg.rst @@ -0,0 +1,5 @@ +At Python exit, sometimes a thread holding the GIL can wait forever for a +thread (usually a daemon thread) which requested to drop the GIL, whereas +the thread already exited. To fix the race condition, the thread which +requested the GIL drop now resets its request before exiting. Issue +discovered and analyzed by Mingliang ZHAO. Patch by Victor Stinner. diff --git a/Python/ceval_gil.h b/Python/ceval_gil.h index 1b2dc7f8e1dc31..23f6fb26580ece 100644 --- a/Python/ceval_gil.h +++ b/Python/ceval_gil.h @@ -239,6 +239,7 @@ take_gil(PyThreadState *tstate) goto _ready; } + int drop_requested = 0; while (_Py_atomic_load_relaxed(&gil->locked)) { unsigned long saved_switchnum = gil->switch_number; @@ -254,11 +255,21 @@ take_gil(PyThreadState *tstate) { if (tstate_must_exit(tstate)) { MUTEX_UNLOCK(gil->mutex); + // gh-96387: If the loop requested a drop request in a previous + // iteration, reset the request. Otherwise, drop_gil() can + // block forever waiting for the thread which exited. Drop + // requests made by other threads are also reset: these threads + // may have to request again a drop request (iterate one more + // time). + if (drop_requested) { + RESET_GIL_DROP_REQUEST(interp); + } PyThread_exit_thread(); } assert(is_tstate_valid(tstate)); SET_GIL_DROP_REQUEST(interp); + drop_requested = 1; } } From fc1cbe761b6111738c8ba5fd9180217d3118c8aa Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 20 Sep 2022 01:52:09 -0700 Subject: [PATCH 029/494] [3.11] gh-96727: Document restrictions on Handler.emit() with respect to locking. (GH-96948) (GH-96950) (cherry picked from commit 6ad47b41a650a13b4a9214309c10239726331eb8) --- Doc/library/logging.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst index eacba56d0477e2..9390f065fb2690 100644 --- a/Doc/library/logging.rst +++ b/Doc/library/logging.rst @@ -522,6 +522,22 @@ subclasses. However, the :meth:`__init__` method in subclasses needs to call is intended to be implemented by subclasses and so raises a :exc:`NotImplementedError`. + .. warning:: This method is called after a handler-level lock is acquired, which + is released after this method returns. When you override this method, note + that you should be careful when calling anything that invokes other parts of + the logging API which might do locking, because that might result in a + deadlock. Specifically: + + * Logging configuration APIs acquire the module-level lock, and then + individual handler-level locks as those handlers are configured. + + * Many logging APIs lock the module-level lock. If such an API is called + from this method, it could cause a deadlock if a configuration call is + made on another thread, because that thread will try to acquire the + module-level lock *before* the handler-level lock, whereas this thread + tries to acquire the module-level lock *after* the handler-level lock + (because in this method, the handler-level lock has already been acquired). + For a list of handlers included as standard, see :mod:`logging.handlers`. .. _formatter-objects: From 32d80decbf0ab07b8083467c9222dffb7790c08e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 20 Sep 2022 10:49:01 -0700 Subject: [PATCH 030/494] GH-96864: Check for error between line and opcode events (GH-96880) (cherry picked from commit c10e33ac119d96c4d88d5ae8b59e65a76ae0ad3c) Co-authored-by: Brandt Bucher --- Lib/test/test_sys_settrace.py | 14 ++++++++++++++ .../2022-09-16-12-36-13.gh-issue-96864.PLU3i8.rst | 2 ++ Python/ceval.c | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-16-12-36-13.gh-issue-96864.PLU3i8.rst diff --git a/Lib/test/test_sys_settrace.py b/Lib/test/test_sys_settrace.py index 9f1aa81dbcd249..aa61f8b185883b 100644 --- a/Lib/test/test_sys_settrace.py +++ b/Lib/test/test_sys_settrace.py @@ -1721,6 +1721,20 @@ def g(frame, event, arg): finally: sys.settrace(existing) + def test_line_event_raises_before_opcode_event(self): + exception = ValueError("BOOM!") + def trace(frame, event, arg): + if event == "line": + raise exception + frame.f_trace_opcodes = True + return trace + def f(): + pass + with self.assertRaises(ValueError) as caught: + sys.settrace(trace) + f() + self.assertIs(caught.exception, exception) + # 'Jump' tests: assigning to frame.f_lineno within a trace function # moves the execution position - it's how debuggers implement a Jump diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-16-12-36-13.gh-issue-96864.PLU3i8.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-16-12-36-13.gh-issue-96864.PLU3i8.rst new file mode 100644 index 00000000000000..c0d41ae7d21ed9 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-16-12-36-13.gh-issue-96864.PLU3i8.rst @@ -0,0 +1,2 @@ +Fix a possible assertion failure, fatal error, or :exc:`SystemError` if a +line tracing event raises an exception while opcode tracing is enabled. diff --git a/Python/ceval.c b/Python/ceval.c index a5dfacf4f5ca04..f95e95c0589c1a 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -6933,7 +6933,7 @@ maybe_call_line_trace(Py_tracefunc func, PyObject *obj, } } /* Always emit an opcode event if we're tracing all opcodes. */ - if (f->f_trace_opcodes) { + if (f->f_trace_opcodes && result == 0) { result = call_trace(func, obj, tstate, frame, PyTrace_OPCODE, Py_None); } return result; From 0e61d2b557e0e8e2e1d535575cf147be827af54f Mon Sep 17 00:00:00 2001 From: Brandt Bucher Date: Tue, 20 Sep 2022 14:56:38 -0700 Subject: [PATCH 031/494] [3.11] GH-95921: Fix positions for some chained comparisons (GH-96968) (GH-96973) (cherry picked from commit dfc73b57247aac575c83055d960c03bdc28b51fd) Automerge-Triggered-By: GH:brandtbucher --- Lib/test/test_compile.py | 26 +++++++++++++++++++ ...2-09-20-11-06-45.gh-issue-95921.dkcRQn.rst | 2 ++ Python/compile.c | 1 + 3 files changed, 29 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-20-11-06-45.gh-issue-95921.dkcRQn.rst diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py index cd4d58acd4778e..23f84b48fac830 100644 --- a/Lib/test/test_compile.py +++ b/Lib/test/test_compile.py @@ -1039,6 +1039,32 @@ def while_not_chained(a, b, c): for instr in dis.Bytecode(while_not_chained): self.assertNotEqual(instr.opname, "EXTENDED_ARG") + def test_compare_positions(self): + for opname, op in [ + ("COMPARE_OP", "<"), + ("COMPARE_OP", "<="), + ("COMPARE_OP", ">"), + ("COMPARE_OP", ">="), + ("CONTAINS_OP", "in"), + ("CONTAINS_OP", "not in"), + ("IS_OP", "is"), + ("IS_OP", "is not"), + ]: + expr = f'a {op} b {op} c' + expected_positions = 2 * [(2, 2, 0, len(expr))] + for source in [ + f"\\\n{expr}", f'if \\\n{expr}: x', f"x if \\\n{expr} else y" + ]: + code = compile(source, "", "exec") + actual_positions = [ + instruction.positions + for instruction in dis.get_instructions(code) + if instruction.opname == opname + ] + with self.subTest(source): + self.assertEqual(actual_positions, expected_positions) + + @requires_debug_ranges() class TestSourcePositions(unittest.TestCase): # Ensure that compiled code snippets have correct line and column numbers diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-20-11-06-45.gh-issue-95921.dkcRQn.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-20-11-06-45.gh-issue-95921.dkcRQn.rst new file mode 100644 index 00000000000000..0c8b704c9510a6 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-20-11-06-45.gh-issue-95921.dkcRQn.rst @@ -0,0 +1,2 @@ +Fix overly-broad source position information for chained comparisons used as +branching conditions. diff --git a/Python/compile.c b/Python/compile.c index 32fd58e6c4fd9d..f4555b35ab95a1 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -2930,6 +2930,7 @@ compiler_jump_if(struct compiler *c, expr_ty e, basicblock *next, int cond) return 1; } case Compare_kind: { + SET_LOC(c, e); Py_ssize_t i, n = asdl_seq_LEN(e->v.Compare.ops) - 1; if (n > 0) { if (!check_compare(c, e)) { From fd118a0850b62887c379577cd9bdf23a4f0e2ba6 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 20 Sep 2022 16:34:14 -0700 Subject: [PATCH 032/494] gh-95591: [Enum] use `_FlagTests` base class (GH-96475) (cherry picked from commit 9b58eaf98c0a47235c8822e208c938a36b66ff7b) Co-authored-by: Nikita Sobolev --- Lib/test/test_enum.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index 7964d3e474cd27..3b1c77d688eca1 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -764,7 +764,7 @@ class _FlagTests: def test_default_missing_with_wrong_type_value(self): with self.assertRaisesRegex( ValueError, - "'RED' is not a valid TestFlag.Color", + "'RED' is not a valid ", ) as ctx: self.MainEnum('RED') self.assertIs(ctx.exception.__context__, None) @@ -773,7 +773,7 @@ class TestPlainEnum(_EnumTests, _PlainOutputTests, unittest.TestCase): enum_type = Enum -class TestPlainFlag(_EnumTests, _PlainOutputTests, unittest.TestCase): +class TestPlainFlag(_EnumTests, _PlainOutputTests, _FlagTests, unittest.TestCase): enum_type = Flag @@ -785,7 +785,7 @@ class TestStrEnum(_EnumTests, _MinimalOutputTests, unittest.TestCase): enum_type = StrEnum -class TestIntFlag(_EnumTests, _MinimalOutputTests, unittest.TestCase): +class TestIntFlag(_EnumTests, _MinimalOutputTests, _FlagTests, unittest.TestCase): enum_type = IntFlag @@ -797,7 +797,7 @@ class TestMixedStr(_EnumTests, _MixedOutputTests, unittest.TestCase): class enum_type(str, Enum): pass -class TestMixedIntFlag(_EnumTests, _MixedOutputTests, unittest.TestCase): +class TestMixedIntFlag(_EnumTests, _MixedOutputTests, _FlagTests, unittest.TestCase): class enum_type(int, Flag): pass From a670c65f14c07a0f2f0b3e4aab41aee007c3b7ff Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 20 Sep 2022 16:55:52 -0700 Subject: [PATCH 033/494] [Enum] fix typos (GH-96285) (cherry picked from commit 58882640d631b0be0d81156928de97c2b3556f45) Co-authored-by: wim glenn --- Lib/enum.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/enum.py b/Lib/enum.py index 28b638c28f1776..dffb673f44f949 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -22,14 +22,14 @@ class nonmember(object): """ - Protects item from becaming an Enum member during class creation. + Protects item from becoming an Enum member during class creation. """ def __init__(self, value): self.value = value class member(object): """ - Forces item to became an Enum member during class creation. + Forces item to become an Enum member during class creation. """ def __init__(self, value): self.value = value From 2a5e3337367b4636802697f8e5c78bc5382ec8cb Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 20 Sep 2022 18:36:23 -0700 Subject: [PATCH 034/494] gh-96478: Test `@overload` on C functions (GH-96479) Co-authored-by: Alex Waygood (cherry picked from commit f177f6f29b069f522a0b3ba44eaae19852b6d2b0) Co-authored-by: Nikita Sobolev --- Lib/test/test_typing.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index 776a6f003c0691..7df7e3ceb6803d 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -4379,6 +4379,20 @@ def blah(): blah() + @patch("typing._overload_registry", + defaultdict(lambda: defaultdict(dict))) + def test_overload_on_compiled_functions(self): + # The registry starts out empty: + self.assertEqual(typing._overload_registry, {}) + + # This should just not fail: + overload(sum) + overload(print) + + # No overloads are recorded (but, it still has a side-effect): + self.assertEqual(typing.get_overloads(sum), []) + self.assertEqual(typing.get_overloads(print), []) + def set_up_overloads(self): def blah(): pass From e066c6a56b5bf341ebc38c140b0124bb1f7d1bb7 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 20 Sep 2022 18:37:10 -0700 Subject: [PATCH 035/494] gh-95950: Add a test for both `csv.Dialect` and `kwargs` (GH-95951) (cherry picked from commit 1c01bd28a0ec7e46e570a07d970c590b1809f8f1) Co-authored-by: Nikita Sobolev --- Lib/test/test_csv.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py index 95a19dd46cb4ff..ff2a668c422ffe 100644 --- a/Lib/test/test_csv.py +++ b/Lib/test/test_csv.py @@ -448,6 +448,34 @@ def test_register_kwargs(self): self.assertEqual(csv.get_dialect(name).delimiter, ';') self.assertEqual([['X', 'Y', 'Z']], list(csv.reader(['X;Y;Z'], name))) + def test_register_kwargs_override(self): + class mydialect(csv.Dialect): + delimiter = "\t" + quotechar = '"' + doublequote = True + skipinitialspace = False + lineterminator = '\r\n' + quoting = csv.QUOTE_MINIMAL + + name = 'test_dialect' + csv.register_dialect(name, mydialect, + delimiter=';', + quotechar="'", + doublequote=False, + skipinitialspace=True, + lineterminator='\n', + quoting=csv.QUOTE_ALL) + self.addCleanup(csv.unregister_dialect, name) + + # Ensure that kwargs do override attributes of a dialect class: + dialect = csv.get_dialect(name) + self.assertEqual(dialect.delimiter, ';') + self.assertEqual(dialect.quotechar, "'") + self.assertEqual(dialect.doublequote, False) + self.assertEqual(dialect.skipinitialspace, True) + self.assertEqual(dialect.lineterminator, '\n') + self.assertEqual(dialect.quoting, csv.QUOTE_ALL) + def test_incomplete_dialect(self): class myexceltsv(csv.Dialect): delimiter = "\t" From 46f791d2633d496df0d866206493a6936d64905e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 20 Sep 2022 19:03:13 -0700 Subject: [PATCH 036/494] gh-90808: add more examples to `test_sched.test_priority` (GH-31144) (cherry picked from commit 57463d43dc4277a1f4d33bd003567e947c937cf5) Co-authored-by: Nikita Sobolev --- Lib/test/test_sched.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_sched.py b/Lib/test/test_sched.py index 32cc8105bc0557..eb52ac7983f6c8 100644 --- a/Lib/test/test_sched.py +++ b/Lib/test/test_sched.py @@ -92,10 +92,23 @@ def test_priority(self): l = [] fun = lambda x: l.append(x) scheduler = sched.scheduler(time.time, time.sleep) - for priority in [1, 2, 3, 4, 5]: - z = scheduler.enterabs(0.01, priority, fun, (priority,)) - scheduler.run() - self.assertEqual(l, [1, 2, 3, 4, 5]) + + cases = [ + ([1, 2, 3, 4, 5], [1, 2, 3, 4, 5]), + ([5, 4, 3, 2, 1], [1, 2, 3, 4, 5]), + ([2, 5, 3, 1, 4], [1, 2, 3, 4, 5]), + ([1, 2, 3, 2, 1], [1, 1, 2, 2, 3]), + ] + for priorities, expected in cases: + with self.subTest(priorities=priorities, expected=expected): + for priority in priorities: + scheduler.enterabs(0.01, priority, fun, (priority,)) + scheduler.run() + self.assertEqual(l, expected) + + # Cleanup: + self.assertTrue(scheduler.empty()) + l.clear() def test_cancel(self): l = [] From ad49555d5185fd2ec27a9c9ddc2b11b4f85c5b62 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 21 Sep 2022 06:11:48 -0700 Subject: [PATCH 037/494] gh-81039: Add small example of f-string's "=}" to tutorial (gh-92291) (gh-96989) (cherry picked from commit 4b81139aac3fa11779f6eedb6e621bde29e64b30) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/tutorial/inputoutput.rst | 12 +++++++++++- Doc/whatsnew/3.8.rst | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Doc/tutorial/inputoutput.rst b/Doc/tutorial/inputoutput.rst index d3414005a53435..de84ab7fac8faa 100644 --- a/Doc/tutorial/inputoutput.rst +++ b/Doc/tutorial/inputoutput.rst @@ -133,7 +133,17 @@ applies :func:`repr`:: >>> print(f'My hovercraft is full of {animals!r}.') My hovercraft is full of 'eels'. -For a reference on these format specifications, see +The ``=`` specifier can be used to expand an expression to the text of the +expression, an equal sign, then the representation of the evaluated expression: + + >>> bugs = 'roaches' + >>> count = 13 + >>> area = 'living room' + >>> print(f'Debugging {bugs=} {count=} {area=}') + Debugging bugs='roaches' count=13 area='living room' + +See :ref:`self-documenting expressions ` for more information +on the ``=`` specifier. For a reference on these format specifications, see the reference guide for the :ref:`formatspec`. .. _tut-string-format: diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index 51e1f9ab4aa9de..6138576ea90e1a 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -250,6 +250,7 @@ Android and Cygwin, whose cases are handled by the script); this change is backward incompatible on purpose. (Contributed by Victor Stinner in :issue:`36721`.) +.. _bpo-36817-whatsnew: f-strings support ``=`` for self-documenting expressions and debugging ---------------------------------------------------------------------- From d35b9d0a60d60fafc7fa1cb03ad65b703bb8861a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Langa?= Date: Wed, 21 Sep 2022 16:07:07 +0200 Subject: [PATCH 038/494] [3.11] gh-96954: Add tests for unicodedata.name/lookup (GH-96955) (GH-96991) They were undertested, and since GH-96954 might involve a rewrite of this part of the code we want to ensure that there won't be any behavioral change. Co-authored-by: Carl Friedrich Bolz-Tereick (cherry picked from commit 5a32eeced2c537c13613dd4ff5b2767a37037294) Co-authored-by: Batuhan Taskaya --- Lib/test/test_unicodedata.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py index 3514697f548e65..85a3c2d6d5442b 100644 --- a/Lib/test/test_unicodedata.py +++ b/Lib/test/test_unicodedata.py @@ -95,6 +95,13 @@ def test_function_checksum(self): result = h.hexdigest() self.assertEqual(result, self.expectedchecksum) + @requires_resource('cpu') + def test_name_inverse_lookup(self): + for i in range(sys.maxunicode + 1): + char = chr(i) + if looked_name := self.db.name(char, None): + self.assertEqual(self.db.lookup(looked_name), char) + def test_digit(self): self.assertEqual(self.db.digit('A', None), None) self.assertEqual(self.db.digit('9'), 9) From 6d9905fd714e1f553b2008441dd810be97df2ecb Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 22 Sep 2022 06:00:52 -0700 Subject: [PATCH 039/494] gh-97005: Update libexpat from 2.4.7 to 2.4.9 (gh-97006) Co-authored-by: Gregory P. Smith [Google] (cherry picked from commit 10e3d398c31cc1695752fc52bc6ca2ce9ef6237e) Co-authored-by: Dong-hee Na --- ...2-09-22-14-35-02.gh-issue-97005.yf21Q7.rst | 1 + Modules/expat/COPYING | 2 +- Modules/expat/expat.h | 2 +- Modules/expat/internal.h | 6 ++++-- Modules/expat/siphash.h | 2 +- Modules/expat/xmlparse.c | 19 ++++++++++++------- Modules/expat/xmltok.c | 7 ++++--- Modules/expat/xmltok_impl.c | 6 ++++-- 8 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-22-14-35-02.gh-issue-97005.yf21Q7.rst diff --git a/Misc/NEWS.d/next/Library/2022-09-22-14-35-02.gh-issue-97005.yf21Q7.rst b/Misc/NEWS.d/next/Library/2022-09-22-14-35-02.gh-issue-97005.yf21Q7.rst new file mode 100644 index 00000000000000..d57999aa29b70b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-22-14-35-02.gh-issue-97005.yf21Q7.rst @@ -0,0 +1 @@ +Update bundled libexpat to 2.4.9 diff --git a/Modules/expat/COPYING b/Modules/expat/COPYING index 3c0142e71c8d4f..ce9e5939291e45 100644 --- a/Modules/expat/COPYING +++ b/Modules/expat/COPYING @@ -1,5 +1,5 @@ Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper -Copyright (c) 2001-2019 Expat maintainers +Copyright (c) 2001-2022 Expat maintainers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/Modules/expat/expat.h b/Modules/expat/expat.h index c9214f64070a82..2b47ce2a8d3a6a 100644 --- a/Modules/expat/expat.h +++ b/Modules/expat/expat.h @@ -1055,7 +1055,7 @@ XML_SetBillionLaughsAttackProtectionActivationThreshold( */ #define XML_MAJOR_VERSION 2 #define XML_MINOR_VERSION 4 -#define XML_MICRO_VERSION 7 +#define XML_MICRO_VERSION 9 #ifdef __cplusplus } diff --git a/Modules/expat/internal.h b/Modules/expat/internal.h index 444eba0fb03170..e09f533b23c9df 100644 --- a/Modules/expat/internal.h +++ b/Modules/expat/internal.h @@ -28,7 +28,7 @@ Copyright (c) 2002-2003 Fred L. Drake, Jr. Copyright (c) 2002-2006 Karl Waclawek Copyright (c) 2003 Greg Stein - Copyright (c) 2016-2021 Sebastian Pipping + Copyright (c) 2016-2022 Sebastian Pipping Copyright (c) 2018 Yury Gribov Copyright (c) 2019 David Loffredo Licensed under the MIT license: @@ -107,7 +107,9 @@ #include // ULONG_MAX -#if defined(_WIN32) && ! defined(__USE_MINGW_ANSI_STDIO) +#if defined(_WIN32) \ + && (! defined(__USE_MINGW_ANSI_STDIO) \ + || (1 - __USE_MINGW_ANSI_STDIO - 1 == 0)) # define EXPAT_FMT_ULL(midpart) "%" midpart "I64u" # if defined(_WIN64) // Note: modifiers "td" and "zu" do not work for MinGW # define EXPAT_FMT_PTRDIFF_T(midpart) "%" midpart "I64d" diff --git a/Modules/expat/siphash.h b/Modules/expat/siphash.h index e5406d7ee9eb54..303283ad2de98d 100644 --- a/Modules/expat/siphash.h +++ b/Modules/expat/siphash.h @@ -106,7 +106,7 @@ * if this code is included and compiled as C++; related GCC warning is: * warning: use of C++11 long long integer constant [-Wlong-long] */ -#define _SIP_ULL(high, low) (((uint64_t)high << 32) | low) +#define _SIP_ULL(high, low) ((((uint64_t)high) << 32) | (low)) #define SIP_ROTL(x, b) (uint64_t)(((x) << (b)) | ((x) >> (64 - (b)))) diff --git a/Modules/expat/xmlparse.c b/Modules/expat/xmlparse.c index 05216d997b07f7..c0bece51d7009e 100644 --- a/Modules/expat/xmlparse.c +++ b/Modules/expat/xmlparse.c @@ -1,4 +1,4 @@ -/* fcb1a62fefa945567301146eb98e3ad3413e823a41c4378e84e8b6b6f308d824 (2.4.7+) +/* 90815a2b2c80c03b2b889fe1d427bb2b9e3282aa065e42784e001db4f23de324 (2.4.9+) __ __ _ ___\ \/ /_ __ __ _| |_ / _ \\ /| '_ \ / _` | __| @@ -19,7 +19,7 @@ Copyright (c) 2016 Gustavo Grieco Copyright (c) 2016 Pascal Cuoq Copyright (c) 2016 Ed Schouten - Copyright (c) 2017-2018 Rhodri James + Copyright (c) 2017-2022 Rhodri James Copyright (c) 2017 Václav Slavík Copyright (c) 2017 Viktor Szakats Copyright (c) 2017 Chanho Park @@ -4271,7 +4271,7 @@ processXmlDecl(XML_Parser parser, int isGeneralTextEntity, const char *s, const XML_Char *storedEncName = NULL; const ENCODING *newEncoding = NULL; const char *version = NULL; - const char *versionend; + const char *versionend = NULL; const XML_Char *storedversion = NULL; int standalone = -1; @@ -5826,10 +5826,15 @@ internalEntityProcessor(XML_Parser parser, const char *s, const char *end, { parser->m_processor = contentProcessor; /* see externalEntityContentProcessor vs contentProcessor */ - return doContent(parser, parser->m_parentParser ? 1 : 0, parser->m_encoding, - s, end, nextPtr, - (XML_Bool)! parser->m_parsingStatus.finalBuffer, - XML_ACCOUNT_DIRECT); + result = doContent(parser, parser->m_parentParser ? 1 : 0, + parser->m_encoding, s, end, nextPtr, + (XML_Bool)! parser->m_parsingStatus.finalBuffer, + XML_ACCOUNT_DIRECT); + if (result == XML_ERROR_NONE) { + if (! storeRawNames(parser)) + return XML_ERROR_NO_MEMORY; + } + return result; } } diff --git a/Modules/expat/xmltok.c b/Modules/expat/xmltok.c index c659983b4008bd..2b7012a58be419 100644 --- a/Modules/expat/xmltok.c +++ b/Modules/expat/xmltok.c @@ -21,6 +21,7 @@ Copyright (c) 2017 José Gutiérrez de la Concha Copyright (c) 2019 David Loffredo Copyright (c) 2021 Dong-hee Na + Copyright (c) 2022 Martin Ettl Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -296,7 +297,7 @@ sb_charMatches(const ENCODING *enc, const char *p, int c) { } #else /* c is an ASCII character */ -# define CHAR_MATCHES(enc, p, c) (*(p) == c) +# define CHAR_MATCHES(enc, p, c) (*(p) == (c)) #endif #define PREFIX(ident) normal_##ident @@ -740,7 +741,7 @@ DEFINE_UTF16_TO_UTF16(big2_) ((p)[1] == 0 ? ((struct normal_encoding *)(enc))->type[(unsigned char)*(p)] \ : unicode_byte_type((p)[1], (p)[0])) #define LITTLE2_BYTE_TO_ASCII(p) ((p)[1] == 0 ? (p)[0] : -1) -#define LITTLE2_CHAR_MATCHES(p, c) ((p)[1] == 0 && (p)[0] == c) +#define LITTLE2_CHAR_MATCHES(p, c) ((p)[1] == 0 && (p)[0] == (c)) #define LITTLE2_IS_NAME_CHAR_MINBPC(p) \ UCS2_GET_NAMING(namePages, (unsigned char)p[1], (unsigned char)p[0]) #define LITTLE2_IS_NMSTRT_CHAR_MINBPC(p) \ @@ -875,7 +876,7 @@ static const struct normal_encoding internal_little2_encoding ? ((struct normal_encoding *)(enc))->type[(unsigned char)(p)[1]] \ : unicode_byte_type((p)[0], (p)[1])) #define BIG2_BYTE_TO_ASCII(p) ((p)[0] == 0 ? (p)[1] : -1) -#define BIG2_CHAR_MATCHES(p, c) ((p)[0] == 0 && (p)[1] == c) +#define BIG2_CHAR_MATCHES(p, c) ((p)[0] == 0 && (p)[1] == (c)) #define BIG2_IS_NAME_CHAR_MINBPC(p) \ UCS2_GET_NAMING(namePages, (unsigned char)p[0], (unsigned char)p[1]) #define BIG2_IS_NMSTRT_CHAR_MINBPC(p) \ diff --git a/Modules/expat/xmltok_impl.c b/Modules/expat/xmltok_impl.c index 4072b06497d1c2..1971d74bf8c91f 100644 --- a/Modules/expat/xmltok_impl.c +++ b/Modules/expat/xmltok_impl.c @@ -16,6 +16,7 @@ Copyright (c) 2018 Anton Maklakov Copyright (c) 2019 David Loffredo Copyright (c) 2020 Boris Kolpackov + Copyright (c) 2022 Martin Ettl Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -96,7 +97,7 @@ # define CHECK_NMSTRT_CASE(n, enc, ptr, end, nextTokPtr) \ case BT_LEAD##n: \ - if (end - ptr < n) \ + if ((end) - (ptr) < (n)) \ return XML_TOK_PARTIAL_CHAR; \ if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NMSTRT_CHAR(enc, ptr, n)) { \ *nextTokPtr = ptr; \ @@ -124,7 +125,8 @@ # define PREFIX(ident) ident # endif -# define HAS_CHARS(enc, ptr, end, count) (end - ptr >= count * MINBPC(enc)) +# define HAS_CHARS(enc, ptr, end, count) \ + ((end) - (ptr) >= ((count)*MINBPC(enc))) # define HAS_CHAR(enc, ptr, end) HAS_CHARS(enc, ptr, end, 1) From fb87aaafba5a156c4bb8cb326b30984b99fccbfc Mon Sep 17 00:00:00 2001 From: Brandt Bucher Date: Thu, 22 Sep 2022 09:18:37 -0700 Subject: [PATCH 040/494] Remove a stray DISPATCH() (GH-97004) --- Python/ceval.c | 1 - 1 file changed, 1 deletion(-) diff --git a/Python/ceval.c b/Python/ceval.c index f95e95c0589c1a..07a5461daf30f2 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -3582,7 +3582,6 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int DISPATCH(); } - DISPATCH(); TARGET(STORE_ATTR_ADAPTIVE) { assert(cframe.use_tracing == 0); _PyAttrCache *cache = (_PyAttrCache *)next_instr; From 773dbb9e3a7dc5d4a8560bc3ffb28c16758f159f Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 22 Sep 2022 09:58:35 -0700 Subject: [PATCH 041/494] gh-90155: Fix bug in asyncio.Semaphore and strengthen FIFO guarantee (GH-93222) The main problem was that an unluckily timed task cancellation could cause the semaphore to be stuck. There were also doubts about strict FIFO ordering of tasks allowed to pass. The Semaphore implementation was rewritten to be more similar to Lock. Many tests for edge cases (including cancellation) were added. (cherry picked from commit 24e03796248ab8c7f62d715c28156abe2f1c0d20) Co-authored-by: Cyker Way --- Lib/asyncio/locks.py | 64 +++++++---- Lib/test/test_asyncio/test_locks.py | 100 ++++++++++++++++++ ...2-05-25-15-57-39.gh-issue-90155.YMstB5.rst | 1 + 3 files changed, 143 insertions(+), 22 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-05-25-15-57-39.gh-issue-90155.YMstB5.rst diff --git a/Lib/asyncio/locks.py b/Lib/asyncio/locks.py index e71130274dd6f3..f8f590304e31dc 100644 --- a/Lib/asyncio/locks.py +++ b/Lib/asyncio/locks.py @@ -346,9 +346,8 @@ class Semaphore(_ContextManagerMixin, mixins._LoopBoundMixin): def __init__(self, value=1): if value < 0: raise ValueError("Semaphore initial value must be >= 0") + self._waiters = None self._value = value - self._waiters = collections.deque() - self._wakeup_scheduled = False def __repr__(self): res = super().__repr__() @@ -357,16 +356,8 @@ def __repr__(self): extra = f'{extra}, waiters:{len(self._waiters)}' return f'<{res[1:-1]} [{extra}]>' - def _wake_up_next(self): - while self._waiters: - waiter = self._waiters.popleft() - if not waiter.done(): - waiter.set_result(None) - self._wakeup_scheduled = True - return - def locked(self): - """Returns True if semaphore can not be acquired immediately.""" + """Returns True if semaphore counter is zero.""" return self._value == 0 async def acquire(self): @@ -378,28 +369,57 @@ async def acquire(self): called release() to make it larger than 0, and then return True. """ - # _wakeup_scheduled is set if *another* task is scheduled to wakeup - # but its acquire() is not resumed yet - while self._wakeup_scheduled or self._value <= 0: - fut = self._get_loop().create_future() - self._waiters.append(fut) + if (not self.locked() and (self._waiters is None or + all(w.cancelled() for w in self._waiters))): + self._value -= 1 + return True + + if self._waiters is None: + self._waiters = collections.deque() + fut = self._get_loop().create_future() + self._waiters.append(fut) + + # Finally block should be called before the CancelledError + # handling as we don't want CancelledError to call + # _wake_up_first() and attempt to wake up itself. + try: try: await fut - # reset _wakeup_scheduled *after* waiting for a future - self._wakeup_scheduled = False - except exceptions.CancelledError: - self._wake_up_next() - raise + finally: + self._waiters.remove(fut) + except exceptions.CancelledError: + if not self.locked(): + self._wake_up_first() + raise + self._value -= 1 + if not self.locked(): + self._wake_up_first() return True def release(self): """Release a semaphore, incrementing the internal counter by one. + When it was zero on entry and another coroutine is waiting for it to become larger than zero again, wake up that coroutine. """ self._value += 1 - self._wake_up_next() + self._wake_up_first() + + def _wake_up_first(self): + """Wake up the first waiter if it isn't done.""" + if not self._waiters: + return + try: + fut = next(iter(self._waiters)) + except StopIteration: + return + + # .done() necessarily means that a waiter will wake up later on and + # either take the lock, or, if it was cancelled and lock wasn't + # taken already, will hit this again and wake up a new waiter. + if not fut.done(): + fut.set_result(True) class BoundedSemaphore(Semaphore): diff --git a/Lib/test/test_asyncio/test_locks.py b/Lib/test/test_asyncio/test_locks.py index 541b4907b6de99..4b9d166e1a0f2e 100644 --- a/Lib/test/test_asyncio/test_locks.py +++ b/Lib/test/test_asyncio/test_locks.py @@ -5,6 +5,7 @@ import re import asyncio +import collections STR_RGX_REPR = ( r'^<(?P.*?) object at (?P
.*?)' @@ -774,6 +775,9 @@ async def test_repr(self): self.assertTrue('waiters' not in repr(sem)) self.assertTrue(RGX_REPR.match(repr(sem))) + if sem._waiters is None: + sem._waiters = collections.deque() + sem._waiters.append(mock.Mock()) self.assertTrue('waiters:1' in repr(sem)) self.assertTrue(RGX_REPR.match(repr(sem))) @@ -842,6 +846,7 @@ async def c4(result): sem.release() self.assertEqual(2, sem._value) + await asyncio.sleep(0) await asyncio.sleep(0) self.assertEqual(0, sem._value) self.assertEqual(3, len(result)) @@ -884,6 +889,7 @@ async def test_acquire_cancel_before_awoken(self): t2.cancel() sem.release() + await asyncio.sleep(0) await asyncio.sleep(0) num_done = sum(t.done() for t in [t3, t4]) self.assertEqual(num_done, 1) @@ -904,9 +910,32 @@ async def test_acquire_hang(self): t1.cancel() sem.release() await asyncio.sleep(0) + await asyncio.sleep(0) self.assertTrue(sem.locked()) self.assertTrue(t2.done()) + async def test_acquire_no_hang(self): + + sem = asyncio.Semaphore(1) + + async def c1(): + async with sem: + await asyncio.sleep(0) + t2.cancel() + + async def c2(): + async with sem: + self.assertFalse(True) + + t1 = asyncio.create_task(c1()) + t2 = asyncio.create_task(c2()) + + r1, r2 = await asyncio.gather(t1, t2, return_exceptions=True) + self.assertTrue(r1 is None) + self.assertTrue(isinstance(r2, asyncio.CancelledError)) + + await asyncio.wait_for(sem.acquire(), timeout=1.0) + def test_release_not_acquired(self): sem = asyncio.BoundedSemaphore() @@ -945,6 +974,77 @@ async def coro(tag): result ) + async def test_acquire_fifo_order_2(self): + sem = asyncio.Semaphore(1) + result = [] + + async def c1(result): + await sem.acquire() + result.append(1) + return True + + async def c2(result): + await sem.acquire() + result.append(2) + sem.release() + await sem.acquire() + result.append(4) + return True + + async def c3(result): + await sem.acquire() + result.append(3) + return True + + t1 = asyncio.create_task(c1(result)) + t2 = asyncio.create_task(c2(result)) + t3 = asyncio.create_task(c3(result)) + + await asyncio.sleep(0) + + sem.release() + sem.release() + + tasks = [t1, t2, t3] + await asyncio.gather(*tasks) + self.assertEqual([1, 2, 3, 4], result) + + async def test_acquire_fifo_order_3(self): + sem = asyncio.Semaphore(0) + result = [] + + async def c1(result): + await sem.acquire() + result.append(1) + return True + + async def c2(result): + await sem.acquire() + result.append(2) + return True + + async def c3(result): + await sem.acquire() + result.append(3) + return True + + t1 = asyncio.create_task(c1(result)) + t2 = asyncio.create_task(c2(result)) + t3 = asyncio.create_task(c3(result)) + + await asyncio.sleep(0) + + t1.cancel() + + await asyncio.sleep(0) + + sem.release() + sem.release() + + tasks = [t1, t2, t3] + await asyncio.gather(*tasks, return_exceptions=True) + self.assertEqual([2, 3], result) + class BarrierTests(unittest.IsolatedAsyncioTestCase): diff --git a/Misc/NEWS.d/next/Library/2022-05-25-15-57-39.gh-issue-90155.YMstB5.rst b/Misc/NEWS.d/next/Library/2022-05-25-15-57-39.gh-issue-90155.YMstB5.rst new file mode 100644 index 00000000000000..8def76914eda08 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-05-25-15-57-39.gh-issue-90155.YMstB5.rst @@ -0,0 +1 @@ +Fix broken :class:`asyncio.Semaphore` when acquire is cancelled. From 6a646dd1ffa9ccc9130e09fdd2f5b75652c4f121 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 22 Sep 2022 10:17:53 -0700 Subject: [PATCH 042/494] GH-96975: Skip incomplete frames in PyEval_GetFrame (GH-97018) (cherry picked from commit 8fd2c3b75b90c4ee391894aa5094615bbdb6242f) Co-authored-by: Brandt Bucher --- Lib/test/test_embed.py | 3 + ...2-09-21-16-06-37.gh-issue-96975.BmE0XY.rst | 2 + Programs/_testembed.c | 68 +++++++++++++++++++ Python/ceval.c | 9 ++- 4 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-21-16-06-37.gh-issue-96975.BmE0XY.rst diff --git a/Lib/test/test_embed.py b/Lib/test/test_embed.py index 90022db0c51c34..b8e3c37bbda3fe 100644 --- a/Lib/test/test_embed.py +++ b/Lib/test/test_embed.py @@ -1709,6 +1709,9 @@ def test_audit_run_stdin(self): timeout=support.SHORT_TIMEOUT, returncode=1) + def test_get_incomplete_frame(self): + self.run_embedded_interpreter("test_get_incomplete_frame") + class MiscTests(EmbeddingTestsMixin, unittest.TestCase): def test_unicode_id_init(self): diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-21-16-06-37.gh-issue-96975.BmE0XY.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-21-16-06-37.gh-issue-96975.BmE0XY.rst new file mode 100644 index 00000000000000..e6fcb84d7bff23 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-21-16-06-37.gh-issue-96975.BmE0XY.rst @@ -0,0 +1,2 @@ +Fix a crash occurring when :c:func:`PyEval_GetFrame` is called while the +topmost Python frame is in a partially-initialized state. diff --git a/Programs/_testembed.c b/Programs/_testembed.c index a2a2ff40b2774b..e5b138ce84bbe8 100644 --- a/Programs/_testembed.c +++ b/Programs/_testembed.c @@ -1950,6 +1950,73 @@ static int test_repeated_init_and_inittab(void) return 0; } +static void wrap_allocator(PyMemAllocatorEx *allocator); +static void unwrap_allocator(PyMemAllocatorEx *allocator); + +static void * +malloc_wrapper(void *ctx, size_t size) +{ + PyMemAllocatorEx *allocator = (PyMemAllocatorEx *)ctx; + unwrap_allocator(allocator); + PyEval_GetFrame(); // BOOM! + wrap_allocator(allocator); + return allocator->malloc(allocator->ctx, size); +} + +static void * +calloc_wrapper(void *ctx, size_t nelem, size_t elsize) +{ + PyMemAllocatorEx *allocator = (PyMemAllocatorEx *)ctx; + return allocator->calloc(allocator->ctx, nelem, elsize); +} + +static void * +realloc_wrapper(void *ctx, void *ptr, size_t new_size) +{ + PyMemAllocatorEx *allocator = (PyMemAllocatorEx *)ctx; + return allocator->realloc(allocator->ctx, ptr, new_size); +} + +static void +free_wrapper(void *ctx, void *ptr) +{ + PyMemAllocatorEx *allocator = (PyMemAllocatorEx *)ctx; + allocator->free(allocator->ctx, ptr); +} + +static void +wrap_allocator(PyMemAllocatorEx *allocator) +{ + PyMem_GetAllocator(PYMEM_DOMAIN_OBJ, allocator); + PyMemAllocatorEx wrapper = { + .malloc = &malloc_wrapper, + .calloc = &calloc_wrapper, + .realloc = &realloc_wrapper, + .free = &free_wrapper, + .ctx = allocator, + }; + PyMem_SetAllocator(PYMEM_DOMAIN_OBJ, &wrapper); +} + +static void +unwrap_allocator(PyMemAllocatorEx *allocator) +{ + PyMem_SetAllocator(PYMEM_DOMAIN_OBJ, allocator); +} + +static int +test_get_incomplete_frame(void) +{ + _testembed_Py_Initialize(); + PyMemAllocatorEx allocator; + wrap_allocator(&allocator); + // Force an allocation with an incomplete (generator) frame: + int result = PyRun_SimpleString("(_ for _ in ())"); + unwrap_allocator(&allocator); + Py_Finalize(); + return result; +} + /* ********************************************************* * List of test cases and the function that implements it. @@ -2032,6 +2099,7 @@ static struct TestCase TestCases[] = { #ifndef MS_WINDOWS {"test_frozenmain", test_frozenmain}, #endif + {"test_get_incomplete_frame", test_get_incomplete_frame}, {NULL, NULL} }; diff --git a/Python/ceval.c b/Python/ceval.c index 07a5461daf30f2..c5283ace43cfb1 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -7116,11 +7116,14 @@ _PyEval_GetFrame(void) PyFrameObject * PyEval_GetFrame(void) { - PyThreadState *tstate = _PyThreadState_GET(); - if (tstate->cframe->current_frame == NULL) { + _PyInterpreterFrame *frame = _PyEval_GetFrame(); + while (frame && _PyFrame_IsIncomplete(frame)) { + frame = frame->previous; + } + if (frame == NULL) { return NULL; } - PyFrameObject *f = _PyFrame_GetFrameObject(tstate->cframe->current_frame); + PyFrameObject *f = _PyFrame_GetFrameObject(frame); if (f == NULL) { PyErr_Clear(); } From 6642d8a0f9f3fb1e9594883c3ddcb135a580f223 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 22 Sep 2022 10:24:54 -0700 Subject: [PATCH 043/494] GH-85760: Fix race in calling process_exited callback too early (GH-97009) (cherry picked from commit 282edd7b2a74c4dfe1bfe3c5b1d30f9c21d554d6) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> --- Lib/asyncio/unix_events.py | 3 ++- .../next/Library/2022-09-22-11-50-29.gh-issue-85760.DETTPd.rst | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-22-11-50-29.gh-issue-85760.DETTPd.rst diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py index cf7683fee64621..96e6d73a759794 100644 --- a/Lib/asyncio/unix_events.py +++ b/Lib/asyncio/unix_events.py @@ -223,7 +223,8 @@ async def _make_subprocess_transport(self, protocol, args, shell, return transp def _child_watcher_callback(self, pid, returncode, transp): - self.call_soon_threadsafe(transp._process_exited, returncode) + # Skip one iteration for callbacks to be executed + self.call_soon_threadsafe(self.call_soon, transp._process_exited, returncode) async def create_unix_connection( self, protocol_factory, path=None, *, diff --git a/Misc/NEWS.d/next/Library/2022-09-22-11-50-29.gh-issue-85760.DETTPd.rst b/Misc/NEWS.d/next/Library/2022-09-22-11-50-29.gh-issue-85760.DETTPd.rst new file mode 100644 index 00000000000000..af8ae2026f16d3 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-22-11-50-29.gh-issue-85760.DETTPd.rst @@ -0,0 +1 @@ +Fix race condition in :mod:`asyncio` where :meth:`~asyncio.SubprocessProtocol.process_exited` called before the :meth:`~asyncio.SubprocessProtocol.pipe_data_received` leading to inconsistent output. Patch by Kumar Aditya. From 9eb1e6c692a2f1cc8e34c312b3dc6f24e9466b56 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 22 Sep 2022 11:18:02 -0700 Subject: [PATCH 044/494] gh-96397: Document that keywords in calls need not be identifiers (GH-96393) This represents the official SC stance, see https://github.com/python/steering-council/issues/142GH-issuecomment-1252172695 (cherry picked from commit 9d432b4a181cd42017699de4354e7b36c5b87d88) Co-authored-by: Jeff Allen --- Doc/reference/expressions.rst | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index 6bf21a7dde49a0..edba1c834a5a2b 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -1054,10 +1054,20 @@ used in the same call, so in practice this confusion does not often arise. If the syntax ``**expression`` appears in the function call, ``expression`` must evaluate to a :term:`mapping`, the contents of which are treated as -additional keyword arguments. If a keyword is already present -(as an explicit keyword argument, or from another unpacking), +additional keyword arguments. If a parameter matching a key has already been +given a value (by an explicit keyword argument, or from another unpacking), a :exc:`TypeError` exception is raised. +When ``**expression`` is used, each key in this mapping must be +a string. +Each value from the mapping is assigned to the first formal parameter +eligible for keyword assignment whose name is equal to the key. +A key need not be a Python identifier (e.g. ``"max-temp °F"`` is acceptable, +although it will not match any formal parameter that could be declared). +If there is no match to a formal parameter +the key-value pair is collected by the ``**`` parameter, if there is one, +or if there is not, a :exc:`TypeError` exception is raised. + Formal parameters using the syntax ``*identifier`` or ``**identifier`` cannot be used as positional argument slots or as keyword argument names. From 29f17a4ad8bd92539aab9cb4af64b581d1ba9ae6 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 22 Sep 2022 20:20:50 -0700 Subject: [PATCH 045/494] gh-96761: Fix build process of the clang compiler for _bootstrap_python (gh-96945) Co-authored-by: Matthias Goergens (cherry picked from commit 83d84e67cd203cc75687152e57572895f56245fa) Co-authored-by: Dong-hee Na --- ...2-09-20-12-43-44.gh-issue-96761.IF29kR.rst | 2 + configure | 39 ++++++++++++++++++- configure.ac | 6 ++- 3 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Build/2022-09-20-12-43-44.gh-issue-96761.IF29kR.rst diff --git a/Misc/NEWS.d/next/Build/2022-09-20-12-43-44.gh-issue-96761.IF29kR.rst b/Misc/NEWS.d/next/Build/2022-09-20-12-43-44.gh-issue-96761.IF29kR.rst new file mode 100644 index 00000000000000..18f75ac489105e --- /dev/null +++ b/Misc/NEWS.d/next/Build/2022-09-20-12-43-44.gh-issue-96761.IF29kR.rst @@ -0,0 +1,2 @@ +Fix the build process of clang compiler for :program:`_bootstrap_python` if +LTO optimization is applied. Patch by Matthias Görgens and Dong-hee Na. diff --git a/configure b/configure index 083ee0e5906743..a150b7767d02a6 100755 --- a/configure +++ b/configure @@ -7566,7 +7566,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PROFILE_TASK" >&5 $as_echo "$PROFILE_TASK" >&6; } -# Make llvm-relatec checks work on systems where llvm tools are not installed with their +# Make llvm-related checks work on systems where llvm tools are not installed with their # normal names in the default $PATH (ie: Ubuntu). They exist under the # non-suffixed name in their versioned llvm directory. @@ -7631,7 +7631,42 @@ fi if test "$Py_LTO" = 'true' ; then case $CC in *clang*) - LDFLAGS_NOLTO="-fno-lto" + LDFLAGS_NOLTO="-fno-lto" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -flto=thin" >&5 +$as_echo_n "checking whether C compiler accepts -flto=thin... " >&6; } +if ${ax_cv_check_cflags___flto_thin+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -flto=thin" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___flto_thin=yes +else + ax_cv_check_cflags___flto_thin=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___flto_thin" >&5 +$as_echo "$ax_cv_check_cflags___flto_thin" >&6; } +if test "x$ax_cv_check_cflags___flto_thin" = xyes; then : + LDFLAGS_NOLTO="-flto=thin" +else + LDFLAGS_NOLTO="-flto" +fi + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}llvm-ar", so it can be a program name with args. diff --git a/configure.ac b/configure.ac index d9a6f686b59eba..79dc1f159a1bd2 100644 --- a/configure.ac +++ b/configure.ac @@ -1782,7 +1782,7 @@ then fi AC_MSG_RESULT($PROFILE_TASK) -# Make llvm-relatec checks work on systems where llvm tools are not installed with their +# Make llvm-related checks work on systems where llvm tools are not installed with their # normal names in the default $PATH (ie: Ubuntu). They exist under the # non-suffixed name in their versioned llvm directory. @@ -1836,8 +1836,10 @@ esac if test "$Py_LTO" = 'true' ; then case $CC in *clang*) - dnl flag to disable lto during linking LDFLAGS_NOLTO="-fno-lto" + dnl Clang linker requires -flto in order to link objects with LTO information. + dnl Thin LTO is faster and works for object files with full LTO information, too. + AX_CHECK_COMPILE_FLAG([-flto=thin],[LDFLAGS_NOLTO="-flto=thin"],[LDFLAGS_NOLTO="-flto"]) AC_SUBST(LLVM_AR) AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path}) AC_SUBST(LLVM_AR_FOUND) From c29d9b599f2f789f5adc09c691b08c83dbf16f7f Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 23 Sep 2022 03:54:53 -0700 Subject: [PATCH 046/494] gh-75608: Add Windows FAQ entry for missing UCRT (GH-92765) (cherry picked from commit 80bc7d7c0a3f777da244ec79429baf382523b8da) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/faq/windows.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Doc/faq/windows.rst b/Doc/faq/windows.rst index df7ab71f4b6625..7768aafd979685 100644 --- a/Doc/faq/windows.rst +++ b/Doc/faq/windows.rst @@ -276,3 +276,11 @@ How do I check for a keypress without blocking? Use the :mod:`msvcrt` module. This is a standard Windows-specific extension module. It defines a function ``kbhit()`` which checks whether a keyboard hit is present, and ``getch()`` which gets one character without echoing it. + +How do I solve the missing api-ms-win-crt-runtime-l1-1-0.dll error? +------------------------------------------------------------------- + +This can occur on Python 3.5 and later when using Windows 8.1 or earlier without all updates having been installed. +First ensure your operating system is supported and is up to date, and if that does not resolve the issue, +visit the `Microsoft support page `_ +for guidance on manually installing the C Runtime update. From dc9065f8c2ddc483d387d977e0818d131fa67420 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Fri, 23 Sep 2022 13:55:06 +0100 Subject: [PATCH 047/494] gh-77171: Document that wave only supports simple PCM files (GH-97510) --- Doc/library/wave.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/library/wave.rst b/Doc/library/wave.rst index f63e0d3dce19c6..d50aabd5b9c4d9 100644 --- a/Doc/library/wave.rst +++ b/Doc/library/wave.rst @@ -12,7 +12,8 @@ -------------- The :mod:`wave` module provides a convenient interface to the WAV sound format. -It does not support compression/decompression, but it does support mono/stereo. +Only files using ``WAVE_FORMAT_PCM`` are supported. Note that this does not +include files using ``WAVE_FORMAT_EXTENSIBLE`` even if the subformat is PCM. The :mod:`wave` module defines the following function and exception: From 512b305856c7d79509bfc42245545b9ec5f5e0c4 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 23 Sep 2022 08:23:41 -0700 Subject: [PATCH 048/494] gh-94781: Fix Windows projects not cleaning intermediate and output files for frozen modules (GH-96423) (cherry picked from commit 3e26de3c1f24bf0810eaaf7d75a4332775870e78) Co-authored-by: Charlie Zhao --- .../2022-08-30-12-01-51.gh-issue-94781.OxO-Gr.rst | 2 ++ PCbuild/_freeze_module.vcxproj | 4 ++++ PCbuild/pcbuild.proj | 12 ++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 Misc/NEWS.d/next/Windows/2022-08-30-12-01-51.gh-issue-94781.OxO-Gr.rst diff --git a/Misc/NEWS.d/next/Windows/2022-08-30-12-01-51.gh-issue-94781.OxO-Gr.rst b/Misc/NEWS.d/next/Windows/2022-08-30-12-01-51.gh-issue-94781.OxO-Gr.rst new file mode 100644 index 00000000000000..d343173d40d606 --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2022-08-30-12-01-51.gh-issue-94781.OxO-Gr.rst @@ -0,0 +1,2 @@ +Fix :file:`pcbuild.proj` to clean previous instances of ouput files in ``Python\deepfreeze`` and +``Python\frozen_modules`` directories on Windows. Patch by Charlie Zhao. diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj index 0a74f5850a1e8e..442e3437dac905 100644 --- a/PCbuild/_freeze_module.vcxproj +++ b/PCbuild/_freeze_module.vcxproj @@ -424,6 +424,10 @@ + + + + diff --git a/PCbuild/pcbuild.proj b/PCbuild/pcbuild.proj index 2ba0627b833695..222821adb1d76b 100644 --- a/PCbuild/pcbuild.proj +++ b/PCbuild/pcbuild.proj @@ -125,6 +125,12 @@ StopOnFirstFailure="false" Condition="%(CleanTarget) != ''" Targets="%(CleanTarget)" /> + @@ -140,6 +146,12 @@ StopOnFirstFailure="false" Condition="%(CleanAllTarget) != ''" Targets="%(CleanAllTarget)" /> + From c2916d2f0e8824caa1808c85859a26bfbc3e7515 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 23 Sep 2022 08:31:53 -0700 Subject: [PATCH 049/494] gh-96965: Update Windows release to libffi 3.4.3 (GH-97512) (cherry picked from commit f1cca801f50a92c0affede6bc22c3c1ec211358d) Co-authored-by: Steve Dower --- .../Windows/2022-09-23-15-40-04.gh-issue-96965.CsnEGs.rst | 1 + PCbuild/get_externals.bat | 4 ++-- PCbuild/python.props | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Windows/2022-09-23-15-40-04.gh-issue-96965.CsnEGs.rst diff --git a/Misc/NEWS.d/next/Windows/2022-09-23-15-40-04.gh-issue-96965.CsnEGs.rst b/Misc/NEWS.d/next/Windows/2022-09-23-15-40-04.gh-issue-96965.CsnEGs.rst new file mode 100644 index 00000000000000..de7aff0563e553 --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2022-09-23-15-40-04.gh-issue-96965.CsnEGs.rst @@ -0,0 +1 @@ +Update libffi to 3.4.3 diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat index cd211f13e355e5..9c6bc4eac496db 100644 --- a/PCbuild/get_externals.bat +++ b/PCbuild/get_externals.bat @@ -52,7 +52,7 @@ echo.Fetching external libraries... set libraries= set libraries=%libraries% bzip2-1.0.8 -if NOT "%IncludeLibffiSrc%"=="false" set libraries=%libraries% libffi-3.4.2 +if NOT "%IncludeLibffiSrc%"=="false" set libraries=%libraries% libffi-3.4.3 if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-1.1.1q set libraries=%libraries% sqlite-3.38.4.0 if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.12.1 @@ -76,7 +76,7 @@ for %%e in (%libraries%) do ( echo.Fetching external binaries... set binaries= -if NOT "%IncludeLibffi%"=="false" set binaries=%binaries% libffi-3.4.2 +if NOT "%IncludeLibffi%"=="false" set binaries=%binaries% libffi-3.4.3 if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-1.1.1q if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.12.1 if NOT "%IncludeSSLSrc%"=="false" set binaries=%binaries% nasm-2.11.06 diff --git a/PCbuild/python.props b/PCbuild/python.props index efcb480976b6a2..c3ab12e7c67250 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props @@ -64,8 +64,8 @@ $(ExternalsDir)sqlite-3.38.4.0\ $(ExternalsDir)bzip2-1.0.8\ $(ExternalsDir)xz-5.2.5\ - $(ExternalsDir)libffi-3.4.2\ - $(ExternalsDir)libffi-3.4.2\$(ArchName)\ + $(ExternalsDir)libffi-3.4.3\ + $(ExternalsDir)libffi-3.4.3\$(ArchName)\ $(libffiOutDir)include $(ExternalsDir)openssl-1.1.1q\ $(ExternalsDir)openssl-bin-1.1.1q\$(ArchName)\ From fe8db634d41c9da54ec74b8380357c192fcbc437 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 24 Sep 2022 15:09:08 -0700 Subject: [PATCH 050/494] gh-97527: IDLE: protect macosx Tk() call when no GUI (GH-97530) Only call tkinter.tk and its follow-up code in _init_tk_type when requires('gui') does not raise. This function can be called as an unintended side-effect of calling other idlelib code as part of tests on macOS without a GUI enabled. (cherry picked from commit 9704f8da333a51da32318f16106d45abb20fab76) Co-authored-by: Terry Jan Reedy --- Lib/idlelib/macosx.py | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/Lib/idlelib/macosx.py b/Lib/idlelib/macosx.py index 53848fb079eab1..12399f152aea2a 100644 --- a/Lib/idlelib/macosx.py +++ b/Lib/idlelib/macosx.py @@ -4,6 +4,7 @@ from os.path import expanduser import plistlib from sys import platform # Used in _init_tk_type, changed by test. +from test.support import requires, ResourceDenied import tkinter @@ -14,23 +15,26 @@ _tk_type = None def _init_tk_type(): - """ - Initializes OS X Tk variant values for - isAquaTk(), isCarbonTk(), isCocoaTk(), and isXQuartz(). + """ Initialize _tk_type for isXyzTk functions. """ global _tk_type if platform == 'darwin': - root = tkinter.Tk() - ws = root.tk.call('tk', 'windowingsystem') - if 'x11' in ws: - _tk_type = "xquartz" - elif 'aqua' not in ws: - _tk_type = "other" - elif 'AppKit' in root.tk.call('winfo', 'server', '.'): - _tk_type = "cocoa" + try: + requires('gui') + except ResourceDenied: # Possible when testing. + _tk_type = "cocoa" # Newest and most common. else: - _tk_type = "carbon" - root.destroy() + root = tkinter.Tk() + ws = root.tk.call('tk', 'windowingsystem') + if 'x11' in ws: + _tk_type = "xquartz" + elif 'aqua' not in ws: + _tk_type = "other" + elif 'AppKit' in root.tk.call('winfo', 'server', '.'): + _tk_type = "cocoa" + else: + _tk_type = "carbon" + root.destroy() else: _tk_type = "other" From 4d1de8704215858e4db1c248b6caeed40338e887 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 25 Sep 2022 01:20:45 -0700 Subject: [PATCH 051/494] gh-96959: Update HTTP links which are redirected to HTTPS (GH-96961) (cherry picked from commit db39050396a104c73d0da473a2f00a62f9dfdfaa) Co-authored-by: Serhiy Storchaka --- Doc/about.rst | 2 +- Doc/faq/general.rst | 4 +- Doc/faq/library.rst | 2 +- Doc/faq/programming.rst | 2 +- Doc/howto/unicode.rst | 2 +- Doc/library/bisect.rst | 2 +- Doc/library/decimal.rst | 2 +- Doc/library/mailbox.rst | 2 +- Doc/library/multiprocessing.shared_memory.rst | 2 +- Doc/library/pickle.rst | 2 +- Doc/library/random.rst | 4 +- Doc/tutorial/inputoutput.rst | 2 +- Doc/whatsnew/2.6.rst | 6 +- Doc/whatsnew/3.1.rst | 2 +- Include/dynamic_annotations.h | 4 +- Lib/json/__init__.py | 2 +- Lib/json/decoder.py | 2 +- Lib/json/encoder.py | 2 +- Lib/test/test_ipaddress.py | 2 +- Lib/test/test_json/test_fail.py | 68 +++++++++---------- Lib/test/test_json/test_pass1.py | 2 +- Lib/test/test_json/test_pass2.py | 2 +- Lib/test/test_json/test_pass3.py | 2 +- Lib/wsgiref/validate.py | 4 +- 24 files changed, 63 insertions(+), 63 deletions(-) diff --git a/Doc/about.rst b/Doc/about.rst index 0ce35667924b92..5e6160ff2700ed 100644 --- a/Doc/about.rst +++ b/Doc/about.rst @@ -7,7 +7,7 @@ These documents are generated from `reStructuredText`_ sources by `Sphinx`_, a document processor specifically written for the Python documentation. .. _reStructuredText: https://docutils.sourceforge.io/rst.html -.. _Sphinx: http://sphinx-doc.org/ +.. _Sphinx: https://www.sphinx-doc.org/ .. In the online version of these documents, you can submit comments and suggest changes directly on the documentation pages. diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst index 6c7e4fc67c0a67..988f05757a8a62 100644 --- a/Doc/faq/general.rst +++ b/Doc/faq/general.rst @@ -182,7 +182,7 @@ at https://docs.python.org/3/. PDF, plain text, and downloadable HTML versions also available at https://docs.python.org/3/download.html. The documentation is written in reStructuredText and processed by `the Sphinx -documentation tool `__. The reStructuredText source for +documentation tool `__. The reStructuredText source for the documentation is part of the Python source distribution. @@ -264,7 +264,7 @@ Where in the world is www.python.org located? --------------------------------------------- The Python project's infrastructure is located all over the world and is managed -by the Python Infrastructure Team. Details `here `__. +by the Python Infrastructure Team. Details `here `__. Why is it called Python? diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst index 8167bf22f0b1ad..ad839891fdcc62 100644 --- a/Doc/faq/library.rst +++ b/Doc/faq/library.rst @@ -181,7 +181,7 @@ How do I create documentation from doc strings? The :mod:`pydoc` module can create HTML from the doc strings in your Python source code. An alternative for creating API documentation purely from docstrings is `epydoc `_. `Sphinx -`_ can also include docstring content. +`_ can also include docstring content. How do I get a single keypress at a time? diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index a3fb2fa5323cf6..e90c501c565e42 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -1270,7 +1270,7 @@ use a list comprehension:: A = [[None] * w for i in range(h)] Or, you can use an extension that provides a matrix datatype; `NumPy -`_ is the best known. +`_ is the best known. How do I apply a method to a sequence of objects? diff --git a/Doc/howto/unicode.rst b/Doc/howto/unicode.rst index 4969d2420d6ac9..ca09aee72bf879 100644 --- a/Doc/howto/unicode.rst +++ b/Doc/howto/unicode.rst @@ -517,7 +517,7 @@ References Some good alternative discussions of Python's Unicode support are: -* `Processing Text Files in Python 3 `_, by Nick Coghlan. +* `Processing Text Files in Python 3 `_, by Nick Coghlan. * `Pragmatic Unicode `_, a PyCon 2012 presentation by Ned Batchelder. The :class:`str` type is described in the Python library reference at diff --git a/Doc/library/bisect.rst b/Doc/library/bisect.rst index c2927c1ebd0e1b..9b40f80f5878a4 100644 --- a/Doc/library/bisect.rst +++ b/Doc/library/bisect.rst @@ -127,7 +127,7 @@ thoughts in mind: .. seealso:: * `Sorted Collections - `_ is a high performance + `_ is a high performance module that uses *bisect* to managed sorted collections of data. * The `SortedCollection recipe diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst index e7d3950fd14387..b7e836308fa8aa 100644 --- a/Doc/library/decimal.rst +++ b/Doc/library/decimal.rst @@ -114,7 +114,7 @@ reset them before monitoring a calculation. .. seealso:: * IBM's General Decimal Arithmetic Specification, `The General Decimal Arithmetic - Specification `_. + Specification `_. .. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Doc/library/mailbox.rst b/Doc/library/mailbox.rst index d74fc8059fd538..69751d5cbf4d0f 100644 --- a/Doc/library/mailbox.rst +++ b/Doc/library/mailbox.rst @@ -614,7 +614,7 @@ Supported mailbox formats are Maildir, mbox, MH, Babyl, and MMDF. .. seealso:: - `nmh - Message Handling System `_ + `nmh - Message Handling System `_ Home page of :program:`nmh`, an updated version of the original :program:`mh`. `MH & nmh: Email for Users & Programmers `_ diff --git a/Doc/library/multiprocessing.shared_memory.rst b/Doc/library/multiprocessing.shared_memory.rst index 127a82d47aa195..76046b34610abe 100644 --- a/Doc/library/multiprocessing.shared_memory.rst +++ b/Doc/library/multiprocessing.shared_memory.rst @@ -125,7 +125,7 @@ instances:: The following example demonstrates a practical use of the :class:`SharedMemory` -class with `NumPy arrays `_, accessing the +class with `NumPy arrays `_, accessing the same ``numpy.ndarray`` from two distinct Python shells: .. doctest:: diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst index 41b0f48f4611da..79476b04cd914d 100644 --- a/Doc/library/pickle.rst +++ b/Doc/library/pickle.rst @@ -90,7 +90,7 @@ Comparison with ``json`` ^^^^^^^^^^^^^^^^^^^^^^^^ There are fundamental differences between the pickle protocols and -`JSON (JavaScript Object Notation) `_: +`JSON (JavaScript Object Notation) `_: * JSON is a text serialization format (it outputs unicode text, although most of the time it is then encoded to ``utf-8``), while pickle is diff --git a/Doc/library/random.rst b/Doc/library/random.rst index cf9f04d969df70..28d83bb7f327f0 100644 --- a/Doc/library/random.rst +++ b/Doc/library/random.rst @@ -548,14 +548,14 @@ Simulation of arrival times and service deliveries for a multiserver queue:: including simulation, sampling, shuffling, and cross-validation. `Economics Simulation - `_ + `_ a simulation of a marketplace by `Peter Norvig `_ that shows effective use of many of the tools and distributions provided by this module (gauss, uniform, sample, betavariate, choice, triangular, and randrange). `A Concrete Introduction to Probability (using Python) - `_ + `_ a tutorial by `Peter Norvig `_ covering the basics of probability theory, how to write simulations, and how to perform data analysis using Python. diff --git a/Doc/tutorial/inputoutput.rst b/Doc/tutorial/inputoutput.rst index de84ab7fac8faa..3581b3727a53ea 100644 --- a/Doc/tutorial/inputoutput.rst +++ b/Doc/tutorial/inputoutput.rst @@ -478,7 +478,7 @@ becomes complicated. Rather than having users constantly writing and debugging code to save complicated data types to files, Python allows you to use the popular data interchange format called `JSON (JavaScript Object Notation) -`_. The standard module called :mod:`json` can take Python +`_. The standard module called :mod:`json` can take Python data hierarchies, and convert them to string representations; this process is called :dfn:`serializing`. Reconstructing the data from the string representation is called :dfn:`deserializing`. Between serializing and deserializing, the diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst index 3d0d18746a21cc..5a3c103f29a789 100644 --- a/Doc/whatsnew/2.6.rst +++ b/Doc/whatsnew/2.6.rst @@ -217,7 +217,7 @@ the time required to finish the job. During the 2.6 development cycle, Georg Brandl put a lot of effort into building a new toolchain for processing the documentation. The resulting package is called Sphinx, and is available from -http://sphinx-doc.org/. +https://www.sphinx-doc.org/. Sphinx concentrates on HTML output, producing attractively styled and modern HTML; printed output is still supported through conversion to @@ -235,7 +235,7 @@ have adopted Sphinx as their documentation tool. `Documenting Python `__ Describes how to write for Python's documentation. - `Sphinx `__ + `Sphinx `__ Documentation and code for the Sphinx toolchain. `Docutils `__ @@ -1926,7 +1926,7 @@ changes, or look through the Subversion logs for all the details. the left to six places. (Contributed by Skip Montanaro; :issue:`1158`.) * The :mod:`decimal` module was updated to version 1.66 of - `the General Decimal Specification `__. New features + `the General Decimal Specification `__. New features include some methods for some basic mathematical functions such as :meth:`exp` and :meth:`log10`:: diff --git a/Doc/whatsnew/3.1.rst b/Doc/whatsnew/3.1.rst index 6ce6358d49fbca..fba8816bb243a3 100644 --- a/Doc/whatsnew/3.1.rst +++ b/Doc/whatsnew/3.1.rst @@ -451,7 +451,7 @@ Major performance enhancements have been added: * The :mod:`json` module now has a C extension to substantially improve its performance. In addition, the API was modified so that json works only with :class:`str`, not with :class:`bytes`. That change makes the - module closely match the `JSON specification `_ + module closely match the `JSON specification `_ which is defined in terms of Unicode. (Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou diff --git a/Include/dynamic_annotations.h b/Include/dynamic_annotations.h index 0bd1a833c2e5a5..4d4def9bf8983e 100644 --- a/Include/dynamic_annotations.h +++ b/Include/dynamic_annotations.h @@ -44,7 +44,7 @@ Actual implementation of these macros may differ depending on the dynamic analysis tool being used. - See http://code.google.com/p/data-race-test/ for more information. + See https://code.google.com/p/data-race-test/ for more information. This file supports the following dynamic analysis tools: - None (DYNAMIC_ANNOTATIONS_ENABLED is not defined or zero). @@ -140,7 +140,7 @@ of the mutex's critical sections individually using the annotations above. This annotation makes sense only for hybrid race detectors. For pure happens-before detectors this is a no-op. For more details see - http://code.google.com/p/data-race-test/wiki/PureHappensBeforeVsHybrid . */ + https://code.google.com/p/data-race-test/wiki/PureHappensBeforeVsHybrid . */ #define _Py_ANNOTATE_PURE_HAPPENS_BEFORE_MUTEX(mu) \ AnnotateMutexIsUsedAsCondVar(__FILE__, __LINE__, mu) diff --git a/Lib/json/__init__.py b/Lib/json/__init__.py index e4c21daaf3e47f..ed2c74771ea87d 100644 --- a/Lib/json/__init__.py +++ b/Lib/json/__init__.py @@ -1,4 +1,4 @@ -r"""JSON (JavaScript Object Notation) is a subset of +r"""JSON (JavaScript Object Notation) is a subset of JavaScript syntax (ECMA-262 3rd edition) used as a lightweight data interchange format. diff --git a/Lib/json/decoder.py b/Lib/json/decoder.py index d7d824454e1ba3..c5d9ae2d0d5d04 100644 --- a/Lib/json/decoder.py +++ b/Lib/json/decoder.py @@ -252,7 +252,7 @@ def JSONArray(s_and_end, scan_once, _w=WHITESPACE.match, _ws=WHITESPACE_STR): class JSONDecoder(object): - """Simple JSON decoder + """Simple JSON decoder Performs the following translations in decoding by default: diff --git a/Lib/json/encoder.py b/Lib/json/encoder.py index 864f46d9dbb726..45f547741885a8 100644 --- a/Lib/json/encoder.py +++ b/Lib/json/encoder.py @@ -72,7 +72,7 @@ def replace(match): c_encode_basestring_ascii or py_encode_basestring_ascii) class JSONEncoder(object): - """Extensible JSON encoder for Python data structures. + """Extensible JSON encoder for Python data structures. Supports the following objects and types by default: diff --git a/Lib/test/test_ipaddress.py b/Lib/test/test_ipaddress.py index c9ae7dab387ced..5c656c49e2e75f 100644 --- a/Lib/test/test_ipaddress.py +++ b/Lib/test/test_ipaddress.py @@ -1652,7 +1652,7 @@ def testNth(self): self.assertRaises(IndexError, self.ipv6_scoped_network.__getitem__, 1 << 64) def testGetitem(self): - # http://code.google.com/p/ipaddr-py/issues/detail?id=15 + # https://code.google.com/p/ipaddr-py/issues/detail?id=15 addr = ipaddress.IPv4Network('172.31.255.128/255.255.255.240') self.assertEqual(28, addr.prefixlen) addr_list = list(addr) diff --git a/Lib/test/test_json/test_fail.py b/Lib/test/test_json/test_fail.py index eb9064edea9115..efc982e8b0eb04 100644 --- a/Lib/test/test_json/test_fail.py +++ b/Lib/test/test_json/test_fail.py @@ -2,73 +2,73 @@ # 2007-10-05 JSONDOCS = [ - # http://json.org/JSON_checker/test/fail1.json + # https://json.org/JSON_checker/test/fail1.json '"A JSON payload should be an object or array, not a string."', - # http://json.org/JSON_checker/test/fail2.json + # https://json.org/JSON_checker/test/fail2.json '["Unclosed array"', - # http://json.org/JSON_checker/test/fail3.json + # https://json.org/JSON_checker/test/fail3.json '{unquoted_key: "keys must be quoted"}', - # http://json.org/JSON_checker/test/fail4.json + # https://json.org/JSON_checker/test/fail4.json '["extra comma",]', - # http://json.org/JSON_checker/test/fail5.json + # https://json.org/JSON_checker/test/fail5.json '["double extra comma",,]', - # http://json.org/JSON_checker/test/fail6.json + # https://json.org/JSON_checker/test/fail6.json '[ , "<-- missing value"]', - # http://json.org/JSON_checker/test/fail7.json + # https://json.org/JSON_checker/test/fail7.json '["Comma after the close"],', - # http://json.org/JSON_checker/test/fail8.json + # https://json.org/JSON_checker/test/fail8.json '["Extra close"]]', - # http://json.org/JSON_checker/test/fail9.json + # https://json.org/JSON_checker/test/fail9.json '{"Extra comma": true,}', - # http://json.org/JSON_checker/test/fail10.json + # https://json.org/JSON_checker/test/fail10.json '{"Extra value after close": true} "misplaced quoted value"', - # http://json.org/JSON_checker/test/fail11.json + # https://json.org/JSON_checker/test/fail11.json '{"Illegal expression": 1 + 2}', - # http://json.org/JSON_checker/test/fail12.json + # https://json.org/JSON_checker/test/fail12.json '{"Illegal invocation": alert()}', - # http://json.org/JSON_checker/test/fail13.json + # https://json.org/JSON_checker/test/fail13.json '{"Numbers cannot have leading zeroes": 013}', - # http://json.org/JSON_checker/test/fail14.json + # https://json.org/JSON_checker/test/fail14.json '{"Numbers cannot be hex": 0x14}', - # http://json.org/JSON_checker/test/fail15.json + # https://json.org/JSON_checker/test/fail15.json '["Illegal backslash escape: \\x15"]', - # http://json.org/JSON_checker/test/fail16.json + # https://json.org/JSON_checker/test/fail16.json '[\\naked]', - # http://json.org/JSON_checker/test/fail17.json + # https://json.org/JSON_checker/test/fail17.json '["Illegal backslash escape: \\017"]', - # http://json.org/JSON_checker/test/fail18.json + # https://json.org/JSON_checker/test/fail18.json '[[[[[[[[[[[[[[[[[[[["Too deep"]]]]]]]]]]]]]]]]]]]]', - # http://json.org/JSON_checker/test/fail19.json + # https://json.org/JSON_checker/test/fail19.json '{"Missing colon" null}', - # http://json.org/JSON_checker/test/fail20.json + # https://json.org/JSON_checker/test/fail20.json '{"Double colon":: null}', - # http://json.org/JSON_checker/test/fail21.json + # https://json.org/JSON_checker/test/fail21.json '{"Comma instead of colon", null}', - # http://json.org/JSON_checker/test/fail22.json + # https://json.org/JSON_checker/test/fail22.json '["Colon instead of comma": false]', - # http://json.org/JSON_checker/test/fail23.json + # https://json.org/JSON_checker/test/fail23.json '["Bad value", truth]', - # http://json.org/JSON_checker/test/fail24.json + # https://json.org/JSON_checker/test/fail24.json "['single quote']", - # http://json.org/JSON_checker/test/fail25.json + # https://json.org/JSON_checker/test/fail25.json '["\ttab\tcharacter\tin\tstring\t"]', - # http://json.org/JSON_checker/test/fail26.json + # https://json.org/JSON_checker/test/fail26.json '["tab\\ character\\ in\\ string\\ "]', - # http://json.org/JSON_checker/test/fail27.json + # https://json.org/JSON_checker/test/fail27.json '["line\nbreak"]', - # http://json.org/JSON_checker/test/fail28.json + # https://json.org/JSON_checker/test/fail28.json '["line\\\nbreak"]', - # http://json.org/JSON_checker/test/fail29.json + # https://json.org/JSON_checker/test/fail29.json '[0e]', - # http://json.org/JSON_checker/test/fail30.json + # https://json.org/JSON_checker/test/fail30.json '[0e+]', - # http://json.org/JSON_checker/test/fail31.json + # https://json.org/JSON_checker/test/fail31.json '[0e+-1]', - # http://json.org/JSON_checker/test/fail32.json + # https://json.org/JSON_checker/test/fail32.json '{"Comma instead if closing brace": true,', - # http://json.org/JSON_checker/test/fail33.json + # https://json.org/JSON_checker/test/fail33.json '["mismatch"}', - # http://code.google.com/p/simplejson/issues/detail?id=3 + # https://code.google.com/archive/p/simplejson/issues/3 '["A\u001FZ control characters in string"]', ] diff --git a/Lib/test/test_json/test_pass1.py b/Lib/test/test_json/test_pass1.py index 15e64b0aeae709..26bf3cdbd77303 100644 --- a/Lib/test/test_json/test_pass1.py +++ b/Lib/test/test_json/test_pass1.py @@ -1,7 +1,7 @@ from test.test_json import PyTest, CTest -# from http://json.org/JSON_checker/test/pass1.json +# from https://json.org/JSON_checker/test/pass1.json JSON = r''' [ "JSON Test Pattern pass1", diff --git a/Lib/test/test_json/test_pass2.py b/Lib/test/test_json/test_pass2.py index 35075249e3bc6f..9340de665aabe5 100644 --- a/Lib/test/test_json/test_pass2.py +++ b/Lib/test/test_json/test_pass2.py @@ -1,7 +1,7 @@ from test.test_json import PyTest, CTest -# from http://json.org/JSON_checker/test/pass2.json +# from https://json.org/JSON_checker/test/pass2.json JSON = r''' [[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]] ''' diff --git a/Lib/test/test_json/test_pass3.py b/Lib/test/test_json/test_pass3.py index cd0cf170d275c5..0adccc1c2a5316 100644 --- a/Lib/test/test_json/test_pass3.py +++ b/Lib/test/test_json/test_pass3.py @@ -1,7 +1,7 @@ from test.test_json import PyTest, CTest -# from http://json.org/JSON_checker/test/pass3.json +# from https://json.org/JSON_checker/test/pass3.json JSON = r''' { "JSON Test Pattern pass3": { diff --git a/Lib/wsgiref/validate.py b/Lib/wsgiref/validate.py index 6e16578dbb648f..6044e320a474c6 100644 --- a/Lib/wsgiref/validate.py +++ b/Lib/wsgiref/validate.py @@ -1,6 +1,6 @@ # (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org) -# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php -# Also licenced under the Apache License, 2.0: http://opensource.org/licenses/apache2.0.php +# Licensed under the MIT license: https://opensource.org/licenses/mit-license.php +# Also licenced under the Apache License, 2.0: https://opensource.org/licenses/apache2.0.php # Licensed to PSF under a Contributor Agreement """ Middleware to check for obedience to the WSGI specification. From a386d1341c29b093ba496373934a4a58eb5dd342 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 25 Sep 2022 01:21:00 -0700 Subject: [PATCH 052/494] gh-96052: codeop: fix handling compiler warnings in incomplete input (GH-96132) Previously codeop.compile_command() emitted compiler warnings (SyntaxWarning or DeprecationWarning) and raised a SyntaxError for incomplete input containing a potentially incorrect code. Now it always returns None for incomplete input without emitting any warnings. (cherry picked from commit 426d72e7ddb0af5cf851914ac75127186dd1ff04) Co-authored-by: Serhiy Storchaka --- Lib/codeop.py | 26 +++++++++---------- Lib/test/test_codeop.py | 20 ++++++++++++++ ...2-08-20-10-31-01.gh-issue-96052.a6FhaD.rst | 4 +++ 3 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-08-20-10-31-01.gh-issue-96052.a6FhaD.rst diff --git a/Lib/codeop.py b/Lib/codeop.py index 45a378baba4337..2213b69f231f92 100644 --- a/Lib/codeop.py +++ b/Lib/codeop.py @@ -56,22 +56,22 @@ def _maybe_compile(compiler, source, filename, symbol): if symbol != "eval": source = "pass" # Replace it with a 'pass' statement - try: - return compiler(source, filename, symbol) - except SyntaxError: # Let other compile() errors propagate. - pass - - # Catch syntax warnings after the first compile - # to emit warnings (SyntaxWarning, DeprecationWarning) at most once. + # Disable compiler warnings when checking for incomplete input. with warnings.catch_warnings(): - warnings.simplefilter("error") - + warnings.simplefilter("ignore", (SyntaxWarning, DeprecationWarning)) try: - compiler(source + "\n", filename, symbol) - except SyntaxError as e: - if "incomplete input" in str(e): + compiler(source, filename, symbol) + except SyntaxError: # Let other compile() errors propagate. + try: + compiler(source + "\n", filename, symbol) return None - raise + except SyntaxError as e: + if "incomplete input" in str(e): + return None + # fallthrough + + return compiler(source, filename, symbol) + def _is_syntax_error(err1, err2): rep1 = repr(err1) diff --git a/Lib/test/test_codeop.py b/Lib/test/test_codeop.py index 17376c7ed7537e..133096d25a44bc 100644 --- a/Lib/test/test_codeop.py +++ b/Lib/test/test_codeop.py @@ -321,6 +321,26 @@ def test_warning(self): warnings.simplefilter('error', SyntaxWarning) compile_command('1 is 1', symbol='exec') + # Check DeprecationWarning treated as an SyntaxError + with warnings.catch_warnings(), self.assertRaises(SyntaxError): + warnings.simplefilter('error', DeprecationWarning) + compile_command(r"'\e'", symbol='exec') + + def test_incomplete_warning(self): + with warnings.catch_warnings(record=True) as w: + warnings.simplefilter('always') + self.assertIncomplete("'\\e' + (") + self.assertEqual(w, []) + + def test_invalid_warning(self): + with warnings.catch_warnings(record=True) as w: + warnings.simplefilter('always') + self.assertInvalid("'\\e' 1") + self.assertEqual(len(w), 1) + self.assertEqual(w[0].category, DeprecationWarning) + self.assertRegex(str(w[0].message), 'invalid escape sequence') + self.assertEqual(w[0].filename, '') + if __name__ == "__main__": unittest.main() diff --git a/Misc/NEWS.d/next/Library/2022-08-20-10-31-01.gh-issue-96052.a6FhaD.rst b/Misc/NEWS.d/next/Library/2022-08-20-10-31-01.gh-issue-96052.a6FhaD.rst new file mode 100644 index 00000000000000..c190fb7dbcb9da --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-08-20-10-31-01.gh-issue-96052.a6FhaD.rst @@ -0,0 +1,4 @@ +Fix handling compiler warnings (SyntaxWarning and DeprecationWarning) in +:func:`codeop.compile_command` when checking for incomplete input. +Previously it emitted warnings and raised a SyntaxError. Now it always +returns ``None`` for incomplete input without emitting any warnings. From 6daff06fc26e6a9978a72cc6649783a8270058e2 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 25 Sep 2022 01:21:58 -0700 Subject: [PATCH 053/494] gh-94808: Coverage: Test uppercase string literal prefixes (GH-95925) (cherry picked from commit f00383ec9bb9452fd9d5f5003f123e68fc4a71d8) Co-authored-by: Michael Droettboom --- Lib/test/test_string_literals.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Lib/test/test_string_literals.py b/Lib/test/test_string_literals.py index 3a3830bcb6e96f..7247b7e48bc2b6 100644 --- a/Lib/test/test_string_literals.py +++ b/Lib/test/test_string_literals.py @@ -266,6 +266,13 @@ def test_eval_str_u(self): self.assertRaises(SyntaxError, eval, """ bu'' """) self.assertRaises(SyntaxError, eval, """ ub'' """) + def test_uppercase_prefixes(self): + self.assertEqual(eval(""" B'x' """), b'x') + self.assertEqual(eval(r""" R'\x01' """), r'\x01') + self.assertEqual(eval(r""" BR'\x01' """), br'\x01') + self.assertEqual(eval(""" F'{1+1}' """), f'{1+1}') + self.assertEqual(eval(r""" U'\U0001d120' """), u'\U0001d120') + def check_encoding(self, encoding, extra=""): modname = "xx_" + encoding.replace("-", "_") fn = os.path.join(self.tmpdir, modname + ".py") From 54bb8f9af4f0198aa5f1f6b6710f8a109ae8f261 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 25 Sep 2022 02:02:09 -0700 Subject: [PATCH 054/494] gh-97519: Synchronize links in other copies of HISTORY OF THE SOFTWARE (GH-97520) HTTP links in the "HISTORY OF THE SOFTWARE" section of Doc/license.rst were converted to HTTPS in f62ff97f31a775cc7956adeae32c14e7c85bdc15. But there were other copies of these links, which were left HTTP links. (cherry picked from commit ea4be278fa6123d1f78c1fd556d79b311cd59f96) Co-authored-by: Serhiy Storchaka --- LICENSE | 6 +++--- Mac/BuildScript/resources/License.rtf | 8 ++++---- Misc/HISTORY | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/LICENSE b/LICENSE index 02a5145f0e3852..9838d443f9fc02 100644 --- a/LICENSE +++ b/LICENSE @@ -2,12 +2,12 @@ A. HISTORY OF THE SOFTWARE ========================== Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands +Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands as a successor of a language called ABC. Guido remains Python's principal author, although it includes many contributions from others. In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) +National Research Initiatives (CNRI, see https://www.cnri.reston.va.us) in Reston, Virginia where he released several versions of the software. @@ -19,7 +19,7 @@ https://www.python.org/psf/) was formed, a non-profit organization created specifically to own Python-related Intellectual Property. Zope Corporation was a sponsoring member of the PSF. -All Python releases are Open Source (see http://www.opensource.org for +All Python releases are Open Source (see https://opensource.org for the Open Source Definition). Historically, most, but not all, Python releases have also been GPL-compatible; the table below summarizes the various releases. diff --git a/Mac/BuildScript/resources/License.rtf b/Mac/BuildScript/resources/License.rtf index 7fe7e66f4c0b69..1255d1ce48ed6c 100644 --- a/Mac/BuildScript/resources/License.rtf +++ b/Mac/BuildScript/resources/License.rtf @@ -12,13 +12,13 @@ HISTORY OF THE SOFTWARE\ \f1\b0 \ulnone \ -Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands as a successor of a language called ABC. Guido remains Python's principal author, although it includes many contributions from others.\ +Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands as a successor of a language called ABC. Guido remains Python's principal author, although it includes many contributions from others.\ \ -In 1995, Guido continued his work on Python at the Corporation for National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) in Reston, Virginia where he released several versions of the software.\ +In 1995, Guido continued his work on Python at the Corporation for National Research Initiatives (CNRI, see https://www.cnri.reston.va.us) in Reston, Virginia where he released several versions of the software.\ \ -In May 2000, Guido and the Python core development team moved to BeOpen.com to form the BeOpen PythonLabs team. In October of the same year, the PythonLabs team moved to Digital Creations (now Zope Corporation, see http://www.zope.org). In 2001, the Python Software Foundation (PSF, see https://www.python.org/psf/) was formed, a non-profit organization created specifically to own Python-related Intellectual Property. Zope Corporation is a sponsoring member of the PSF.\ +In May 2000, Guido and the Python core development team moved to BeOpen.com to form the BeOpen PythonLabs team. In October of the same year, the PythonLabs team moved to Digital Creations (now Zope Corporation, see https://www.zope.dev). In 2001, the Python Software Foundation (PSF, see https://www.python.org/psf/) was formed, a non-profit organization created specifically to own Python-related Intellectual Property. Zope Corporation is a sponsoring member of the PSF.\ \ -All Python releases are Open Source (see http://www.opensource.org for the Open Source Definition). Historically, most, but not all, Python releases have also been GPL-compatible; the table below summarizes the various releases.\ +All Python releases are Open Source (see https://opensource.org for the Open Source Definition). Historically, most, but not all, Python releases have also been GPL-compatible; the table below summarizes the various releases.\ \ \f2\b Release Derived Year Owner GPL-\ diff --git a/Misc/HISTORY b/Misc/HISTORY index 570638869f92ed..0330c4891b1c36 100644 --- a/Misc/HISTORY +++ b/Misc/HISTORY @@ -19610,7 +19610,7 @@ durable way. For example, some people say they're confused by that the Open Source Initiative's entry for the Python Software Foundation License:: - http://www.opensource.org/licenses/PythonSoftFoundation.php + https://opensource.org/licenses/PythonSoftFoundation.php says "Python 2.1.1" all over it, wondering whether it applies only to Python 2.1.1. From cf61fa278e0a19a4aa5cb7cbd5c98ff2a84d481d Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 25 Sep 2022 21:15:52 -0700 Subject: [PATCH 055/494] gh-82530: Create blank function instead of invalid import for email example (GH-97529) Co-authored-by: Terry Jan Reedy (cherry picked from commit 2b428a1faed88f148ede131e3b86ab6227c6c3f0) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/includes/email-read-alternative.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Doc/includes/email-read-alternative.py b/Doc/includes/email-read-alternative.py index 5ea84e62584a46..8d0b4e6eb6b6b5 100644 --- a/Doc/includes/email-read-alternative.py +++ b/Doc/includes/email-read-alternative.py @@ -8,8 +8,15 @@ from email import policy from email.parser import BytesParser -# An imaginary module that would make this work and be safe. -from imaginary import magic_html_parser + +def magic_html_parser(html_text, partfiles): + """Return safety-sanitized html linked to partfiles. + + Rewrite the href="cid:...." attributes to point to the filenames in partfiles. + Though not trivial, this should be possible using html.parser. + """ + raise NotImplementedError("Add the magic needed") + # In a real program you'd get the filename from the arguments. with open('outgoing.msg', 'rb') as fp: @@ -62,9 +69,6 @@ print("Don't know how to display {}".format(richest.get_content_type())) sys.exit() with tempfile.NamedTemporaryFile(mode='w', delete=False) as f: - # The magic_html_parser has to rewrite the href="cid:...." attributes to - # point to the filenames in partfiles. It also has to do a safety-sanitize - # of the html. It could be written using html.parser. f.write(magic_html_parser(body.get_content(), partfiles)) webbrowser.open(f.name) os.remove(f.name) From a4ff0eaaf07364e45967ca96ccd6416c2aa2fd22 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 26 Sep 2022 08:43:26 -0700 Subject: [PATCH 056/494] gh-96848: Fix -X int_max_str_digits option parsing (GH-96988) Fix command line parsing: reject "-X int_max_str_digits" option with no value (invalid) when the PYTHONINTMAXSTRDIGITS environment variable is set to a valid limit. (cherry picked from commit 41351662bcd21672d8ccfa62fe44d72027e6bcf8) Co-authored-by: Victor Stinner --- Lib/test/test_cmd_line.py | 2 ++ .../2022-09-21-14-38-31.gh-issue-96848.WuoLzU.rst | 3 +++ Python/initconfig.c | 3 ++- 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-21-14-38-31.gh-issue-96848.WuoLzU.rst diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index 78edd528c00c16..1c33be285837cb 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -874,6 +874,8 @@ def test_int_max_str_digits(self): assert_python_failure('-X', 'int_max_str_digits', '-c', code) assert_python_failure('-X', 'int_max_str_digits=foo', '-c', code) assert_python_failure('-X', 'int_max_str_digits=100', '-c', code) + assert_python_failure('-X', 'int_max_str_digits', '-c', code, + PYTHONINTMAXSTRDIGITS='4000') assert_python_failure('-c', code, PYTHONINTMAXSTRDIGITS='foo') assert_python_failure('-c', code, PYTHONINTMAXSTRDIGITS='100') diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-21-14-38-31.gh-issue-96848.WuoLzU.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-21-14-38-31.gh-issue-96848.WuoLzU.rst new file mode 100644 index 00000000000000..a9b04ce87d4d0d --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-21-14-38-31.gh-issue-96848.WuoLzU.rst @@ -0,0 +1,3 @@ +Fix command line parsing: reject :option:`-X int_max_str_digits <-X>` option +with no value (invalid) when the :envvar:`PYTHONINTMAXSTRDIGITS` environment +variable is set to a valid limit. Patch by Victor Stinner. diff --git a/Python/initconfig.c b/Python/initconfig.c index 0ce22e08ba87b5..0ccca265314d9a 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -1734,10 +1734,10 @@ static PyStatus config_init_int_max_str_digits(PyConfig *config) { int maxdigits; - int valid = 0; const char *env = config_get_env(config, "PYTHONINTMAXSTRDIGITS"); if (env) { + int valid = 0; if (!_Py_str_to_int(env, &maxdigits)) { valid = ((maxdigits == 0) || (maxdigits >= _PY_LONG_MAX_STR_DIGITS_THRESHOLD)); } @@ -1755,6 +1755,7 @@ config_init_int_max_str_digits(PyConfig *config) const wchar_t *xoption = config_get_xoption(config, L"int_max_str_digits"); if (xoption) { const wchar_t *sep = wcschr(xoption, L'='); + int valid = 0; if (sep) { if (!config_wstr_to_int(sep + 1, &maxdigits)) { valid = ((maxdigits == 0) || (maxdigits >= _PY_LONG_MAX_STR_DIGITS_THRESHOLD)); From 82932b3ec99955ff81080baf8b248210ab026454 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 26 Sep 2022 15:45:58 -0700 Subject: [PATCH 057/494] GH-65046: Fix docs about logging in `asyncio` (GH-97559) Explain that logging should not use network I/O. (cherry picked from commit d68c37c0d08542a346a13b150a204208bb0408f5) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> --- Doc/library/asyncio-dev.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Doc/library/asyncio-dev.rst b/Doc/library/asyncio-dev.rst index 77f1128de50c95..9676a352f4b24e 100644 --- a/Doc/library/asyncio-dev.rst +++ b/Doc/library/asyncio-dev.rst @@ -148,6 +148,10 @@ adjusted:: logging.getLogger("asyncio").setLevel(logging.WARNING) +Network logging can block the event loop. It is recommended to use +a separate thread for handling logs or use non-blocking IO. + + .. _asyncio-coroutine-not-scheduled: Detect never-awaited coroutines From 9a9bf88898b1558915405edb538513be425d39c4 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 26 Sep 2022 17:00:53 -0700 Subject: [PATCH 058/494] gh-97545: Make Semaphore run faster. (GH-97549) (cherry picked from commit 68c46ae68b6e0c36a12e37285fff9ce0782ed01e) Co-authored-by: Cyker Way --- Lib/asyncio/locks.py | 38 +++++++++---------- Lib/test/test_asyncio/test_locks.py | 3 +- ...2-09-25-23-24-52.gh-issue-97545.HZLSNt.rst | 1 + 3 files changed, 19 insertions(+), 23 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-25-23-24-52.gh-issue-97545.HZLSNt.rst diff --git a/Lib/asyncio/locks.py b/Lib/asyncio/locks.py index f8f590304e31dc..fd41dfd3f474a1 100644 --- a/Lib/asyncio/locks.py +++ b/Lib/asyncio/locks.py @@ -357,8 +357,9 @@ def __repr__(self): return f'<{res[1:-1]} [{extra}]>' def locked(self): - """Returns True if semaphore counter is zero.""" - return self._value == 0 + """Returns True if semaphore cannot be acquired immediately.""" + return self._value == 0 or ( + any(not w.cancelled() for w in (self._waiters or ()))) async def acquire(self): """Acquire a semaphore. @@ -369,8 +370,7 @@ async def acquire(self): called release() to make it larger than 0, and then return True. """ - if (not self.locked() and (self._waiters is None or - all(w.cancelled() for w in self._waiters))): + if not self.locked(): self._value -= 1 return True @@ -388,13 +388,13 @@ async def acquire(self): finally: self._waiters.remove(fut) except exceptions.CancelledError: - if not self.locked(): - self._wake_up_first() + if not fut.cancelled(): + self._value += 1 + self._wake_up_next() raise - self._value -= 1 - if not self.locked(): - self._wake_up_first() + if self._value > 0: + self._wake_up_next() return True def release(self): @@ -404,22 +404,18 @@ def release(self): become larger than zero again, wake up that coroutine. """ self._value += 1 - self._wake_up_first() + self._wake_up_next() - def _wake_up_first(self): - """Wake up the first waiter if it isn't done.""" + def _wake_up_next(self): + """Wake up the first waiter that isn't done.""" if not self._waiters: return - try: - fut = next(iter(self._waiters)) - except StopIteration: - return - # .done() necessarily means that a waiter will wake up later on and - # either take the lock, or, if it was cancelled and lock wasn't - # taken already, will hit this again and wake up a new waiter. - if not fut.done(): - fut.set_result(True) + for fut in self._waiters: + if not fut.done(): + self._value -= 1 + fut.set_result(True) + return class BoundedSemaphore(Semaphore): diff --git a/Lib/test/test_asyncio/test_locks.py b/Lib/test/test_asyncio/test_locks.py index 4b9d166e1a0f2e..c20ec94cd39c4f 100644 --- a/Lib/test/test_asyncio/test_locks.py +++ b/Lib/test/test_asyncio/test_locks.py @@ -844,9 +844,8 @@ async def c4(result): sem.release() sem.release() - self.assertEqual(2, sem._value) + self.assertEqual(0, sem._value) - await asyncio.sleep(0) await asyncio.sleep(0) self.assertEqual(0, sem._value) self.assertEqual(3, len(result)) diff --git a/Misc/NEWS.d/next/Library/2022-09-25-23-24-52.gh-issue-97545.HZLSNt.rst b/Misc/NEWS.d/next/Library/2022-09-25-23-24-52.gh-issue-97545.HZLSNt.rst new file mode 100644 index 00000000000000..a53902ea670b73 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-25-23-24-52.gh-issue-97545.HZLSNt.rst @@ -0,0 +1 @@ +Make Semaphore run faster. From dfe23ee20f9b03f46a1a39607f69108b16aae7d8 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 27 Sep 2022 04:16:37 -0700 Subject: [PATCH 059/494] gh-96959: Update more HTTP links (GH-97536) Use HTTPS for documents which are available by both HTTP and HTTPS links, but there is no redirection from HTTP to HTTPS or vice versa. (cherry picked from commit dd53b79de0ea98af6a11481217a961daef4e9774) Co-authored-by: Serhiy Storchaka --- Doc/faq/extending.rst | 2 +- Doc/faq/general.rst | 2 +- Doc/faq/gui.rst | 2 +- Doc/faq/library.rst | 2 +- Doc/faq/programming.rst | 4 +- Doc/library/ast.rst | 2 +- Doc/library/json.rst | 2 +- Doc/library/mailbox.rst | 2 +- Doc/library/random.rst | 4 +- Doc/library/tkinter.rst | 2 +- Doc/library/tkinter.tix.rst | 150 +++++++++++++++++----------------- Doc/library/tkinter.ttk.rst | 4 +- Doc/library/xmlrpc.client.rst | 2 +- Doc/using/windows.rst | 2 +- Doc/whatsnew/2.0.rst | 2 +- Doc/whatsnew/2.3.rst | 2 +- Doc/whatsnew/3.2.rst | 6 +- Doc/whatsnew/3.4.rst | 2 +- Doc/whatsnew/3.5.rst | 2 +- Doc/whatsnew/3.6.rst | 2 +- Doc/whatsnew/3.7.rst | 2 +- Doc/whatsnew/3.8.rst | 2 +- 22 files changed, 101 insertions(+), 101 deletions(-) diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst index 318e35508eae5b..07282639e4f9b4 100644 --- a/Doc/faq/extending.rst +++ b/Doc/faq/extending.rst @@ -51,7 +51,7 @@ If you need to interface to some C or C++ library for which no Python extension currently exists, you can try wrapping the library's data types and functions with a tool such as `SWIG `_. `SIP `__, `CXX -`_ `Boost +`_ `Boost `_, or `Weave `_ are also alternatives for wrapping C++ libraries. diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst index 988f05757a8a62..81842fce4303a6 100644 --- a/Doc/faq/general.rst +++ b/Doc/faq/general.rst @@ -329,7 +329,7 @@ Consulting the proceedings for `past Python conferences different companies and organizations. High-profile Python projects include `the Mailman mailing list manager -`_ and `the Zope application server +`_ and `the Zope application server `_. Several Linux distributions, most notably `Red Hat `_, have written part or all of their installer and system administration software in Python. Companies that use Python internally diff --git a/Doc/faq/gui.rst b/Doc/faq/gui.rst index 86c56d957cdfec..023ffdf0db510a 100644 --- a/Doc/faq/gui.rst +++ b/Doc/faq/gui.rst @@ -49,7 +49,7 @@ environment variables. To get truly stand-alone applications, the Tcl scripts that form the library have to be integrated into the application as well. One tool supporting that is SAM (stand-alone modules), which is part of the Tix distribution -(http://tix.sourceforge.net/). +(https://tix.sourceforge.net/). Build Tix with SAM enabled, perform the appropriate call to :c:func:`Tclsam_init`, etc. inside Python's diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst index ad839891fdcc62..f79cf485712274 100644 --- a/Doc/faq/library.rst +++ b/Doc/faq/library.rst @@ -180,7 +180,7 @@ How do I create documentation from doc strings? The :mod:`pydoc` module can create HTML from the doc strings in your Python source code. An alternative for creating API documentation purely from -docstrings is `epydoc `_. `Sphinx +docstrings is `epydoc `_. `Sphinx `_ can also include docstring content. diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index e90c501c565e42..572a24d7fa3e29 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -35,7 +35,7 @@ debugging non-PythonWin programs. PythonWin is available as part of as a part of the `ActivePython `_ distribution. -`Eric `_ is an IDE built on PyQt +`Eric `_ is an IDE built on PyQt and the Scintilla editing component. `trepan3k `_ is a gdb-like debugger. @@ -99,7 +99,7 @@ executables: * `PyOxidizer `_ (Cross-platform) * `cx_Freeze `_ (Cross-platform) * `py2app `_ (macOS only) -* `py2exe `_ (Windows only) +* `py2exe `_ (Windows only) Are there coding standards or a style guide for Python programs? ---------------------------------------------------------------- diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index b3c59c745ba61c..da0fe8c3d6b2d3 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -2268,7 +2268,7 @@ to stdout. Otherwise, the content is read from stdin. code that generated them. This is helpful for tools that make source code transformations. - `leoAst.py `_ unifies the + `leoAst.py `_ unifies the token-based and parse-tree-based views of python programs by inserting two-way links between tokens and ast nodes. diff --git a/Doc/library/json.rst b/Doc/library/json.rst index 3f74359c6f2baa..5383614575c213 100644 --- a/Doc/library/json.rst +++ b/Doc/library/json.rst @@ -120,7 +120,7 @@ See :ref:`json-commandline` for detailed documentation. .. note:: - JSON is a subset of `YAML `_ 1.2. The JSON produced by + JSON is a subset of `YAML `_ 1.2. The JSON produced by this module's default settings (in particular, the default *separators* value) is also a subset of YAML 1.0 and 1.1. This module can thus also be used as a YAML serializer. diff --git a/Doc/library/mailbox.rst b/Doc/library/mailbox.rst index 69751d5cbf4d0f..56908dedea1b40 100644 --- a/Doc/library/mailbox.rst +++ b/Doc/library/mailbox.rst @@ -426,7 +426,7 @@ Supported mailbox formats are Maildir, mbox, MH, Babyl, and MMDF. .. seealso:: - `maildir man page from Courier `_ + `maildir man page from Courier `_ A specification of the format. Describes a common extension for supporting folders. diff --git a/Doc/library/random.rst b/Doc/library/random.rst index 28d83bb7f327f0..94215daad11256 100644 --- a/Doc/library/random.rst +++ b/Doc/library/random.rst @@ -550,13 +550,13 @@ Simulation of arrival times and service deliveries for a multiserver queue:: `Economics Simulation `_ a simulation of a marketplace by - `Peter Norvig `_ that shows effective + `Peter Norvig `_ that shows effective use of many of the tools and distributions provided by this module (gauss, uniform, sample, betavariate, choice, triangular, and randrange). `A Concrete Introduction to Probability (using Python) `_ - a tutorial by `Peter Norvig `_ covering + a tutorial by `Peter Norvig `_ covering the basics of probability theory, how to write simulations, and how to perform data analysis using Python. diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst index 0d2b344d24f269..c8e4317be75879 100644 --- a/Doc/library/tkinter.rst +++ b/Doc/library/tkinter.rst @@ -38,7 +38,7 @@ details that are unchanged. .. seealso:: - * `TkDocs `_ + * `TkDocs `_ Extensive tutorial on creating user interfaces with Tkinter. Explains key concepts, and illustrates recommended approaches using the modern API. diff --git a/Doc/library/tkinter.tix.rst b/Doc/library/tkinter.tix.rst index 88b936c47a6d24..c86fcfa6a3f46d 100644 --- a/Doc/library/tkinter.tix.rst +++ b/Doc/library/tkinter.tix.rst @@ -33,17 +33,17 @@ special needs of your application and users. .. seealso:: - `Tix Homepage `_ + `Tix Homepage `_ The home page for :mod:`Tix`. This includes links to additional documentation and downloads. - `Tix Man Pages `_ + `Tix Man Pages `_ On-line version of the man pages and reference material. - `Tix Programming Guide `_ + `Tix Programming Guide `_ On-line version of the programmer's reference material. - `Tix Development Applications `_ + `Tix Development Applications `_ Tix applications for development of Tix and Tkinter programs. Tide applications work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to remotely modify and debug Tix/Tk/Tkinter applications. @@ -80,7 +80,7 @@ the following:: Tix Widgets ----------- -`Tix `_ +`Tix `_ introduces over 40 widget classes to the :mod:`tkinter` repertoire. @@ -91,125 +91,125 @@ Basic Widgets .. class:: Balloon() A `Balloon - `_ that + `_ that pops up over a widget to provide help. When the user moves the cursor inside a widget to which a Balloon widget has been bound, a small pop-up window with a descriptive message will be shown on the screen. .. Python Demo of: -.. \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl} +.. \ulink{Balloon}{https://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl} .. class:: ButtonBox() The `ButtonBox - `_ + `_ widget creates a box of buttons, such as is commonly used for ``Ok Cancel``. .. Python Demo of: -.. \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl} +.. \ulink{ButtonBox}{https://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl} .. class:: ComboBox() The `ComboBox - `_ + `_ widget is similar to the combo box control in MS Windows. The user can select a choice by either typing in the entry subwidget or selecting from the listbox subwidget. .. Python Demo of: -.. \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl} +.. \ulink{ComboBox}{https://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl} .. class:: Control() The `Control - `_ + `_ widget is also known as the :class:`SpinBox` widget. The user can adjust the value by pressing the two arrow buttons or by entering the value directly into the entry. The new value will be checked against the user-defined upper and lower limits. .. Python Demo of: -.. \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl} +.. \ulink{Control}{https://tix.sourceforge.net/dist/current/demos/samples/Control.tcl} .. class:: LabelEntry() The `LabelEntry - `_ + `_ widget packages an entry widget and a label into one mega widget. It can be used to simplify the creation of "entry-form" type of interface. .. Python Demo of: -.. \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl} +.. \ulink{LabelEntry}{https://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl} .. class:: LabelFrame() The `LabelFrame - `_ + `_ widget packages a frame widget and a label into one mega widget. To create widgets inside a LabelFrame widget, one creates the new widgets relative to the :attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget. .. Python Demo of: -.. \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl} +.. \ulink{LabelFrame}{https://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl} .. class:: Meter() The `Meter - `_ widget + `_ widget can be used to show the progress of a background job which may take a long time to execute. .. Python Demo of: -.. \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl} +.. \ulink{Meter}{https://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl} .. class:: OptionMenu() The `OptionMenu - `_ + `_ creates a menu button of options. .. Python Demo of: -.. \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl} +.. \ulink{OptionMenu}{https://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl} .. class:: PopupMenu() The `PopupMenu - `_ + `_ widget can be used as a replacement of the ``tk_popup`` command. The advantage of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code to manipulate. .. Python Demo of: -.. \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl} +.. \ulink{PopupMenu}{https://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl} .. class:: Select() The `Select - `_ widget + `_ widget is a container of button subwidgets. It can be used to provide radio-box or check-box style of selection options for the user. .. Python Demo of: -.. \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl} +.. \ulink{Select}{https://tix.sourceforge.net/dist/current/demos/samples/Select.tcl} .. class:: StdButtonBox() The `StdButtonBox - `_ + `_ widget is a group of standard buttons for Motif-like dialog boxes. .. Python Demo of: -.. \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl} +.. \ulink{StdButtonBox}{https://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl} File Selectors @@ -219,37 +219,37 @@ File Selectors .. class:: DirList() The `DirList - `_ + `_ widget displays a list view of a directory, its previous directories and its sub-directories. The user can choose one of the directories displayed in the list or change to another directory. .. Python Demo of: -.. \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl} +.. \ulink{DirList}{https://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl} .. class:: DirTree() The `DirTree - `_ + `_ widget displays a tree view of a directory, its previous directories and its sub-directories. The user can choose one of the directories displayed in the list or change to another directory. .. Python Demo of: -.. \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl} +.. \ulink{DirTree}{https://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl} .. class:: DirSelectDialog() The `DirSelectDialog - `_ + `_ widget presents the directories in the file system in a dialog window. The user can use this dialog window to navigate through the file system to select the desired directory. .. Python Demo of: -.. \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl} +.. \ulink{DirSelectDialog}{https://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl} .. class:: DirSelectBox() @@ -263,39 +263,39 @@ File Selectors .. class:: ExFileSelectBox() The `ExFileSelectBox - `_ + `_ widget is usually embedded in a tixExFileSelectDialog widget. It provides a convenient method for the user to select files. The style of the :class:`ExFileSelectBox` widget is very similar to the standard file dialog on MS Windows 3.1. .. Python Demo of: -.. \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl} +.. \ulink{ExFileSelectDialog}{https://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl} .. class:: FileSelectBox() The `FileSelectBox - `_ + `_ is similar to the standard Motif(TM) file-selection box. It is generally used for the user to choose a file. FileSelectBox stores the files mostly recently selected into a :class:`ComboBox` widget so that they can be quickly selected again. .. Python Demo of: -.. \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl} +.. \ulink{FileSelectDialog}{https://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl} .. class:: FileEntry() The `FileEntry - `_ + `_ widget can be used to input a filename. The user can type in the filename manually. Alternatively, the user can press the button widget that sits next to the entry, which will bring up a file selection dialog. .. Python Demo of: -.. \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl} +.. \ulink{FileEntry}{https://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl} Hierarchical ListBox @@ -305,42 +305,42 @@ Hierarchical ListBox .. class:: HList() The `HList - `_ widget + `_ widget can be used to display any data that have a hierarchical structure, for example, file system directory trees. The list entries are indented and connected by branch lines according to their places in the hierarchy. .. Python Demo of: -.. \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl} +.. \ulink{HList}{https://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl} .. class:: CheckList() The `CheckList - `_ + `_ widget displays a list of items to be selected by the user. CheckList acts similarly to the Tk checkbutton or radiobutton widgets, except it is capable of handling many more items than checkbuttons or radiobuttons. .. Python Demo of: -.. \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl} +.. \ulink{ CheckList}{https://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl} .. Python Demo of: -.. \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl} +.. \ulink{ScrolledHList (1)}{https://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl} .. Python Demo of: -.. \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl} +.. \ulink{ScrolledHList (2)}{https://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl} .. class:: Tree() The `Tree - `_ widget + `_ widget can be used to display hierarchical data in a tree form. The user can adjust the view of the tree by opening or closing parts of the tree. .. Python Demo of: -.. \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl} +.. \ulink{Tree}{https://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl} .. Python Demo of: -.. \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl} +.. \ulink{Tree (Dynamic)}{https://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl} Tabular ListBox @@ -350,7 +350,7 @@ Tabular ListBox .. class:: TList() The `TList - `_ widget + `_ widget can be used to display data in a tabular format. The list entries of a :class:`TList` widget are similar to the entries in the Tk listbox widget. The main differences are (1) the :class:`TList` widget can display the list entries @@ -358,17 +358,17 @@ Tabular ListBox multiple colors and fonts for the list entries. .. Python Demo of: -.. \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl} +.. \ulink{ScrolledTList (1)}{https://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl} .. Python Demo of: -.. \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl} +.. \ulink{ScrolledTList (2)}{https://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl} .. Grid has yet to be added to Python .. \subsubsection{Grid Widget} .. Python Demo of: -.. \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl} +.. \ulink{Simple Grid}{https://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl} .. Python Demo of: -.. \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl} +.. \ulink{ScrolledGrid}{https://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl} .. Python Demo of: -.. \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl} +.. \ulink{Editable Grid}{https://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl} Manager Widgets @@ -378,19 +378,19 @@ Manager Widgets .. class:: PanedWindow() The `PanedWindow - `_ + `_ widget allows the user to interactively manipulate the sizes of several panes. The panes can be arranged either vertically or horizontally. The user changes the sizes of the panes by dragging the resize handle between two panes. .. Python Demo of: -.. \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl} +.. \ulink{PanedWindow}{https://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl} .. class:: ListNoteBook() The `ListNoteBook - `_ + `_ widget is very similar to the :class:`TixNoteBook` widget: it can be used to display many windows in a limited space using a notebook metaphor. The notebook is divided into a stack of pages (windows). At one time only one of these pages @@ -398,30 +398,30 @@ Manager Widgets the desired page in the :attr:`hlist` subwidget. .. Python Demo of: -.. \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl} +.. \ulink{ListNoteBook}{https://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl} .. class:: NoteBook() The `NoteBook - `_ + `_ widget can be used to display many windows in a limited space using a notebook metaphor. The notebook is divided into a stack of pages. At one time only one of these pages can be shown. The user can navigate through these pages by choosing the visual "tabs" at the top of the NoteBook widget. .. Python Demo of: -.. \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl} +.. \ulink{NoteBook}{https://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl} .. \subsubsection{Scrolled Widgets} .. Python Demo of: -.. \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl} +.. \ulink{ScrolledListBox}{https://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl} .. Python Demo of: -.. \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl} +.. \ulink{ScrolledText}{https://tix.sourceforge.net/dist/current/demos/samples/SText.tcl} .. Python Demo of: -.. \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl} +.. \ulink{ScrolledWindow}{https://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl} .. Python Demo of: -.. \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl} +.. \ulink{Canvas Object View}{https://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl} Image Types @@ -429,17 +429,17 @@ Image Types The :mod:`tkinter.tix` module adds: -* `pixmap `_ +* `pixmap `_ capabilities to all :mod:`tkinter.tix` and :mod:`tkinter` widgets to create color images from XPM files. .. Python Demo of: - .. \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl} + .. \ulink{XPM Image In Button}{https://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl} .. Python Demo of: - .. \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl} + .. \ulink{XPM Image In Menu}{https://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl} * `Compound - `_ image + `_ image types can be used to create images that consists of multiple horizontal lines; each line is composed of a series of items (texts, bitmaps, images or spaces) arranged from left to right. For example, a compound image can be used to @@ -447,13 +447,13 @@ The :mod:`tkinter.tix` module adds: widget. .. Python Demo of: - .. \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl} + .. \ulink{Compound Image In Buttons}{https://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl} .. Python Demo of: - .. \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl} + .. \ulink{Compound Image In NoteBook}{https://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl} .. Python Demo of: - .. \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl} + .. \ulink{Compound Image Notebook Color Tabs}{https://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl} .. Python Demo of: - .. \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl} + .. \ulink{Compound Image Icons}{https://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl} Miscellaneous Widgets @@ -463,7 +463,7 @@ Miscellaneous Widgets .. class:: InputOnly() The `InputOnly - `_ + `_ widgets are to accept inputs from the user, which can be done with the ``bind`` command (Unix only). @@ -477,7 +477,7 @@ In addition, :mod:`tkinter.tix` augments :mod:`tkinter` by providing: .. class:: Form() The `Form - `_ geometry + `_ geometry manager based on attachment rules for all Tk widgets. @@ -488,7 +488,7 @@ Tix Commands .. class:: tixCommand() The `tix commands - `_ provide + `_ provide access to miscellaneous elements of :mod:`Tix`'s internal state and the :mod:`Tix` application context. Most of the information manipulated by these methods pertains to the application as a whole, or to a screen or display, diff --git a/Doc/library/tkinter.ttk.rst b/Doc/library/tkinter.ttk.rst index b05799ef601eb6..4ff2b2159c3622 100644 --- a/Doc/library/tkinter.ttk.rst +++ b/Doc/library/tkinter.ttk.rst @@ -56,7 +56,7 @@ for improved styling effects. .. seealso:: - `Converting existing applications to use Tile widgets `_ + `Converting existing applications to use Tile widgets `_ A monograph (using Tcl terminology) about differences typically encountered when moving applications to use the new widgets. @@ -1272,7 +1272,7 @@ option. If you don't know the class name of a widget, use the method .. seealso:: - `Tcl'2004 conference presentation `_ + `Tcl'2004 conference presentation `_ This document explains how the theme engine works diff --git a/Doc/library/xmlrpc.client.rst b/Doc/library/xmlrpc.client.rst index 2dcf3984cf42f2..8b09acd4bd3049 100644 --- a/Doc/library/xmlrpc.client.rst +++ b/Doc/library/xmlrpc.client.rst @@ -165,7 +165,7 @@ between conformable Python objects and XML on the wire. A good description of XML-RPC operation and client software in several languages. Contains pretty much everything an XML-RPC client developer needs to know. - `XML-RPC Introspection `_ + `XML-RPC Introspection `_ Describes the XML-RPC protocol extension for introspection. `XML-RPC Specification `_ diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst index 210920d4f701b6..1808cbc340cb82 100644 --- a/Doc/using/windows.rst +++ b/Doc/using/windows.rst @@ -1214,7 +1214,7 @@ With ongoing development of Python, some platforms that used to be supported earlier are no longer supported (due to the lack of users or developers). Check :pep:`11` for details on all unsupported platforms. -* `Windows CE `_ is +* `Windows CE `_ is `no longer supported `__ since Python 3 (if it ever was). * The `Cygwin `_ installer offers to install the diff --git a/Doc/whatsnew/2.0.rst b/Doc/whatsnew/2.0.rst index 24fc39be6161cb..6b16dfd4685ba5 100644 --- a/Doc/whatsnew/2.0.rst +++ b/Doc/whatsnew/2.0.rst @@ -572,7 +572,7 @@ Work has been done on porting Python to 64-bit Windows on the Itanium processor, mostly by Trent Mick of ActiveState. (Confusingly, ``sys.platform`` is still ``'win32'`` on Win64 because it seems that for ease of porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin also supports Windows CE; see the -Python CE page at http://pythonce.sourceforge.net/ for more information. +Python CE page at https://pythonce.sourceforge.net/ for more information. Another new platform is Darwin/MacOS X; initial support for it is in Python 2.0. Dynamic loading works, if you specify "configure --with-dyld --with-suffix=.x". diff --git a/Doc/whatsnew/2.3.rst b/Doc/whatsnew/2.3.rst index 55061d2a46bde0..27a0756cbb849d 100644 --- a/Doc/whatsnew/2.3.rst +++ b/Doc/whatsnew/2.3.rst @@ -1231,7 +1231,7 @@ complete list of changes, or look through the CVS logs for all the details. repeat an array. (Contributed by Jason Orendorff.) * The :mod:`bsddb` module has been replaced by version 4.1.6 of the `PyBSDDB - `_ package, providing a more complete interface + `_ package, providing a more complete interface to the transactional features of the BerkeleyDB library. The old version of the module has been renamed to :mod:`bsddb185` and is no diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst index 8a2159d45cecc8..7b12e631fd819f 100644 --- a/Doc/whatsnew/3.2.rst +++ b/Doc/whatsnew/3.2.rst @@ -973,7 +973,7 @@ sites do not finish before midnight, the barrier times-out and the ballots are sealed and deposited in a queue for later handling. See `Barrier Synchronization Patterns -`_ +`_ for more examples of how barriers can be used in parallel computing. Also, there is a simple but thorough explanation of barriers in `The Little Book of Semaphores `_, *section 3.6*. @@ -2419,7 +2419,7 @@ Unicode ======= Python has been updated to `Unicode 6.0.0 -`_. The update to the standard adds +`_. The update to the standard adds over 2,000 new characters including `emoji `_ symbols which are important for mobile phones. @@ -2427,7 +2427,7 @@ In addition, the updated standard has altered the character properties for two Kannada characters (U+0CF1, U+0CF2) and one New Tai Lue numeric character (U+19DA), making the former eligible for use in identifiers while disqualifying the latter. For more information, see `Unicode Character Database Changes -`_. +`_. Codecs diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index a09b60ffb331ec..9f894b40e2396a 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -1963,7 +1963,7 @@ Other Improvements `_ will build python, run the test suite, and generate an HTML coverage report for the C codebase using ``gcov`` and `lcov - `_. + `_. * The ``-R`` option to the :ref:`python regression test suite ` now also checks for memory allocation leaks, using diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst index 89b8eefb6719b8..625373d5089896 100644 --- a/Doc/whatsnew/3.5.rst +++ b/Doc/whatsnew/3.5.rst @@ -1977,7 +1977,7 @@ unicodedata ----------- The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 -`_. +`_. unittest diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst index e54475fd83c975..bcca28d2f7ba85 100644 --- a/Doc/whatsnew/3.6.rst +++ b/Doc/whatsnew/3.6.rst @@ -1644,7 +1644,7 @@ unicodedata ----------- The :mod:`unicodedata` module now uses data from `Unicode 9.0.0 -`_. +`_. (Contributed by Benjamin Peterson.) diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst index 545b7c738a4b37..3facd88994eb7e 100644 --- a/Doc/whatsnew/3.7.rst +++ b/Doc/whatsnew/3.7.rst @@ -1507,7 +1507,7 @@ unicodedata ----------- The internal :mod:`unicodedata` database has been upgraded to use `Unicode 11 -`_. (Contributed by Benjamin +`_. (Contributed by Benjamin Peterson.) diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index 6138576ea90e1a..e6febc36430fb3 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -1348,7 +1348,7 @@ unicodedata ----------- The :mod:`unicodedata` module has been upgraded to use the `Unicode 12.1.0 -`_ release. +`_ release. New function :func:`~unicodedata.is_normalized` can be used to verify a string is in a specific normal form, often much faster than by actually normalizing From 04aa15f5e79819ad5d0c135136844efd641935c1 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 27 Sep 2022 04:34:24 -0700 Subject: [PATCH 060/494] gh-73588: Fix generation of the default name of tkinter.Checkbutton. (GH-97547) Previously, checkbuttons in different parent widgets could have the same short name and share the same state if arguments "name" and "variable" are not specified. Now they are globally unique. (cherry picked from commit adbed2d542a815b8175db965742211856b19b52f) Co-authored-by: Serhiy Storchaka --- Lib/tkinter/__init__.py | 12 ++++++++- Lib/tkinter/dialog.py | 2 +- Lib/tkinter/test/test_tkinter/test_widgets.py | 26 +++++++++++++++++++ Lib/tkinter/test/test_ttk/test_widgets.py | 15 +++++++++++ Lib/tkinter/tix.py | 2 +- ...2-09-25-20-42-33.gh-issue-73588.uVtjEA.rst | 4 +++ 6 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-25-20-42-33.gh-issue-73588.uVtjEA.rst diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py index 296320235afddb..356446911e0abc 100644 --- a/Lib/tkinter/__init__.py +++ b/Lib/tkinter/__init__.py @@ -2619,7 +2619,7 @@ def __init__(self, master, widgetName, cnf={}, kw={}, extra=()): if kw: cnf = _cnfmerge((cnf, kw)) self.widgetName = widgetName - BaseWidget._setup(self, master, cnf) + self._setup(master, cnf) if self._tclCommands is None: self._tclCommands = [] classes = [(k, v) for k, v in cnf.items() if isinstance(k, type)] @@ -3038,6 +3038,8 @@ def type(self, tagOrId): return self.tk.call(self._w, 'type', tagOrId) or None +_checkbutton_count = 0 + class Checkbutton(Widget): """Checkbutton widget which is either in on- or off-state.""" @@ -3053,6 +3055,14 @@ def __init__(self, master=None, cnf={}, **kw): underline, variable, width, wraplength.""" Widget.__init__(self, master, 'checkbutton', cnf, kw) + def _setup(self, master, cnf): + if not cnf.get('name'): + global _checkbutton_count + name = self.__class__.__name__.lower() + _checkbutton_count += 1 + cnf['name'] = f'!{name}{_checkbutton_count}' + super()._setup(master, cnf) + def deselect(self): """Put the button in off-state.""" self.tk.call(self._w, 'deselect') diff --git a/Lib/tkinter/dialog.py b/Lib/tkinter/dialog.py index 8ae214011727cc..36ae6c277cb66a 100644 --- a/Lib/tkinter/dialog.py +++ b/Lib/tkinter/dialog.py @@ -11,7 +11,7 @@ class Dialog(Widget): def __init__(self, master=None, cnf={}, **kw): cnf = _cnfmerge((cnf, kw)) self.widgetName = '__dialog__' - Widget._setup(self, master, cnf) + self._setup(master, cnf) self.num = self.tk.getint( self.tk.call( 'tk_dialog', self._w, diff --git a/Lib/tkinter/test/test_tkinter/test_widgets.py b/Lib/tkinter/test/test_tkinter/test_widgets.py index fe8ecfeb326554..995bed2ecf60c8 100644 --- a/Lib/tkinter/test/test_tkinter/test_widgets.py +++ b/Lib/tkinter/test/test_tkinter/test_widgets.py @@ -212,6 +212,32 @@ def test_configure_onvalue(self): widget = self.create() self.checkParams(widget, 'onvalue', 1, 2.3, '', 'any string') + def test_unique_variables(self): + frames = [] + buttons = [] + for i in range(2): + f = tkinter.Frame(self.root) + f.pack() + frames.append(f) + for j in 'AB': + b = tkinter.Checkbutton(f, text=j) + b.pack() + buttons.append(b) + variables = [str(b['variable']) for b in buttons] + self.assertEqual(len(set(variables)), 4, variables) + + def test_same_name(self): + f1 = tkinter.Frame(self.root) + f2 = tkinter.Frame(self.root) + b1 = tkinter.Checkbutton(f1, name='test', text='Test1') + b2 = tkinter.Checkbutton(f2, name='test', text='Test2') + + v = tkinter.IntVar(self.root, name='test') + b1.select() + self.assertEqual(v.get(), 1) + b2.deselect() + self.assertEqual(v.get(), 0) + @add_standard_options(StandardOptionsTests) class RadiobuttonTest(AbstractLabelTest, unittest.TestCase): diff --git a/Lib/tkinter/test/test_ttk/test_widgets.py b/Lib/tkinter/test/test_ttk/test_widgets.py index c14c321ca2687d..96d2afcf90ea81 100644 --- a/Lib/tkinter/test/test_ttk/test_widgets.py +++ b/Lib/tkinter/test/test_ttk/test_widgets.py @@ -275,6 +275,21 @@ def cb_test(): self.assertEqual(cbtn['offvalue'], cbtn.tk.globalgetvar(cbtn['variable'])) + def test_unique_variables(self): + frames = [] + buttons = [] + for i in range(2): + f = ttk.Frame(self.root) + f.pack() + frames.append(f) + for j in 'AB': + b = ttk.Checkbutton(f, text=j) + b.pack() + buttons.append(b) + variables = [str(b['variable']) for b in buttons] + print(variables) + self.assertEqual(len(set(variables)), 4, variables) + @add_standard_options(IntegerSizeTests, StandardTtkOptionsTests) class EntryTest(AbstractWidgetTest, unittest.TestCase): diff --git a/Lib/tkinter/tix.py b/Lib/tkinter/tix.py index 44ecae1a326831..ce218265d4a824 100644 --- a/Lib/tkinter/tix.py +++ b/Lib/tkinter/tix.py @@ -310,7 +310,7 @@ def __init__ (self, master=None, widgetName=None, del cnf[k] self.widgetName = widgetName - Widget._setup(self, master, cnf) + self._setup(master, cnf) # If widgetName is None, this is a dummy creation call where the # corresponding Tk widget has already been created by Tix diff --git a/Misc/NEWS.d/next/Library/2022-09-25-20-42-33.gh-issue-73588.uVtjEA.rst b/Misc/NEWS.d/next/Library/2022-09-25-20-42-33.gh-issue-73588.uVtjEA.rst new file mode 100644 index 00000000000000..d8a0e690e29105 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-25-20-42-33.gh-issue-73588.uVtjEA.rst @@ -0,0 +1,4 @@ +Fix generation of the default name of :class:`tkinter.Checkbutton`. +Previously, checkbuttons in different parent widgets could have the same +short name and share the same state if arguments "name" and "variable" are +not specified. Now they are globally unique. From f391b3c6ab7f9940c942535ebcfabf87eb122bf7 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 27 Sep 2022 07:50:36 -0700 Subject: [PATCH 061/494] gh-96478: Fix new test when run in refleak mode (GH-96615) ./python.exe -m test -R : test.test_typing would fail, apparently because the dictionary used in the @patch decorator was modified. (cherry picked from commit f0d9136c69b4ed32bfb3096f926da098623a7072) Co-authored-by: Jelle Zijlstra --- Lib/test/test_typing.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index 7df7e3ceb6803d..0fce96b76e089b 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -4379,19 +4379,19 @@ def blah(): blah() - @patch("typing._overload_registry", - defaultdict(lambda: defaultdict(dict))) def test_overload_on_compiled_functions(self): - # The registry starts out empty: - self.assertEqual(typing._overload_registry, {}) - - # This should just not fail: - overload(sum) - overload(print) - - # No overloads are recorded (but, it still has a side-effect): - self.assertEqual(typing.get_overloads(sum), []) - self.assertEqual(typing.get_overloads(print), []) + with patch("typing._overload_registry", + defaultdict(lambda: defaultdict(dict))): + # The registry starts out empty: + self.assertEqual(typing._overload_registry, {}) + + # This should just not fail: + overload(sum) + overload(print) + + # No overloads are recorded (but, it still has a side-effect): + self.assertEqual(typing.get_overloads(sum), []) + self.assertEqual(typing.get_overloads(print), []) def set_up_overloads(self): def blah(): From c2ec6da74fd4d1b027a1c00a24772bd941fa070b Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 27 Sep 2022 17:33:32 -0700 Subject: [PATCH 062/494] gh-96377: Update asyncio policy doc intro paras to be clear and accurate (GH-97603) Also fix up some cross-references in the asyncio docs. (cherry picked from commit cc0f3a10f0ee507d9044ef9036cf3e711c5338a9) Co-authored-by: C.A.M. Gerlach --- Doc/library/asyncio-dev.rst | 2 +- Doc/library/asyncio-eventloop.rst | 7 ++++-- Doc/library/asyncio-llapi-index.rst | 2 +- Doc/library/asyncio-policy.rst | 36 ++++++++++++++++++++--------- 4 files changed, 32 insertions(+), 15 deletions(-) diff --git a/Doc/library/asyncio-dev.rst b/Doc/library/asyncio-dev.rst index 9676a352f4b24e..14f2c3533c9712 100644 --- a/Doc/library/asyncio-dev.rst +++ b/Doc/library/asyncio-dev.rst @@ -109,7 +109,7 @@ that the event loop runs in. There is currently no way to schedule coroutines or callbacks directly from a different process (such as one started with -:mod:`multiprocessing`). The :ref:`Event Loop Methods ` +:mod:`multiprocessing`). The :ref:`asyncio-event-loop-methods` section lists APIs that can read from pipes and watch file descriptors without blocking the event loop. In addition, asyncio's :ref:`Subprocess ` APIs provide a way to start a diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index bd7f5f30be1032..5e951652f53751 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -1,6 +1,8 @@ .. currentmodule:: asyncio +.. _asyncio-event-loop: + ========== Event Loop ========== @@ -92,7 +94,7 @@ This documentation page contains the following sections: loop APIs. -.. _asyncio-event-loop: +.. _asyncio-event-loop-methods: Event Loop Methods ================== @@ -1586,6 +1588,7 @@ Do not instantiate the class directly. .. _asyncio-event-loops: +.. _asyncio-event-loop-implementations: Event Loop Implementations ========================== @@ -1632,7 +1635,7 @@ on Unix and :class:`ProactorEventLoop` on Windows. Abstract base class for asyncio-compliant event loops. - The :ref:`Event Loop Methods ` section lists all + The :ref:`asyncio-event-loop-methods` section lists all methods that an alternative implementation of ``AbstractEventLoop`` should have defined. diff --git a/Doc/library/asyncio-llapi-index.rst b/Doc/library/asyncio-llapi-index.rst index 3cec4c69f86ea7..b7ad888a7b67ab 100644 --- a/Doc/library/asyncio-llapi-index.rst +++ b/Doc/library/asyncio-llapi-index.rst @@ -37,7 +37,7 @@ Event Loop Methods ================== See also the main documentation section about the -:ref:`event loop methods `. +:ref:`asyncio-event-loop-methods`. .. rubric:: Lifecycle .. list-table:: diff --git a/Doc/library/asyncio-policy.rst b/Doc/library/asyncio-policy.rst index ef6a0588506b52..a73e99510f0b4e 100644 --- a/Doc/library/asyncio-policy.rst +++ b/Doc/library/asyncio-policy.rst @@ -7,22 +7,29 @@ Policies ======== -An event loop policy is a global per-process object that controls -the management of the event loop. Each event loop has a default -policy, which can be changed and customized using the policy API. - -A policy defines the notion of *context* and manages a -separate event loop per context. The default policy -defines *context* to be the current thread. - -By using a custom event loop policy, the behavior of -:func:`get_event_loop`, :func:`set_event_loop`, and -:func:`new_event_loop` functions can be customized. +An event loop policy is a global (per-interpreter) object +used to get and set the current :ref:`event loop `, +as well as create new event loops. +The default policy can be :ref:`replaced ` with +:ref:`built-in alternatives ` +to use different event loop implementations, +or substituted by a :ref:`custom policy ` +that can override these behaviors. + +The :ref:`policy object ` +gets and sets a separate event loop per *context*. +This is per-thread by default, +though custom policies could define *context* differently. + +Custom event loop policies can control the behavior of +:func:`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop`. Policy objects should implement the APIs defined in the :class:`AbstractEventLoopPolicy` abstract base class. +.. _asyncio-policy-get-set: + Getting and Setting the Policy ============================== @@ -40,6 +47,8 @@ for the current process: If *policy* is set to ``None``, the default policy is restored. +.. _asyncio-policy-objects: + Policy Objects ============== @@ -86,6 +95,8 @@ The abstract event loop policy base class is defined as follows: This function is Unix specific. +.. _asyncio-policy-builtin: + asyncio ships with the following built-in policies: @@ -117,6 +128,7 @@ asyncio ships with the following built-in policies: .. availability:: Windows. + .. _asyncio-watchers: Process Watchers @@ -270,6 +282,8 @@ implementation used by the asyncio event loop: .. versionadded:: 3.9 +.. _asyncio-custom-policies: + Custom Policies =============== From 73557d5bd2896d64a178ccf48dfb5a05c51d9853 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 27 Sep 2022 21:32:01 -0700 Subject: [PATCH 063/494] [3.11] gh-65046: Add note about logging from async code. (GH-97602) (GH-97608) --- Doc/howto/logging-cookbook.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst index 16df3b730ac80e..5b079744df12ed 100644 --- a/Doc/howto/logging-cookbook.rst +++ b/Doc/howto/logging-cookbook.rst @@ -397,6 +397,14 @@ which, when run, will produce: MainThread: Look out! +.. note:: Although the earlier discussion wasn't specifically talking about + async code, but rather about slow logging handlers, it should be noted that + when logging from async code, network and even file handlers could lead to + problems (blocking the event loop) because some logging is done from + :mod:`asyncio` internals. It might be best, if any async code is used in an + application, to use the above approach for logging, so that any blocking code + runs only in the ``QueueListener`` thread. + .. versionchanged:: 3.5 Prior to Python 3.5, the :class:`QueueListener` always passed every message received from the queue to every handler it was initialized with. (This was From 88ab19e47e5b5695070bb97f1a5c946e49240181 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 28 Sep 2022 06:45:48 -0700 Subject: [PATCH 064/494] Fix docs on conditional expression grouping (GH-96447) (GH-97606) --- Doc/reference/expressions.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index edba1c834a5a2b..6d23e473cdcd41 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -1889,7 +1889,7 @@ The following table summarizes the operator precedence in Python, from highest precedence (most binding) to lowest precedence (least binding). Operators in the same box have the same precedence. Unless the syntax is explicitly given, operators are binary. Operators in the same box group left to right (except for -exponentiation, which groups from right to left). +exponentiation and conditional expressions, which group from right to left). Note that comparisons, membership tests, and identity tests, all have the same precedence and have a left-to-right chaining feature as described in the From b8bc11e501f7349b965fe1b5d1f637e5a8e58c6a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 28 Sep 2022 10:42:28 -0700 Subject: [PATCH 065/494] fixup policy docs (GH-97618) (cherry picked from commit 9a404b173e57ce171a867cfc3776cdf88d6c553f) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> --- Doc/library/asyncio-policy.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/asyncio-policy.rst b/Doc/library/asyncio-policy.rst index a73e99510f0b4e..bfc3e3090fdcdf 100644 --- a/Doc/library/asyncio-policy.rst +++ b/Doc/library/asyncio-policy.rst @@ -7,7 +7,7 @@ Policies ======== -An event loop policy is a global (per-interpreter) object +An event loop policy is a global object used to get and set the current :ref:`event loop `, as well as create new event loops. The default policy can be :ref:`replaced ` with From 744087474b0f3a42d05a874dcb8d09be2e312a0e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 28 Sep 2022 11:23:56 -0700 Subject: [PATCH 066/494] Fix typo in error message in plistlib (GH-97540) (cherry picked from commit 81b9d9ddc20837ecd19f41b764e3f33d8ae805d5) Co-authored-by: Jakob Weigert --- Lib/plistlib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/plistlib.py b/Lib/plistlib.py index 4862355b2252c9..664890d25252b4 100644 --- a/Lib/plistlib.py +++ b/Lib/plistlib.py @@ -152,7 +152,7 @@ def _date_to_string(d): def _escape(text): m = _controlCharPat.search(text) if m is not None: - raise ValueError("strings can't contains control characters; " + raise ValueError("strings can't contain control characters; " "use bytes instead") text = text.replace("\r\n", "\n") # convert DOS line endings text = text.replace("\r", "\n") # convert Mac line endings From 7d60d10b6342f3fa7af1a65a6eba10d49945e769 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 28 Sep 2022 15:28:38 -0700 Subject: [PATCH 067/494] gh-97616: list_resize() checks for integer overflow (GH-97617) Fix multiplying a list by an integer (list *= int): detect the integer overflow when the new allocated length is close to the maximum size. Issue reported by Jordan Limor. list_resize() now checks for integer overflow before multiplying the new allocated length by the list item size (sizeof(PyObject*)). (cherry picked from commit a5f092f3c469b674b8d9ccbd4e4377230c9ac7cf) Co-authored-by: Victor Stinner --- Lib/test/test_list.py | 13 +++++++++++++ .../2022-09-28-17-09-37.gh-issue-97616.K1e3Xs.rst | 3 +++ Objects/listobject.c | 10 ++++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Security/2022-09-28-17-09-37.gh-issue-97616.K1e3Xs.rst diff --git a/Lib/test/test_list.py b/Lib/test/test_list.py index d3da05ba84ac0f..9aa6dd1095668b 100644 --- a/Lib/test/test_list.py +++ b/Lib/test/test_list.py @@ -96,6 +96,19 @@ def imul(a, b): a *= b self.assertRaises((MemoryError, OverflowError), mul, lst, n) self.assertRaises((MemoryError, OverflowError), imul, lst, n) + def test_list_resize_overflow(self): + # gh-97616: test new_allocated * sizeof(PyObject*) overflow + # check in list_resize() + lst = [0] * 65 + del lst[1:] + self.assertEqual(len(lst), 1) + + size = ((2 ** (tuple.__itemsize__ * 8) - 1) // 2) + with self.assertRaises((MemoryError, OverflowError)): + lst * size + with self.assertRaises((MemoryError, OverflowError)): + lst *= size + def test_repr_large(self): # Check the repr of large list objects def check(n): diff --git a/Misc/NEWS.d/next/Security/2022-09-28-17-09-37.gh-issue-97616.K1e3Xs.rst b/Misc/NEWS.d/next/Security/2022-09-28-17-09-37.gh-issue-97616.K1e3Xs.rst new file mode 100644 index 00000000000000..721427fe646575 --- /dev/null +++ b/Misc/NEWS.d/next/Security/2022-09-28-17-09-37.gh-issue-97616.K1e3Xs.rst @@ -0,0 +1,3 @@ +Fix multiplying a list by an integer (``list *= int``): detect the integer +overflow when the new allocated length is close to the maximum size. Issue +reported by Jordan Limor. Patch by Victor Stinner. diff --git a/Objects/listobject.c b/Objects/listobject.c index 8e3d02ab17ea9a..19009133c82759 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -76,8 +76,14 @@ list_resize(PyListObject *self, Py_ssize_t newsize) if (newsize == 0) new_allocated = 0; - num_allocated_bytes = new_allocated * sizeof(PyObject *); - items = (PyObject **)PyMem_Realloc(self->ob_item, num_allocated_bytes); + if (new_allocated <= (size_t)PY_SSIZE_T_MAX / sizeof(PyObject *)) { + num_allocated_bytes = new_allocated * sizeof(PyObject *); + items = (PyObject **)PyMem_Realloc(self->ob_item, num_allocated_bytes); + } + else { + // integer overflow + items = NULL; + } if (items == NULL) { PyErr_NoMemory(); return -1; From 94582bb643f98bc58b1ff206d1d2a56f97c3a7e5 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 28 Sep 2022 16:46:11 -0700 Subject: [PATCH 068/494] gh-97612: Fix shell injection in get-remote-certificate.py (GH-97613) Fix a shell code injection vulnerability in the get-remote-certificate.py example script. The script no longer uses a shell to run "openssl" commands. Issue reported and initial fix by Caleb Shortt. Remove the Windows code path to send "quit" on stdin to the "openssl s_client" command: use DEVNULL on all platforms instead. Co-authored-by: Caleb Shortt (cherry picked from commit 83a0f44ffd8b398673ae56c310cf5768d359c341) Co-authored-by: Victor Stinner --- ...2-09-28-12-10-57.gh-issue-97612.y6NvOQ.rst | 3 +++ Tools/scripts/get-remote-certificate.py | 25 ++++++------------- 2 files changed, 10 insertions(+), 18 deletions(-) create mode 100644 Misc/NEWS.d/next/Security/2022-09-28-12-10-57.gh-issue-97612.y6NvOQ.rst diff --git a/Misc/NEWS.d/next/Security/2022-09-28-12-10-57.gh-issue-97612.y6NvOQ.rst b/Misc/NEWS.d/next/Security/2022-09-28-12-10-57.gh-issue-97612.y6NvOQ.rst new file mode 100644 index 00000000000000..2f113492d42dde --- /dev/null +++ b/Misc/NEWS.d/next/Security/2022-09-28-12-10-57.gh-issue-97612.y6NvOQ.rst @@ -0,0 +1,3 @@ +Fix a shell code injection vulnerability in the ``get-remote-certificate.py`` +example script. The script no longer uses a shell to run ``openssl`` commands. +Issue reported and initial fix by Caleb Shortt. Patch by Victor Stinner. diff --git a/Tools/scripts/get-remote-certificate.py b/Tools/scripts/get-remote-certificate.py index 38901286e19ad1..68272fca83fe27 100755 --- a/Tools/scripts/get-remote-certificate.py +++ b/Tools/scripts/get-remote-certificate.py @@ -15,8 +15,8 @@ def fetch_server_certificate (host, port): def subproc(cmd): - from subprocess import Popen, PIPE, STDOUT - proc = Popen(cmd, stdout=PIPE, stderr=STDOUT, shell=True) + from subprocess import Popen, PIPE, STDOUT, DEVNULL + proc = Popen(cmd, stdout=PIPE, stderr=STDOUT, stdin=DEVNULL) status = proc.wait() output = proc.stdout.read() return status, output @@ -33,8 +33,8 @@ def strip_to_x509_cert(certfile_contents, outfile=None): fp.write(m.group(1) + b"\n") try: tn2 = (outfile or tempfile.mktemp()) - status, output = subproc(r'openssl x509 -in "%s" -out "%s"' % - (tn, tn2)) + cmd = ['openssl', 'x509', '-in', tn, '-out', tn2] + status, output = subproc(cmd) if status != 0: raise RuntimeError('OpenSSL x509 failed with status %s and ' 'output: %r' % (status, output)) @@ -45,20 +45,9 @@ def strip_to_x509_cert(certfile_contents, outfile=None): finally: os.unlink(tn) - if sys.platform.startswith("win"): - tfile = tempfile.mktemp() - with open(tfile, "w") as fp: - fp.write("quit\n") - try: - status, output = subproc( - 'openssl s_client -connect "%s:%s" -showcerts < "%s"' % - (host, port, tfile)) - finally: - os.unlink(tfile) - else: - status, output = subproc( - 'openssl s_client -connect "%s:%s" -showcerts < /dev/null' % - (host, port)) + cmd = ['openssl', 's_client', '-connect', '%s:%s' % (host, port), '-showcerts'] + status, output = subproc(cmd) + if status != 0: raise RuntimeError('OpenSSL connect failed with status %s and ' 'output: %r' % (status, output)) From f418842a5c9a1161020e810000114725e7a85002 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 28 Sep 2022 18:06:21 -0700 Subject: [PATCH 069/494] [3.11] gh-96357: Improve `typing.get_overloads` coverage (GH-96358) (#96371) gh-96357: Improve `typing.get_overloads` coverage (GH-96358) (cherry picked from commit 675e3470ccf3804a36a9cd451b813e9bd655aeb3) Co-authored-by: Nikita Sobolev --- Lib/test/test_typing.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index 0fce96b76e089b..1bcadf8753f951 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -4427,6 +4427,9 @@ def some_other_func(): pass other_overload = some_other_func def some_other_func(): pass self.assertEqual(list(get_overloads(some_other_func)), [other_overload]) + # Unrelated function still has no overloads: + def not_overloaded(): pass + self.assertEqual(list(get_overloads(not_overloaded)), []) # Make sure that after we clear all overloads, the registry is # completely empty. From 9cf41f4a7a85b573cf68c248cbf2236fadbf44ef Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 29 Sep 2022 00:07:07 -0700 Subject: [PATCH 070/494] gh-91212: Fixed flickering when the tracer is turned off (GH-95129) Fixed flickering when the tracer is turned off. (cherry picked from commit 4652093e1b816b78e9a585d671a807ce66427417) Co-authored-by: Shin-myoung-serp --- Lib/turtle.py | 2 +- Lib/turtledemo/clock.py | 1 - .../next/Library/2022-07-22-09-09-08.gh-issue-91212.53O8Ab.rst | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-07-22-09-09-08.gh-issue-91212.53O8Ab.rst diff --git a/Lib/turtle.py b/Lib/turtle.py index a8876e76bce40a..6abf9f7f65af0d 100644 --- a/Lib/turtle.py +++ b/Lib/turtle.py @@ -596,7 +596,6 @@ def _write(self, pos, txt, align, font, pencolor): item = self.cv.create_text(x-1, -y, text = txt, anchor = anchor[align], fill = pencolor, font = font) x0, y0, x1, y1 = self.cv.bbox(item) - self.cv.update() return item, x1-1 ## def _dot(self, pos, size, color): @@ -3419,6 +3418,7 @@ def _write(self, txt, align, font): """ item, end = self.screen._write(self._position, txt, align, font, self._pencolor) + self._update() self.items.append(item) if self.undobuffer: self.undobuffer.push(("wri", item)) diff --git a/Lib/turtledemo/clock.py b/Lib/turtledemo/clock.py index 62c8851606b34e..9f8585bd11e053 100755 --- a/Lib/turtledemo/clock.py +++ b/Lib/turtledemo/clock.py @@ -109,7 +109,6 @@ def tick(): writer.write(datum(t), align="center", font=("Courier", 14, "bold")) writer.forward(85) - tracer(True) second_hand.setheading(6*sekunde) # or here minute_hand.setheading(6*minute) hour_hand.setheading(30*stunde) diff --git a/Misc/NEWS.d/next/Library/2022-07-22-09-09-08.gh-issue-91212.53O8Ab.rst b/Misc/NEWS.d/next/Library/2022-07-22-09-09-08.gh-issue-91212.53O8Ab.rst new file mode 100644 index 00000000000000..8552f51196b5d8 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-07-22-09-09-08.gh-issue-91212.53O8Ab.rst @@ -0,0 +1 @@ +Fixed flickering of the turtle window when the tracer is turned off. Patch by Shin-myoung-serp. From 11b66717feac6104f5d49e6e0adb7f2008a7f5d4 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 29 Sep 2022 06:51:39 -0700 Subject: [PATCH 071/494] gh-52597: Add position-only markers for os functions (GH-94735) (cherry picked from commit c759944f16ed9887a77d5ebd738f17f3892c2476) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/os.rst | 134 ++++++++++++++++++++++----------------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 27b74f9f0cd7d5..4784110fb10376 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -369,7 +369,7 @@ process and user. :ref:`wasm-availability` for more information. -.. function:: getgrouplist(user, group) +.. function:: getgrouplist(user, group, /) Return list of group ids that *user* belongs to. If *group* is not in the list, it is included; typically, *group* is specified as the group ID @@ -515,7 +515,7 @@ process and user. :ref:`wasm-availability` for more information. -.. function:: initgroups(username, gid) +.. function:: initgroups(username, gid, /) Call the system initgroups() to initialize the group access list with all of the groups of which the specified username is a member, plus the specified @@ -526,7 +526,7 @@ process and user. .. versionadded:: 3.2 -.. function:: putenv(key, value) +.. function:: putenv(key, value, /) .. index:: single: environment variables; setting @@ -551,28 +551,28 @@ process and user. The function is now always available. -.. function:: setegid(egid) +.. function:: setegid(egid, /) Set the current process's effective group id. .. availability:: Unix, not Emscripten, not WASI. -.. function:: seteuid(euid) +.. function:: seteuid(euid, /) Set the current process's effective user id. .. availability:: Unix, not Emscripten, not WASI. -.. function:: setgid(gid) +.. function:: setgid(gid, /) Set the current process' group id. .. availability:: Unix, not Emscripten, not WASI. -.. function:: setgroups(groups) +.. function:: setgroups(groups, /) Set the list of supplemental group ids associated with the current process to *groups*. *groups* must be a sequence, and each element must be an integer @@ -593,7 +593,7 @@ process and user. .. availability:: Unix, not Emscripten, not WASI. -.. function:: setpgid(pid, pgrp) +.. function:: setpgid(pid, pgrp, /) Call the system call :c:func:`setpgid` to set the process group id of the process with id *pid* to the process group with id *pgrp*. See the Unix manual @@ -621,14 +621,14 @@ process and user. .. versionadded:: 3.3 -.. function:: setregid(rgid, egid) +.. function:: setregid(rgid, egid, /) Set the current process's real and effective group ids. .. availability:: Unix, not Emscripten, not WASI. -.. function:: setresgid(rgid, egid, sgid) +.. function:: setresgid(rgid, egid, sgid, /) Set the current process's real, effective, and saved group ids. @@ -637,7 +637,7 @@ process and user. .. versionadded:: 3.2 -.. function:: setresuid(ruid, euid, suid) +.. function:: setresuid(ruid, euid, suid, /) Set the current process's real, effective, and saved user ids. @@ -646,14 +646,14 @@ process and user. .. versionadded:: 3.2 -.. function:: setreuid(ruid, euid) +.. function:: setreuid(ruid, euid, /) Set the current process's real and effective user ids. .. availability:: Unix, not Emscripten, not WASI. -.. function:: getsid(pid) +.. function:: getsid(pid, /) Call the system call :c:func:`getsid`. See the Unix manual for the semantics. @@ -667,7 +667,7 @@ process and user. .. availability:: Unix, not Emscripten, not WASI. -.. function:: setuid(uid) +.. function:: setuid(uid, /) .. index:: single: user; id, setting @@ -677,7 +677,7 @@ process and user. .. placed in this section since it relates to errno.... a little weak -.. function:: strerror(code) +.. function:: strerror(code, /) Return the error message corresponding to the error code in *code*. On platforms where :c:func:`strerror` returns ``NULL`` when given an unknown @@ -692,7 +692,7 @@ process and user. .. versionadded:: 3.2 -.. function:: umask(mask) +.. function:: umask(mask, /) Set the current numeric umask and return the previous umask. @@ -732,7 +732,7 @@ process and user. with named attributes. -.. function:: unsetenv(key) +.. function:: unsetenv(key, /) .. index:: single: environment variables; deleting @@ -800,7 +800,7 @@ as internal buffering of data. :func:`fdopen`, use its :meth:`~io.IOBase.close` method. -.. function:: closerange(fd_low, fd_high) +.. function:: closerange(fd_low, fd_high, /) Close all file descriptors from *fd_low* (inclusive) to *fd_high* (exclusive), ignoring errors. Equivalent to (but much faster than):: @@ -846,7 +846,7 @@ as internal buffering of data. On Unix, the function now implements the Python UTF-8 Mode. -.. function:: dup(fd) +.. function:: dup(fd, /) Return a duplicate of file descriptor *fd*. The new file descriptor is :ref:`non-inheritable `. @@ -917,7 +917,7 @@ as internal buffering of data. This function is not available on MacOS. -.. function:: fpathconf(fd, name) +.. function:: fpathconf(fd, name, /) Return system configuration information relevant to an open file. *name* specifies the configuration value to retrieve; it may be a string which is the @@ -949,7 +949,7 @@ as internal buffering of data. The :func:`.stat` function. -.. function:: fstatvfs(fd) +.. function:: fstatvfs(fd, /) Return information about the filesystem containing the file associated with file descriptor *fd*, like :func:`statvfs`. As of Python 3.3, this is @@ -970,7 +970,7 @@ as internal buffering of data. .. availability:: Unix, Windows. -.. function:: ftruncate(fd, length) +.. function:: ftruncate(fd, length, /) Truncate the file corresponding to file descriptor *fd*, so that it is at most *length* bytes in size. As of Python 3.3, this is equivalent to @@ -984,7 +984,7 @@ as internal buffering of data. Added support for Windows -.. function:: get_blocking(fd) +.. function:: get_blocking(fd, /) Get the blocking mode of the file descriptor: ``False`` if the :data:`O_NONBLOCK` flag is set, ``True`` if the flag is cleared. @@ -999,13 +999,13 @@ as internal buffering of data. .. versionadded:: 3.5 -.. function:: isatty(fd) +.. function:: isatty(fd, /) Return ``True`` if the file descriptor *fd* is open and connected to a tty(-like) device, else ``False``. -.. function:: lockf(fd, cmd, len) +.. function:: lockf(fd, cmd, len, /) Apply, test or remove a POSIX lock on an open file descriptor. *fd* is an open file descriptor. @@ -1032,7 +1032,7 @@ as internal buffering of data. .. versionadded:: 3.3 -.. function:: login_tty(fd) +.. function:: login_tty(fd, /) Prepare the tty of which fd is a file descriptor for a new login session. Make the calling process a session leader; make the tty the controlling tty, @@ -1043,7 +1043,7 @@ as internal buffering of data. .. versionadded:: 3.11 -.. function:: lseek(fd, pos, how) +.. function:: lseek(fd, pos, how, /) Set the current position of file descriptor *fd* to position *pos*, modified by *how*: :const:`SEEK_SET` or ``0`` to set the position relative to the @@ -1200,7 +1200,7 @@ or `the MSDN `_ on Windo The new file descriptors are now non-inheritable. -.. function:: pipe2(flags) +.. function:: pipe2(flags, /) Create a pipe with *flags* set atomically. *flags* can be constructed by ORing together one or more of these values: @@ -1213,7 +1213,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.3 -.. function:: posix_fallocate(fd, offset, len) +.. function:: posix_fallocate(fd, offset, len, /) Ensures that enough disk space is allocated for the file specified by *fd* starting from *offset* and continuing for *len* bytes. @@ -1223,7 +1223,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.3 -.. function:: posix_fadvise(fd, offset, len, advice) +.. function:: posix_fadvise(fd, offset, len, advice, /) Announces an intention to access data in a specific pattern thus allowing the kernel to make optimizations. @@ -1253,7 +1253,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.3 -.. function:: pread(fd, n, offset) +.. function:: pread(fd, n, offset, /) Read at most *n* bytes from file descriptor *fd* at a position of *offset*, leaving the file offset unchanged. @@ -1266,7 +1266,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.3 -.. function:: preadv(fd, buffers, offset, flags=0) +.. function:: preadv(fd, buffers, offset, flags=0, /) Read from a file descriptor *fd* at a position of *offset* into mutable :term:`bytes-like objects ` *buffers*, leaving the file @@ -1323,7 +1323,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.7 -.. function:: pwrite(fd, str, offset) +.. function:: pwrite(fd, str, offset, /) Write the bytestring in *str* to file descriptor *fd* at position of *offset*, leaving the file offset unchanged. @@ -1335,7 +1335,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.3 -.. function:: pwritev(fd, buffers, offset, flags=0) +.. function:: pwritev(fd, buffers, offset, flags=0, /) Write the *buffers* contents to file descriptor *fd* at a offset *offset*, leaving the file offset unchanged. *buffers* must be a sequence of @@ -1398,7 +1398,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.10 -.. function:: read(fd, n) +.. function:: read(fd, n, /) Read at most *n* bytes from file descriptor *fd*. @@ -1458,7 +1458,7 @@ or `the MSDN `_ on Windo Parameters *out* and *in* was renamed to *out_fd* and *in_fd*. -.. function:: set_blocking(fd, blocking) +.. function:: set_blocking(fd, blocking, /) Set the blocking mode of the specified file descriptor. Set the :data:`O_NONBLOCK` flag if blocking is ``False``, clear the flag otherwise. @@ -1527,7 +1527,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.10 -.. function:: readv(fd, buffers) +.. function:: readv(fd, buffers, /) Read from a file descriptor *fd* into a number of mutable :term:`bytes-like objects ` *buffers*. Transfer data into each buffer until @@ -1545,7 +1545,7 @@ or `the MSDN `_ on Windo .. versionadded:: 3.3 -.. function:: tcgetpgrp(fd) +.. function:: tcgetpgrp(fd, /) Return the process group associated with the terminal given by *fd* (an open file descriptor as returned by :func:`os.open`). @@ -1553,7 +1553,7 @@ or `the MSDN `_ on Windo .. availability:: Unix, not WASI. -.. function:: tcsetpgrp(fd, pg) +.. function:: tcsetpgrp(fd, pg, /) Set the process group associated with the terminal given by *fd* (an open file descriptor as returned by :func:`os.open`) to *pg*. @@ -1561,7 +1561,7 @@ or `the MSDN `_ on Windo .. availability:: Unix, not WASI. -.. function:: ttyname(fd) +.. function:: ttyname(fd, /) Return a string which specifies the terminal device associated with file descriptor *fd*. If *fd* is not associated with a terminal device, an @@ -1570,7 +1570,7 @@ or `the MSDN `_ on Windo .. availability:: Unix. -.. function:: write(fd, str) +.. function:: write(fd, str, /) Write the bytestring in *str* to file descriptor *fd*. @@ -1590,7 +1590,7 @@ or `the MSDN `_ on Windo :exc:`InterruptedError` exception (see :pep:`475` for the rationale). -.. function:: writev(fd, buffers) +.. function:: writev(fd, buffers, /) Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a sequence of :term:`bytes-like objects `. Buffers are @@ -1614,7 +1614,7 @@ Querying the size of a terminal .. versionadded:: 3.3 -.. function:: get_terminal_size(fd=STDOUT_FILENO) +.. function:: get_terminal_size(fd=STDOUT_FILENO, /) Return the size of the terminal window as ``(columns, lines)``, tuple of type :class:`terminal_size`. @@ -1669,21 +1669,21 @@ streams are closed, and inheritable handles are only inherited if the On WebAssembly platforms ``wasm32-emscripten`` and ``wasm32-wasi``, the file descriptor cannot be modified. -.. function:: get_inheritable(fd) +.. function:: get_inheritable(fd, /) Get the "inheritable" flag of the specified file descriptor (a boolean). -.. function:: set_inheritable(fd, inheritable) +.. function:: set_inheritable(fd, inheritable, /) Set the "inheritable" flag of the specified file descriptor. -.. function:: get_handle_inheritable(handle) +.. function:: get_handle_inheritable(handle, /) Get the "inheritable" flag of the specified handle (a boolean). .. availability:: Windows. -.. function:: set_handle_inheritable(handle, inheritable) +.. function:: set_handle_inheritable(handle, inheritable, /) Set the "inheritable" flag of the specified handle. @@ -2230,19 +2230,19 @@ features: Accepts a :term:`path-like object`. -.. function:: major(device) +.. function:: major(device, /) Extract the device major number from a raw device number (usually the :attr:`st_dev` or :attr:`st_rdev` field from :c:type:`stat`). -.. function:: minor(device) +.. function:: minor(device, /) Extract the device minor number from a raw device number (usually the :attr:`st_dev` or :attr:`st_rdev` field from :c:type:`stat`). -.. function:: makedev(major, minor) +.. function:: makedev(major, minor, /) Compose a raw device number from the major and minor device numbers. @@ -3898,7 +3898,7 @@ written in Python, such as a mail server's external command delivery program. .. availability:: Unix, not Emscripten, not WASI. -.. function:: kill(pid, sig) +.. function:: kill(pid, sig, /) .. index:: single: process; killing @@ -3925,7 +3925,7 @@ written in Python, such as a mail server's external command delivery program. Windows support. -.. function:: killpg(pgid, sig) +.. function:: killpg(pgid, sig, /) .. index:: single: process; killing @@ -3938,7 +3938,7 @@ written in Python, such as a mail server's external command delivery program. .. availability:: Unix, not Emscripten, not WASI. -.. function:: nice(increment) +.. function:: nice(increment, /) Add *increment* to the process's "niceness". Return the new niceness. @@ -3958,7 +3958,7 @@ written in Python, such as a mail server's external command delivery program. .. versionadded:: 3.9 -.. function:: plock(op) +.. function:: plock(op, /) Lock program segments into memory. The value of *op* (defined in ````) determines which segments are locked. @@ -4380,7 +4380,7 @@ written in Python, such as a mail server's external command delivery program. :func:`waitpid` can be used to wait for the completion of a specific child process and has more options. -.. function:: waitid(idtype, id, options) +.. function:: waitid(idtype, id, options, /) Wait for the completion of one or more child processes. *idtype* can be :data:`P_PID`, :data:`P_PGID`, :data:`P_ALL`, or @@ -4448,7 +4448,7 @@ written in Python, such as a mail server's external command delivery program. Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values. -.. function:: waitpid(pid, options) +.. function:: waitpid(pid, options, /) The details of this function differ on Unix and Windows. @@ -4577,7 +4577,7 @@ The following functions take a process status code as returned by :func:`system`, :func:`wait`, or :func:`waitpid` as a parameter. They may be used to determine the disposition of a process. -.. function:: WCOREDUMP(status) +.. function:: WCOREDUMP(status, /) Return ``True`` if a core dump was generated for the process, otherwise return ``False``. @@ -4722,33 +4722,33 @@ operating system. scheduling policy constants above. -.. function:: sched_setscheduler(pid, policy, param) +.. function:: sched_setscheduler(pid, policy, param, /) Set the scheduling policy for the process with PID *pid*. A *pid* of 0 means the calling process. *policy* is one of the scheduling policy constants above. *param* is a :class:`sched_param` instance. -.. function:: sched_getscheduler(pid) +.. function:: sched_getscheduler(pid, /) Return the scheduling policy for the process with PID *pid*. A *pid* of 0 means the calling process. The result is one of the scheduling policy constants above. -.. function:: sched_setparam(pid, param) +.. function:: sched_setparam(pid, param, /) Set the scheduling parameters for the process with PID *pid*. A *pid* of 0 means the calling process. *param* is a :class:`sched_param` instance. -.. function:: sched_getparam(pid) +.. function:: sched_getparam(pid, /) Return the scheduling parameters as a :class:`sched_param` instance for the process with PID *pid*. A *pid* of 0 means the calling process. -.. function:: sched_rr_get_interval(pid) +.. function:: sched_rr_get_interval(pid, /) Return the round-robin quantum in seconds for the process with PID *pid*. A *pid* of 0 means the calling process. @@ -4759,14 +4759,14 @@ operating system. Voluntarily relinquish the CPU. -.. function:: sched_setaffinity(pid, mask) +.. function:: sched_setaffinity(pid, mask, /) Restrict the process with PID *pid* (or the current process if zero) to a set of CPUs. *mask* is an iterable of integers representing the set of CPUs to which the process should be restricted. -.. function:: sched_getaffinity(pid) +.. function:: sched_getaffinity(pid, /) Return the set of CPUs the process with PID *pid* (or the current process if zero) is restricted to. @@ -4778,7 +4778,7 @@ Miscellaneous System Information -------------------------------- -.. function:: confstr(name) +.. function:: confstr(name, /) Return string-valued system configuration values. *name* specifies the configuration value to retrieve; it may be a string which is the name of a @@ -4829,7 +4829,7 @@ Miscellaneous System Information .. availability:: Unix. -.. function:: sysconf(name) +.. function:: sysconf(name, /) Return integer-valued system configuration values. If the configuration value specified by *name* isn't defined, ``-1`` is returned. The comments regarding @@ -4972,7 +4972,7 @@ Random numbers .. versionadded:: 3.6 -.. function:: urandom(size) +.. function:: urandom(size, /) Return a bytestring of *size* random bytes suitable for cryptographic use. From bad137bd936358bb78b008fee46b29f7efb9b500 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 29 Sep 2022 16:00:33 -0700 Subject: [PATCH 072/494] closes gh-97650: correct sphinx executable (gh-97651) (cherry picked from commit 0179a82caa05a322d1dbab05155be6f919c281ff) Co-authored-by: NoSuck --- Doc/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/README.rst b/Doc/README.rst index 4326086e9e3529..d67cad79916b38 100644 --- a/Doc/README.rst +++ b/Doc/README.rst @@ -40,7 +40,7 @@ If you'd like to create the virtual environment in a different location, you can specify it using the ``VENVDIR`` variable. You can also skip creating the virtual environment altogether, in which case -the Makefile will look for instances of ``sphinxbuild`` and ``blurb`` +the Makefile will look for instances of ``sphinx-build`` and ``blurb`` installed on your process ``PATH`` (configurable with the ``SPHINXBUILD`` and ``BLURB`` variables). From 27891e0d7b8cb2ad4823d8bca89a5cb7bd322ba0 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 29 Sep 2022 16:25:10 -0700 Subject: [PATCH 073/494] gh-96397: Document that attributes need not be identifiers (GH-96454) Co-authored-by: C.A.M. Gerlach (cherry picked from commit 9a11ed8e50492d327e4de0a8f3a473e788b14a6f) Co-authored-by: Jeff Allen --- Doc/glossary.rst | 11 +++++++++-- Doc/library/functions.rst | 8 ++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Doc/glossary.rst b/Doc/glossary.rst index e0dd4fc96760e7..9385b8ddd13d10 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -136,10 +136,17 @@ Glossary :exc:`StopAsyncIteration` exception. Introduced by :pep:`492`. attribute - A value associated with an object which is referenced by name using - dotted expressions. For example, if an object *o* has an attribute + A value associated with an object which is usually referenced by name + using dotted expressions. + For example, if an object *o* has an attribute *a* it would be referenced as *o.a*. + It is possible to give an object an attribute whose name is not an + identifier as defined by :ref:`identifiers`, for example using + :func:`setattr`, if the object allows it. + Such an attribute will not be accessible using a dotted expression, + and would instead need to be retrieved with :func:`getattr`. + awaitable An object that can be used in an :keyword:`await` expression. Can be a :term:`coroutine` or an object with an :meth:`__await__` method. diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 1ba22b21123fe6..41fda9d85597cc 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -397,6 +397,7 @@ are always available. They are listed here in alphabetical order. string. The string must be the name of one of the object's attributes. The function deletes the named attribute, provided the object allows it. For example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``. + *name* need not be a Python identifier (see :func:`setattr`). .. _func-dict: @@ -738,6 +739,7 @@ are always available. They are listed here in alphabetical order. value of that attribute. For example, ``getattr(x, 'foobar')`` is equivalent to ``x.foobar``. If the named attribute does not exist, *default* is returned if provided, otherwise :exc:`AttributeError` is raised. + *name* need not be a Python identifier (see :func:`setattr`). .. note:: @@ -1582,6 +1584,12 @@ are always available. They are listed here in alphabetical order. object allows it. For example, ``setattr(x, 'foobar', 123)`` is equivalent to ``x.foobar = 123``. + *name* need not be a Python identifier as defined in :ref:`identifiers` + unless the object chooses to enforce that, for example in a custom + :meth:`~object.__getattribute__` or via :attr:`~object.__slots__`. + An attribute whose name is not an identifier will not be accessible using + the dot notation, but is accessible through :func:`getattr` etc.. + .. note:: Since :ref:`private name mangling ` happens at From 1a620c579db24914fc5368340ad3a4f0353ad319 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 30 Sep 2022 02:12:22 -0700 Subject: [PATCH 074/494] [3.11] Use SyntaxError invalid range in tutorial introduction example (GH-93031) (GH-97666) Use SyntaxError invalid range in tutorial introduction example (GH-93031) Use output from a 3.10+ REPL, showing invalid range, for the SyntaxError examples in the tutorial introduction page. Co-authored-by: Eddie Hebert --- Doc/tutorial/introduction.rst | 4 ++-- .../2022-05-20-18-42-10.gh-issue-93031.c2RdJe.rst | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Documentation/2022-05-20-18-42-10.gh-issue-93031.c2RdJe.rst diff --git a/Doc/tutorial/introduction.rst b/Doc/tutorial/introduction.rst index 33678f5a64b1f3..ba0f4770529783 100644 --- a/Doc/tutorial/introduction.rst +++ b/Doc/tutorial/introduction.rst @@ -234,12 +234,12 @@ This only works with two literals though, not with variables or expressions:: >>> prefix 'thon' # can't concatenate a variable and a string literal File "", line 1 prefix 'thon' - ^ + ^^^^^^ SyntaxError: invalid syntax >>> ('un' * 3) 'ium' File "", line 1 ('un' * 3) 'ium' - ^ + ^^^^^ SyntaxError: invalid syntax If you want to concatenate variables or a variable and a literal, use ``+``:: diff --git a/Misc/NEWS.d/next/Documentation/2022-05-20-18-42-10.gh-issue-93031.c2RdJe.rst b/Misc/NEWS.d/next/Documentation/2022-05-20-18-42-10.gh-issue-93031.c2RdJe.rst new file mode 100644 index 00000000000000..c46b45d2433cb8 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2022-05-20-18-42-10.gh-issue-93031.c2RdJe.rst @@ -0,0 +1 @@ +Update tutorial introduction output to use 3.10+ SyntaxError invalid range. From 0fbee30f7166a5b75c738e27e506e2f125bad479 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Fri, 30 Sep 2022 13:48:19 +0100 Subject: [PATCH 075/494] gh-90989: Clarify some installer text (GH-97668) --- .../2022-09-29-23-08-49.gh-issue-90989.no89Q2.rst | 1 + Tools/msi/bundle/Default.wxl | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 Misc/NEWS.d/next/Windows/2022-09-29-23-08-49.gh-issue-90989.no89Q2.rst diff --git a/Misc/NEWS.d/next/Windows/2022-09-29-23-08-49.gh-issue-90989.no89Q2.rst b/Misc/NEWS.d/next/Windows/2022-09-29-23-08-49.gh-issue-90989.no89Q2.rst new file mode 100644 index 00000000000000..34fffdf9a97b54 --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2022-09-29-23-08-49.gh-issue-90989.no89Q2.rst @@ -0,0 +1 @@ +Clarify some text in the Windows installer. diff --git a/Tools/msi/bundle/Default.wxl b/Tools/msi/bundle/Default.wxl index 2eddd1f749ec5a..d65dd836a80ac4 100644 --- a/Tools/msi/bundle/Default.wxl +++ b/Tools/msi/bundle/Default.wxl @@ -79,15 +79,15 @@ Select Customize to review current options. Use Programs and Features to remove the 'py' launcher. Upgrades the global 'py' launcher from the previous version. - Associate &files with Python (requires the py launcher) + Associate &files with Python (requires the 'py' launcher) Create shortcuts for installed applications Add Python to &environment variables - Add &Python [ShortVersion] to PATH + Add &python.exe to PATH Append Python to &environment variables - Append &Python [ShortVersion] to PATH - Install for &all users - for &all users (requires elevation) - Install &launcher for all users (recommended) + Append &python.exe to PATH + Install Python [ShortVersion] for &all users + for &all users (requires admin privileges) + Use admin privi&leges when installing py.exe &Precompile standard library Download debugging &symbols Download debu&g binaries (requires VS 2017 or later) From 6537bc9a49d31a3dc7f5df1284285bafdd0f56ef Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 30 Sep 2022 06:38:41 -0700 Subject: [PATCH 076/494] gh-94526: getpath_dirname() no longer encodes the path (GH-97645) Fix the Python path configuration used to initialized sys.path at Python startup. Paths are no longer encoded to UTF-8/strict to avoid encoding errors if it contains surrogate characters (bytes paths are decoded with the surrogateescape error handler). getpath_basename() and getpath_dirname() functions no longer encode the path to UTF-8/strict, but work directly on Unicode strings. These functions now use PyUnicode_FindChar() and PyUnicode_Substring() on the Unicode path, rather than strrchr() on the encoded bytes string. (cherry picked from commit 9f2f1dd131b912e224cd0269adde8879799686c4) Co-authored-by: Victor Stinner --- ...2-09-29-15-19-29.gh-issue-94526.wq5m6T.rst | 4 ++++ Modules/getpath.c | 23 +++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-29-15-19-29.gh-issue-94526.wq5m6T.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-29-15-19-29.gh-issue-94526.wq5m6T.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-29-15-19-29.gh-issue-94526.wq5m6T.rst new file mode 100644 index 00000000000000..59e389a64ee07d --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-29-15-19-29.gh-issue-94526.wq5m6T.rst @@ -0,0 +1,4 @@ +Fix the Python path configuration used to initialized :data:`sys.path` at +Python startup. Paths are no longer encoded to UTF-8/strict to avoid encoding +errors if it contains surrogate characters (bytes paths are decoded with the +surrogateescape error handler). Patch by Victor Stinner. diff --git a/Modules/getpath.c b/Modules/getpath.c index 94479887cf850a..be704adbde9468 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -82,27 +82,32 @@ getpath_abspath(PyObject *Py_UNUSED(self), PyObject *args) static PyObject * getpath_basename(PyObject *Py_UNUSED(self), PyObject *args) { - const char *path; - if (!PyArg_ParseTuple(args, "s", &path)) { + PyObject *path; + if (!PyArg_ParseTuple(args, "U", &path)) { return NULL; } - const char *name = strrchr(path, SEP); - return PyUnicode_FromString(name ? name + 1 : path); + Py_ssize_t end = PyUnicode_GET_LENGTH(path); + Py_ssize_t pos = PyUnicode_FindChar(path, SEP, 0, end, -1); + if (pos < 0) { + return Py_NewRef(path); + } + return PyUnicode_Substring(path, pos + 1, end); } static PyObject * getpath_dirname(PyObject *Py_UNUSED(self), PyObject *args) { - const char *path; - if (!PyArg_ParseTuple(args, "s", &path)) { + PyObject *path; + if (!PyArg_ParseTuple(args, "U", &path)) { return NULL; } - const char *name = strrchr(path, SEP); - if (!name) { + Py_ssize_t end = PyUnicode_GET_LENGTH(path); + Py_ssize_t pos = PyUnicode_FindChar(path, SEP, 0, end, -1); + if (pos < 0) { return PyUnicode_FromStringAndSize(NULL, 0); } - return PyUnicode_FromStringAndSize(path, (name - path)); + return PyUnicode_Substring(path, 0, pos); } From ab2f1a615299b42a6dd7180519b7a35ba6dd4e6d Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 30 Sep 2022 10:08:36 -0700 Subject: [PATCH 077/494] bpo-35675: IDLE - separate config_key window and frame (GH-11427) bpo-35598: IDLE: Refactor window and frame class Co-authored-by: Terry Jan Reedy (cherry picked from commit 1cc308d03c1b44a0885a3c5f07d0786b49ea711d) Co-authored-by: Cheryl Sabella --- Lib/idlelib/config_key.py | 137 ++++++++++++--------- Lib/idlelib/configdialog.py | 4 +- Lib/idlelib/idle_test/test_config_key.py | 109 ++++++++++++---- Lib/idlelib/idle_test/test_configdialog.py | 6 +- 4 files changed, 174 insertions(+), 82 deletions(-) diff --git a/Lib/idlelib/config_key.py b/Lib/idlelib/config_key.py index 9ca3a156f4b97f..bb07231cd590b6 100644 --- a/Lib/idlelib/config_key.py +++ b/Lib/idlelib/config_key.py @@ -41,32 +41,22 @@ def translate_key(key, modifiers): return f'Key-{key}' -class GetKeysDialog(Toplevel): +class GetKeysFrame(Frame): # Dialog title for invalid key sequence keyerror_title = 'Key Sequence Error' - def __init__(self, parent, title, action, current_key_sequences, - *, _htest=False, _utest=False): + def __init__(self, parent, action, current_key_sequences): """ parent - parent of this dialog - title - string which is the title of the popup dialog - action - string, the name of the virtual event these keys will be + action - the name of the virtual event these keys will be mapped to - current_key_sequences - list, a list of all key sequence lists + current_key_sequences - a list of all key sequence lists currently mapped to virtual events, for overlap checking - _htest - bool, change box location when running htest - _utest - bool, do not wait when running unittest """ - Toplevel.__init__(self, parent) - self.withdraw() # Hide while setting geometry. - self.configure(borderwidth=5) - self.resizable(height=False, width=False) - self.title(title) - self.transient(parent) - _setup_dialog(self) - self.grab_set() - self.protocol("WM_DELETE_WINDOW", self.cancel) + super().__init__(parent) + self['borderwidth'] = 2 + self['relief'] = 'sunken' self.parent = parent self.action = action self.current_key_sequences = current_key_sequences @@ -82,39 +72,14 @@ def __init__(self, parent, title, action, current_key_sequences, self.modifier_vars.append(variable) self.advanced = False self.create_widgets() - self.update_idletasks() - self.geometry( - "+%d+%d" % ( - parent.winfo_rootx() + - (parent.winfo_width()/2 - self.winfo_reqwidth()/2), - parent.winfo_rooty() + - ((parent.winfo_height()/2 - self.winfo_reqheight()/2) - if not _htest else 150) - ) ) # Center dialog over parent (or below htest box). - if not _utest: - self.deiconify() # Geometry set, unhide. - self.wait_window() def showerror(self, *args, **kwargs): # Make testing easier. Replace in #30751. messagebox.showerror(*args, **kwargs) def create_widgets(self): - self.frame = frame = Frame(self, borderwidth=2, relief='sunken') - frame.pack(side='top', expand=True, fill='both') - - frame_buttons = Frame(self) - frame_buttons.pack(side='bottom', fill='x') - - self.button_ok = Button(frame_buttons, text='OK', - width=8, command=self.ok) - self.button_ok.grid(row=0, column=0, padx=5, pady=5) - self.button_cancel = Button(frame_buttons, text='Cancel', - width=8, command=self.cancel) - self.button_cancel.grid(row=0, column=1, padx=5, pady=5) - # Basic entry key sequence. - self.frame_keyseq_basic = Frame(frame, name='keyseq_basic') + self.frame_keyseq_basic = Frame(self, name='keyseq_basic') self.frame_keyseq_basic.grid(row=0, column=0, sticky='nsew', padx=5, pady=5) basic_title = Label(self.frame_keyseq_basic, @@ -127,7 +92,7 @@ def create_widgets(self): basic_keys.pack(ipadx=5, ipady=5, fill='x') # Basic entry controls. - self.frame_controls_basic = Frame(frame) + self.frame_controls_basic = Frame(self) self.frame_controls_basic.grid(row=1, column=0, sticky='nsew', padx=5) # Basic entry modifiers. @@ -169,7 +134,7 @@ def create_widgets(self): self.button_clear.grid(row=2, column=0, columnspan=4) # Advanced entry key sequence. - self.frame_keyseq_advanced = Frame(frame, name='keyseq_advanced') + self.frame_keyseq_advanced = Frame(self, name='keyseq_advanced') self.frame_keyseq_advanced.grid(row=0, column=0, sticky='nsew', padx=5, pady=5) advanced_title = Label(self.frame_keyseq_advanced, justify='left', @@ -181,7 +146,7 @@ def create_widgets(self): self.advanced_keys.pack(fill='x') # Advanced entry help text. - self.frame_help_advanced = Frame(frame) + self.frame_help_advanced = Frame(self) self.frame_help_advanced.grid(row=1, column=0, sticky='nsew', padx=5) help_advanced = Label(self.frame_help_advanced, justify='left', text="Key bindings are specified using Tkinter keysyms as\n"+ @@ -196,7 +161,7 @@ def create_widgets(self): help_advanced.grid(row=0, column=0, sticky='nsew') # Switch between basic and advanced. - self.button_level = Button(frame, command=self.toggle_level, + self.button_level = Button(self, command=self.toggle_level, text='<< Basic Key Binding Entry') self.button_level.grid(row=2, column=0, stick='ew', padx=5, pady=5) self.toggle_level() @@ -257,7 +222,8 @@ def clear_key_seq(self): variable.set('') self.key_string.set('') - def ok(self, event=None): + def ok(self): + self.result = '' keys = self.key_string.get().strip() if not keys: self.showerror(title=self.keyerror_title, parent=self, @@ -265,13 +231,7 @@ def ok(self, event=None): return if (self.advanced or self.keys_ok(keys)) and self.bind_ok(keys): self.result = keys - self.grab_release() - self.destroy() - - def cancel(self, event=None): - self.result = '' - self.grab_release() - self.destroy() + return def keys_ok(self, keys): """Validity check on user's 'basic' keybinding selection. @@ -319,6 +279,73 @@ def bind_ok(self, keys): return True +class GetKeysWindow(Toplevel): + + def __init__(self, parent, title, action, current_key_sequences, + *, _htest=False, _utest=False): + """ + parent - parent of this dialog + title - string which is the title of the popup dialog + action - string, the name of the virtual event these keys will be + mapped to + current_key_sequences - list, a list of all key sequence lists + currently mapped to virtual events, for overlap checking + _htest - bool, change box location when running htest + _utest - bool, do not wait when running unittest + """ + super().__init__(parent) + self.withdraw() # Hide while setting geometry. + self['borderwidth'] = 5 + self.resizable(height=False, width=False) + # Needed for winfo_reqwidth(). + self.update_idletasks() + # Center dialog over parent (or below htest box). + x = (parent.winfo_rootx() + + (parent.winfo_width()//2 - self.winfo_reqwidth()//2)) + y = (parent.winfo_rooty() + + ((parent.winfo_height()//2 - self.winfo_reqheight()//2) + if not _htest else 150)) + self.geometry(f"+{x}+{y}") + + self.title(title) + self.frame = frame = GetKeysFrame(self, action, current_key_sequences) + self.protocol("WM_DELETE_WINDOW", self.cancel) + frame_buttons = Frame(self) + self.button_ok = Button(frame_buttons, text='OK', + width=8, command=self.ok) + self.button_cancel = Button(frame_buttons, text='Cancel', + width=8, command=self.cancel) + self.button_ok.grid(row=0, column=0, padx=5, pady=5) + self.button_cancel.grid(row=0, column=1, padx=5, pady=5) + frame.pack(side='top', expand=True, fill='both') + frame_buttons.pack(side='bottom', fill='x') + + self.transient(parent) + _setup_dialog(self) + self.grab_set() + if not _utest: + self.deiconify() # Geometry set, unhide. + self.wait_window() + + @property + def result(self): + return self.frame.result + + @result.setter + def result(self, value): + self.frame.result = value + + def ok(self, event=None): + self.frame.ok() + self.grab_release() + self.destroy() + + def cancel(self, event=None): + self.result = '' + self.grab_release() + self.destroy() + + if __name__ == '__main__': from unittest import main main('idlelib.idle_test.test_config_key', verbosity=2, exit=False) diff --git a/Lib/idlelib/configdialog.py b/Lib/idlelib/configdialog.py index 8e478d743fb767..cda7966d558a51 100644 --- a/Lib/idlelib/configdialog.py +++ b/Lib/idlelib/configdialog.py @@ -24,7 +24,7 @@ from tkinter import messagebox from idlelib.config import idleConf, ConfigChanges -from idlelib.config_key import GetKeysDialog +from idlelib.config_key import GetKeysWindow from idlelib.dynoption import DynOptionMenu from idlelib import macosx from idlelib.query import SectionName, HelpSource @@ -1397,7 +1397,7 @@ def get_new_keys(self): for event in key_set_changes: current_bindings[event] = key_set_changes[event].split() current_key_sequences = list(current_bindings.values()) - new_keys = GetKeysDialog(self, 'Get New Keys', bind_name, + new_keys = GetKeysWindow(self, 'Get New Keys', bind_name, current_key_sequences).result if new_keys: if self.keyset_source.get(): # Current key set is a built-in. diff --git a/Lib/idlelib/idle_test/test_config_key.py b/Lib/idlelib/idle_test/test_config_key.py index bf66cadf57cd3c..32f878b842b276 100644 --- a/Lib/idlelib/idle_test/test_config_key.py +++ b/Lib/idlelib/idle_test/test_config_key.py @@ -13,15 +13,13 @@ from idlelib.idle_test.mock_idle import Func from idlelib.idle_test.mock_tk import Mbox_func -gkd = config_key.GetKeysDialog - class ValidationTest(unittest.TestCase): "Test validation methods: ok, keys_ok, bind_ok." - class Validator(gkd): + class Validator(config_key.GetKeysFrame): def __init__(self, *args, **kwargs): - config_key.GetKeysDialog.__init__(self, *args, **kwargs) + super().__init__(*args, **kwargs) class list_keys_final: get = Func() self.list_keys_final = list_keys_final @@ -34,15 +32,14 @@ def setUpClass(cls): cls.root = Tk() cls.root.withdraw() keylist = [[''], ['', '']] - cls.dialog = cls.Validator( - cls.root, 'Title', '<>', keylist, _utest=True) + cls.dialog = cls.Validator(cls.root, '<>', keylist) @classmethod def tearDownClass(cls): - cls.dialog.cancel() + del cls.dialog cls.root.update_idletasks() cls.root.destroy() - del cls.dialog, cls.root + del cls.root def setUp(self): self.dialog.showerror.message = '' @@ -111,14 +108,14 @@ def setUpClass(cls): requires('gui') cls.root = Tk() cls.root.withdraw() - cls.dialog = gkd(cls.root, 'Title', '<>', [], _utest=True) + cls.dialog = config_key.GetKeysFrame(cls.root, '<>', []) @classmethod def tearDownClass(cls): - cls.dialog.cancel() + del cls.dialog cls.root.update_idletasks() cls.root.destroy() - del cls.dialog, cls.root + del cls.root def test_toggle_level(self): dialog = self.dialog @@ -130,7 +127,7 @@ def stackorder(): this can be used to check whether a frame is above or below another one. """ - for index, child in enumerate(dialog.frame.winfo_children()): + for index, child in enumerate(dialog.winfo_children()): if child._name == 'keyseq_basic': basic = index if child._name == 'keyseq_advanced': @@ -161,7 +158,7 @@ def stackorder(): class KeySelectionTest(unittest.TestCase): "Test selecting key on Basic frames." - class Basic(gkd): + class Basic(config_key.GetKeysFrame): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) class list_keys_final: @@ -179,14 +176,14 @@ def setUpClass(cls): requires('gui') cls.root = Tk() cls.root.withdraw() - cls.dialog = cls.Basic(cls.root, 'Title', '<>', [], _utest=True) + cls.dialog = cls.Basic(cls.root, '<>', []) @classmethod def tearDownClass(cls): - cls.dialog.cancel() + del cls.dialog cls.root.update_idletasks() cls.root.destroy() - del cls.dialog, cls.root + del cls.root def setUp(self): self.dialog.clear_key_seq() @@ -206,7 +203,7 @@ def test_get_modifiers(self): dialog.modifier_checkbuttons['foo'].invoke() eq(gm(), ['BAZ']) - @mock.patch.object(gkd, 'get_modifiers') + @mock.patch.object(config_key.GetKeysFrame, 'get_modifiers') def test_build_key_string(self, mock_modifiers): dialog = self.dialog key = dialog.list_keys_final @@ -227,7 +224,7 @@ def test_build_key_string(self, mock_modifiers): dialog.build_key_string() eq(string(), '') - @mock.patch.object(gkd, 'get_modifiers') + @mock.patch.object(config_key.GetKeysFrame, 'get_modifiers') def test_final_key_selected(self, mock_modifiers): dialog = self.dialog key = dialog.list_keys_final @@ -240,7 +237,7 @@ def test_final_key_selected(self, mock_modifiers): eq(string(), '') -class CancelTest(unittest.TestCase): +class CancelWindowTest(unittest.TestCase): "Simulate user clicking [Cancel] button." @classmethod @@ -248,21 +245,89 @@ def setUpClass(cls): requires('gui') cls.root = Tk() cls.root.withdraw() - cls.dialog = gkd(cls.root, 'Title', '<>', [], _utest=True) + cls.dialog = config_key.GetKeysWindow( + cls.root, 'Title', '<>', [], _utest=True) @classmethod def tearDownClass(cls): cls.dialog.cancel() + del cls.dialog cls.root.update_idletasks() cls.root.destroy() - del cls.dialog, cls.root + del cls.root - def test_cancel(self): + @mock.patch.object(config_key.GetKeysFrame, 'ok') + def test_cancel(self, mock_frame_ok): self.assertEqual(self.dialog.winfo_class(), 'Toplevel') self.dialog.button_cancel.invoke() with self.assertRaises(TclError): self.dialog.winfo_class() self.assertEqual(self.dialog.result, '') + mock_frame_ok.assert_not_called() + + +class OKWindowTest(unittest.TestCase): + "Simulate user clicking [OK] button." + + @classmethod + def setUpClass(cls): + requires('gui') + cls.root = Tk() + cls.root.withdraw() + cls.dialog = config_key.GetKeysWindow( + cls.root, 'Title', '<>', [], _utest=True) + + @classmethod + def tearDownClass(cls): + cls.dialog.cancel() + del cls.dialog + cls.root.update_idletasks() + cls.root.destroy() + del cls.root + + @mock.patch.object(config_key.GetKeysFrame, 'ok') + def test_ok(self, mock_frame_ok): + self.assertEqual(self.dialog.winfo_class(), 'Toplevel') + self.dialog.button_ok.invoke() + with self.assertRaises(TclError): + self.dialog.winfo_class() + mock_frame_ok.assert_called() + + +class WindowResultTest(unittest.TestCase): + "Test window result get and set." + + @classmethod + def setUpClass(cls): + requires('gui') + cls.root = Tk() + cls.root.withdraw() + cls.dialog = config_key.GetKeysWindow( + cls.root, 'Title', '<>', [], _utest=True) + + @classmethod + def tearDownClass(cls): + cls.dialog.cancel() + del cls.dialog + cls.root.update_idletasks() + cls.root.destroy() + del cls.root + + def test_result(self): + dialog = self.dialog + eq = self.assertEqual + + dialog.result = '' + eq(dialog.result, '') + eq(dialog.frame.result,'') + + dialog.result = 'bar' + eq(dialog.result,'bar') + eq(dialog.frame.result,'bar') + + dialog.frame.result = 'foo' + eq(dialog.result, 'foo') + eq(dialog.frame.result,'foo') class HelperTest(unittest.TestCase): diff --git a/Lib/idlelib/idle_test/test_configdialog.py b/Lib/idlelib/idle_test/test_configdialog.py index 3005ce08c9bf43..e5d5b4013fca57 100644 --- a/Lib/idlelib/idle_test/test_configdialog.py +++ b/Lib/idlelib/idle_test/test_configdialog.py @@ -954,8 +954,8 @@ def test_set_keys_type(self): def test_get_new_keys(self): eq = self.assertEqual d = self.page - orig_getkeysdialog = configdialog.GetKeysDialog - gkd = configdialog.GetKeysDialog = Func(return_self=True) + orig_getkeysdialog = configdialog.GetKeysWindow + gkd = configdialog.GetKeysWindow = Func(return_self=True) gnkn = d.get_new_keys_name = Func() d.button_new_keys.state(('!disabled',)) @@ -997,7 +997,7 @@ def test_get_new_keys(self): eq(d.keybinding.get(), '') del d.get_new_keys_name - configdialog.GetKeysDialog = orig_getkeysdialog + configdialog.GetKeysWindow = orig_getkeysdialog def test_get_new_keys_name(self): orig_sectionname = configdialog.SectionName From cdc01eaed9d19c17b4f01c3da3ca125c49fdffa5 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 30 Sep 2022 10:54:12 -0700 Subject: [PATCH 078/494] gh-87597: Document TimeoutExpired.stdout & .stderr types (GH-97685) This documents the behavior that has always been the case since timeout support was introduced in Python 3.3. (cherry picked from commit b05dd796492160c37c9e15e3882f699f411b3461) Co-authored-by: Gregory P. Smith --- Doc/library/subprocess.rst | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index 43d6ffceee8fc8..dee5bd879db5b5 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -193,7 +193,10 @@ underlying :class:`Popen` interface can be used directly. .. attribute:: output Output of the child process if it was captured by :func:`run` or - :func:`check_output`. Otherwise, ``None``. + :func:`check_output`. Otherwise, ``None``. This is always + :class:`bytes` when any output was captured regardless of the + ``text=True`` setting. It may remain ``None`` instead of ``b''`` + when no output was observed. .. attribute:: stdout @@ -202,7 +205,9 @@ underlying :class:`Popen` interface can be used directly. .. attribute:: stderr Stderr output of the child process if it was captured by :func:`run`. - Otherwise, ``None``. + Otherwise, ``None``. This is always :class:`bytes` when stderr output + was captured regardless of the ``text=True`` setting. It may remain + ``None`` instead of ``b''`` when no stderr output was observed. .. versionadded:: 3.3 From 3124618fd5be9c00b1521c8a980f6aea02dc1a48 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 30 Sep 2022 13:22:48 -0700 Subject: [PATCH 079/494] GH-97592: Fix crash in C remove_done_callback due to evil code (GH-97660) Evil code could cause fut_callbacks to be cleared when PyObject_RichCompareBool is called. (cherry picked from commit 63780f4599acc2c5ee8af5f37ab76c162ad21065) Co-authored-by: Guido van Rossum --- Lib/test/test_asyncio/test_futures.py | 15 +++++++++++++++ .../2022-09-29-23-22-24.gh-issue-97592.tpJg_J.rst | 1 + Modules/_asynciomodule.c | 9 +++++++-- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-29-23-22-24.gh-issue-97592.tpJg_J.rst diff --git a/Lib/test/test_asyncio/test_futures.py b/Lib/test/test_asyncio/test_futures.py index f4a46ec90a16fe..c4c934f547b42a 100644 --- a/Lib/test/test_asyncio/test_futures.py +++ b/Lib/test/test_asyncio/test_futures.py @@ -832,6 +832,21 @@ def __eq__(self, other): fut.remove_done_callback(evil()) + def test_remove_done_callbacks_list_clear(self): + # see https://github.com/python/cpython/issues/97592 for details + + fut = self._new_future() + fut.add_done_callback(str) + + for _ in range(63): + fut.add_done_callback(id) + + class evil: + def __eq__(self, other): + fut.remove_done_callback(other) + + fut.remove_done_callback(evil()) + def test_schedule_callbacks_list_mutation_1(self): # see http://bugs.python.org/issue28963 for details diff --git a/Misc/NEWS.d/next/Library/2022-09-29-23-22-24.gh-issue-97592.tpJg_J.rst b/Misc/NEWS.d/next/Library/2022-09-29-23-22-24.gh-issue-97592.tpJg_J.rst new file mode 100644 index 00000000000000..aa245cf944004e --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-29-23-22-24.gh-issue-97592.tpJg_J.rst @@ -0,0 +1 @@ +Avoid a crash in the C version of :meth:`asyncio.Future.remove_done_callback` when an evil argument is passed. diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index 10679be2ef1938..49f1ce33dc72d7 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -1052,7 +1052,11 @@ _asyncio_Future_remove_done_callback(FutureObj *self, PyObject *fn) return NULL; } - for (i = 0; i < PyList_GET_SIZE(self->fut_callbacks); i++) { + // Beware: PyObject_RichCompareBool below may change fut_callbacks. + // See GH-97592. + for (i = 0; + self->fut_callbacks != NULL && i < PyList_GET_SIZE(self->fut_callbacks); + i++) { int ret; PyObject *item = PyList_GET_ITEM(self->fut_callbacks, i); Py_INCREF(item); @@ -1071,7 +1075,8 @@ _asyncio_Future_remove_done_callback(FutureObj *self, PyObject *fn) } } - if (j == 0) { + // Note: fut_callbacks may have been cleared. + if (j == 0 || self->fut_callbacks == NULL) { Py_CLEAR(self->fut_callbacks); Py_DECREF(newlist); return PyLong_FromSsize_t(len + cleared_callback0); From 95609525de4efd4125390ab8ae82af7bc908cc0d Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 30 Sep 2022 13:23:33 -0700 Subject: [PATCH 080/494] GH-96827: Don't touch closed loops from executor threads (GH-96837) * When chaining futures, skip callback if loop closed. * When shutting down an executor, don't wake a closed loop. (cherry picked from commit e9d63760fea8748638f6e495b5b07bd1805c9591) Co-authored-by: Guido van Rossum --- Lib/asyncio/base_events.py | 6 ++++-- Lib/asyncio/futures.py | 2 ++ .../Library/2022-09-30-15-56-20.gh-issue-96827.lzy1iw.rst | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-30-15-56-20.gh-issue-96827.lzy1iw.rst diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index fa00bf9a2ca090..7c06e48a671a24 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -577,9 +577,11 @@ async def shutdown_default_executor(self): def _do_shutdown(self, future): try: self._default_executor.shutdown(wait=True) - self.call_soon_threadsafe(future.set_result, None) + if not self.is_closed(): + self.call_soon_threadsafe(future.set_result, None) except Exception as ex: - self.call_soon_threadsafe(future.set_exception, ex) + if not self.is_closed(): + self.call_soon_threadsafe(future.set_exception, ex) def _check_running(self): if self.is_running(): diff --git a/Lib/asyncio/futures.py b/Lib/asyncio/futures.py index 4bd9629e9eb62b..39776e3c2cce48 100644 --- a/Lib/asyncio/futures.py +++ b/Lib/asyncio/futures.py @@ -404,6 +404,8 @@ def _call_set_state(source): if dest_loop is None or dest_loop is source_loop: _set_state(destination, source) else: + if dest_loop.is_closed(): + return dest_loop.call_soon_threadsafe(_set_state, destination, source) destination.add_done_callback(_call_check_cancel) diff --git a/Misc/NEWS.d/next/Library/2022-09-30-15-56-20.gh-issue-96827.lzy1iw.rst b/Misc/NEWS.d/next/Library/2022-09-30-15-56-20.gh-issue-96827.lzy1iw.rst new file mode 100644 index 00000000000000..159ab32ffbfc34 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-30-15-56-20.gh-issue-96827.lzy1iw.rst @@ -0,0 +1 @@ +Avoid spurious tracebacks from :mod:`asyncio` when default executor cleanup is delayed until after the event loop is closed (e.g. as the result of a keyboard interrupt). From 3614bbb8eb8e0110f9df1e7cb3875e65d7959730 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 1 Oct 2022 11:10:04 -0700 Subject: [PATCH 081/494] gh-90908: Document asyncio.Task.cancelling() and asyncio.Task.uncancel() (GH-95253) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Thomas Grainger (cherry picked from commit f00645d5dbf4cfa0b8f382c8977724578dff191d) Co-authored-by: Łukasz Langa --- Doc/library/asyncio-task.rst | 202 ++++++++++++++++++---------- Lib/asyncio/tasks.py | 4 +- Lib/test/test_asyncio/test_tasks.py | 128 +++++++++++++++++- 3 files changed, 254 insertions(+), 80 deletions(-) diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index 221197ea40ffd9..ade969220ea701 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -294,11 +294,13 @@ perform clean-up logic. In case :exc:`asyncio.CancelledError` is explicitly caught, it should generally be propagated when clean-up is complete. Most code can safely ignore :exc:`asyncio.CancelledError`. -Important asyncio components, like :class:`asyncio.TaskGroup` and the -:func:`asyncio.timeout` context manager, are implemented using cancellation -internally and might misbehave if a coroutine swallows -:exc:`asyncio.CancelledError`. +The asyncio components that enable structured concurrency, like +:class:`asyncio.TaskGroup` and :func:`asyncio.timeout`, +are implemented using cancellation internally and might misbehave if +a coroutine swallows :exc:`asyncio.CancelledError`. Similarly, user code +should not call :meth:`uncancel `. +.. _taskgroups: Task Groups =========== @@ -1003,76 +1005,6 @@ Task Object Deprecation warning is emitted if *loop* is not specified and there is no running event loop. - .. method:: cancel(msg=None) - - Request the Task to be cancelled. - - This arranges for a :exc:`CancelledError` exception to be thrown - into the wrapped coroutine on the next cycle of the event loop. - - The coroutine then has a chance to clean up or even deny the - request by suppressing the exception with a :keyword:`try` ... - ... ``except CancelledError`` ... :keyword:`finally` block. - Therefore, unlike :meth:`Future.cancel`, :meth:`Task.cancel` does - not guarantee that the Task will be cancelled, although - suppressing cancellation completely is not common and is actively - discouraged. - - .. versionchanged:: 3.9 - Added the *msg* parameter. - - .. deprecated-removed:: 3.11 3.14 - *msg* parameter is ambiguous when multiple :meth:`cancel` - are called with different cancellation messages. - The argument will be removed. - - .. _asyncio_example_task_cancel: - - The following example illustrates how coroutines can intercept - the cancellation request:: - - async def cancel_me(): - print('cancel_me(): before sleep') - - try: - # Wait for 1 hour - await asyncio.sleep(3600) - except asyncio.CancelledError: - print('cancel_me(): cancel sleep') - raise - finally: - print('cancel_me(): after sleep') - - async def main(): - # Create a "cancel_me" Task - task = asyncio.create_task(cancel_me()) - - # Wait for 1 second - await asyncio.sleep(1) - - task.cancel() - try: - await task - except asyncio.CancelledError: - print("main(): cancel_me is cancelled now") - - asyncio.run(main()) - - # Expected output: - # - # cancel_me(): before sleep - # cancel_me(): cancel sleep - # cancel_me(): after sleep - # main(): cancel_me is cancelled now - - .. method:: cancelled() - - Return ``True`` if the Task is *cancelled*. - - The Task is *cancelled* when the cancellation was requested with - :meth:`cancel` and the wrapped coroutine propagated the - :exc:`CancelledError` exception thrown into it. - .. method:: done() Return ``True`` if the Task is *done*. @@ -1186,3 +1118,125 @@ Task Object in the :func:`repr` output of a task object. .. versionadded:: 3.8 + + .. method:: cancel(msg=None) + + Request the Task to be cancelled. + + This arranges for a :exc:`CancelledError` exception to be thrown + into the wrapped coroutine on the next cycle of the event loop. + + The coroutine then has a chance to clean up or even deny the + request by suppressing the exception with a :keyword:`try` ... + ... ``except CancelledError`` ... :keyword:`finally` block. + Therefore, unlike :meth:`Future.cancel`, :meth:`Task.cancel` does + not guarantee that the Task will be cancelled, although + suppressing cancellation completely is not common and is actively + discouraged. + + .. versionchanged:: 3.9 + Added the *msg* parameter. + + .. deprecated-removed:: 3.11 3.14 + *msg* parameter is ambiguous when multiple :meth:`cancel` + are called with different cancellation messages. + The argument will be removed. + + .. _asyncio_example_task_cancel: + + The following example illustrates how coroutines can intercept + the cancellation request:: + + async def cancel_me(): + print('cancel_me(): before sleep') + + try: + # Wait for 1 hour + await asyncio.sleep(3600) + except asyncio.CancelledError: + print('cancel_me(): cancel sleep') + raise + finally: + print('cancel_me(): after sleep') + + async def main(): + # Create a "cancel_me" Task + task = asyncio.create_task(cancel_me()) + + # Wait for 1 second + await asyncio.sleep(1) + + task.cancel() + try: + await task + except asyncio.CancelledError: + print("main(): cancel_me is cancelled now") + + asyncio.run(main()) + + # Expected output: + # + # cancel_me(): before sleep + # cancel_me(): cancel sleep + # cancel_me(): after sleep + # main(): cancel_me is cancelled now + + .. method:: cancelled() + + Return ``True`` if the Task is *cancelled*. + + The Task is *cancelled* when the cancellation was requested with + :meth:`cancel` and the wrapped coroutine propagated the + :exc:`CancelledError` exception thrown into it. + + .. method:: uncancel() + + Decrement the count of cancellation requests to this Task. + + Returns the remaining number of cancellation requests. + + Note that once execution of a cancelled task completed, further + calls to :meth:`uncancel` are ineffective. + + .. versionadded:: 3.11 + + This method is used by asyncio's internals and isn't expected to be + used by end-user code. In particular, if a Task gets successfully + uncancelled, this allows for elements of structured concurrency like + :ref:`taskgroups` and :func:`asyncio.timeout` to continue running, + isolating cancellation to the respective structured block. + For example:: + + async def make_request_with_timeout(): + try: + async with asyncio.timeout(1): + # Structured block affected by the timeout: + await make_request() + await make_another_request() + except TimeoutError: + log("There was a timeout") + # Outer code not affected by the timeout: + await unrelated_code() + + While the block with ``make_request()`` and ``make_another_request()`` + might get cancelled due to the timeout, ``unrelated_code()`` should + continue running even in case of the timeout. This is implemented + with :meth:`uncancel`. :class:`TaskGroup` context managers use + :func:`uncancel` in a similar fashion. + + .. method:: cancelling() + + Return the number of pending cancellation requests to this Task, i.e., + the number of calls to :meth:`cancel` less the number of + :meth:`uncancel` calls. + + Note that if this number is greater than zero but the Task is + still executing, :meth:`cancelled` will still return ``False``. + This is because this number can be lowered by calling :meth:`uncancel`, + which can lead to the task not being cancelled after all if the + cancellation requests go down to zero. + + This method is used by asyncio's internals and isn't expected to be + used by end-user code. See :meth:`uncancel` for more details. + + .. versionadded:: 3.11 diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index 56a355cbdc70c8..e48da0f2008829 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -243,8 +243,8 @@ def cancelling(self): def uncancel(self): """Decrement the task's count of cancellation requests. - This should be used by tasks that catch CancelledError - and wish to continue indefinitely until they are cancelled again. + This should be called by the party that called `cancel()` on the task + beforehand. Returns the remaining number of cancellation requests. """ diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py index 427034a1f1bc66..1cc20609bebc4d 100644 --- a/Lib/test/test_asyncio/test_tasks.py +++ b/Lib/test/test_asyncio/test_tasks.py @@ -525,7 +525,7 @@ async def task(): finally: loop.close() - def test_uncancel(self): + def test_uncancel_basic(self): loop = asyncio.new_event_loop() async def task(): @@ -538,17 +538,137 @@ async def task(): try: t = self.new_task(loop, task()) loop.run_until_complete(asyncio.sleep(0.01)) - self.assertTrue(t.cancel()) # Cancel first sleep + + # Cancel first sleep + self.assertTrue(t.cancel()) self.assertIn(" cancelling ", repr(t)) + self.assertEqual(t.cancelling(), 1) + self.assertFalse(t.cancelled()) # Task is still not complete loop.run_until_complete(asyncio.sleep(0.01)) - self.assertNotIn(" cancelling ", repr(t)) # after .uncancel() - self.assertTrue(t.cancel()) # Cancel second sleep + # after .uncancel() + self.assertNotIn(" cancelling ", repr(t)) + self.assertEqual(t.cancelling(), 0) + self.assertFalse(t.cancelled()) # Task is still not complete + + # Cancel second sleep + self.assertTrue(t.cancel()) + self.assertEqual(t.cancelling(), 1) + self.assertFalse(t.cancelled()) # Task is still not complete with self.assertRaises(asyncio.CancelledError): loop.run_until_complete(t) + self.assertTrue(t.cancelled()) # Finally, task complete + self.assertTrue(t.done()) + + # uncancel is no longer effective after the task is complete + t.uncancel() + self.assertTrue(t.cancelled()) + self.assertTrue(t.done()) finally: loop.close() + def test_uncancel_structured_blocks(self): + # This test recreates the following high-level structure using uncancel():: + # + # async def make_request_with_timeout(): + # try: + # async with asyncio.timeout(1): + # # Structured block affected by the timeout: + # await make_request() + # await make_another_request() + # except TimeoutError: + # pass # There was a timeout + # # Outer code not affected by the timeout: + # await unrelated_code() + + loop = asyncio.new_event_loop() + + async def make_request_with_timeout(*, sleep: float, timeout: float): + task = asyncio.current_task() + loop = task.get_loop() + + timed_out = False + structured_block_finished = False + outer_code_reached = False + + def on_timeout(): + nonlocal timed_out + timed_out = True + task.cancel() + + timeout_handle = loop.call_later(timeout, on_timeout) + try: + try: + # Structured block affected by the timeout + await asyncio.sleep(sleep) + structured_block_finished = True + finally: + timeout_handle.cancel() + if ( + timed_out + and task.uncancel() == 0 + and sys.exc_info()[0] is asyncio.CancelledError + ): + # Note the five rules that are needed here to satisfy proper + # uncancellation: + # + # 1. handle uncancellation in a `finally:` block to allow for + # plain returns; + # 2. our `timed_out` flag is set, meaning that it was our event + # that triggered the need to uncancel the task, regardless of + # what exception is raised; + # 3. we can call `uncancel()` because *we* called `cancel()` + # before; + # 4. we call `uncancel()` but we only continue converting the + # CancelledError to TimeoutError if `uncancel()` caused the + # cancellation request count go down to 0. We need to look + # at the counter vs having a simple boolean flag because our + # code might have been nested (think multiple timeouts). See + # commit 7fce1063b6e5a366f8504e039a8ccdd6944625cd for + # details. + # 5. we only convert CancelledError to TimeoutError; for other + # exceptions raised due to the cancellation (like + # a ConnectionLostError from a database client), simply + # propagate them. + # + # Those checks need to take place in this exact order to make + # sure the `cancelling()` counter always stays in sync. + # + # Additionally, the original stimulus to `cancel()` the task + # needs to be unscheduled to avoid re-cancelling the task later. + # Here we do it by cancelling `timeout_handle` in the `finally:` + # block. + raise TimeoutError + except TimeoutError: + self.assertTrue(timed_out) + + # Outer code not affected by the timeout: + outer_code_reached = True + await asyncio.sleep(0) + return timed_out, structured_block_finished, outer_code_reached + + # Test which timed out. + t1 = self.new_task(loop, make_request_with_timeout(sleep=10.0, timeout=0.1)) + timed_out, structured_block_finished, outer_code_reached = ( + loop.run_until_complete(t1) + ) + self.assertTrue(timed_out) + self.assertFalse(structured_block_finished) # it was cancelled + self.assertTrue(outer_code_reached) # task got uncancelled after leaving + # the structured block and continued until + # completion + self.assertEqual(t1.cancelling(), 0) # no pending cancellation of the outer task + + # Test which did not time out. + t2 = self.new_task(loop, make_request_with_timeout(sleep=0, timeout=10.0)) + timed_out, structured_block_finished, outer_code_reached = ( + loop.run_until_complete(t2) + ) + self.assertFalse(timed_out) + self.assertTrue(structured_block_finished) + self.assertTrue(outer_code_reached) + self.assertEqual(t2.cancelling(), 0) + def test_cancel(self): def gen(): From 35a394c556d04048f24deda879b8547c598928dc Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 1 Oct 2022 16:51:34 -0700 Subject: [PATCH 082/494] Fix capitalization of Unix in documentation (GH-96913) (cherry picked from commit bd7d0e875e6955dd69cde18a034e59a75b8b4d00) Co-authored-by: Will Hawkins <8715530+hawkinsw@users.noreply.github.com> --- Doc/library/email.compat32-message.rst | 4 ++-- Doc/library/email.generator.rst | 4 ++-- Doc/library/multiprocessing.rst | 4 ++-- Doc/library/os.path.rst | 2 +- Doc/library/test.rst | 2 +- Doc/whatsnew/3.3.rst | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Doc/library/email.compat32-message.rst b/Doc/library/email.compat32-message.rst index c68e773b1688aa..4eaa9d588ca35e 100644 --- a/Doc/library/email.compat32-message.rst +++ b/Doc/library/email.compat32-message.rst @@ -83,7 +83,7 @@ Here are the methods of the :class:`Message` class: Note that this method is provided as a convenience and may not always format the message the way you want. For example, by default it does not do the mangling of lines that begin with ``From`` that is - required by the unix mbox format. For more flexibility, instantiate a + required by the Unix mbox format. For more flexibility, instantiate a :class:`~email.generator.Generator` instance and use its :meth:`~email.generator.Generator.flatten` method directly. For example:: @@ -125,7 +125,7 @@ Here are the methods of the :class:`Message` class: Note that this method is provided as a convenience and may not always format the message the way you want. For example, by default it does not do the mangling of lines that begin with ``From`` that is - required by the unix mbox format. For more flexibility, instantiate a + required by the Unix mbox format. For more flexibility, instantiate a :class:`~email.generator.BytesGenerator` instance and use its :meth:`~email.generator.BytesGenerator.flatten` method directly. For example:: diff --git a/Doc/library/email.generator.rst b/Doc/library/email.generator.rst index 2d9bae6a7ee57b..34ad7b7f200af3 100644 --- a/Doc/library/email.generator.rst +++ b/Doc/library/email.generator.rst @@ -55,7 +55,7 @@ To accommodate reproducible processing of SMIME-signed messages defaults to the value of the :attr:`~email.policy.Policy.mangle_from_` setting of the *policy* (which is ``True`` for the :data:`~email.policy.compat32` policy and ``False`` for all others). - *mangle_from_* is intended for use when messages are stored in unix mbox + *mangle_from_* is intended for use when messages are stored in Unix mbox format (see :mod:`mailbox` and `WHY THE CONTENT-LENGTH FORMAT IS BAD `_). @@ -156,7 +156,7 @@ to be using :class:`BytesGenerator`, and not :class:`Generator`. defaults to the value of the :attr:`~email.policy.Policy.mangle_from_` setting of the *policy* (which is ``True`` for the :data:`~email.policy.compat32` policy and ``False`` for all others). - *mangle_from_* is intended for use when messages are stored in unix mbox + *mangle_from_* is intended for use when messages are stored in Unix mbox format (see :mod:`mailbox` and `WHY THE CONTENT-LENGTH FORMAT IS BAD `_). diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index caf24a35fdfc84..d74fe92f20d0cf 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -144,8 +144,8 @@ to start a process. These *start methods* are subprocess. See :issue:`33725`. .. versionchanged:: 3.4 - *spawn* added on all unix platforms, and *forkserver* added for - some unix platforms. + *spawn* added on all Unix platforms, and *forkserver* added for + some Unix platforms. Child processes no longer inherit all of the parents inheritable handles on Windows. diff --git a/Doc/library/os.path.rst b/Doc/library/os.path.rst index f02877ebcea92f..0becb592b41ee6 100644 --- a/Doc/library/os.path.rst +++ b/Doc/library/os.path.rst @@ -16,7 +16,7 @@ files see :func:`open`, and for accessing the filesystem see the :mod:`os` module. The path parameters can be passed as strings, or bytes, or any object implementing the :class:`os.PathLike` protocol. -Unlike a unix shell, Python does not do any *automatic* path expansions. +Unlike a Unix shell, Python does not do any *automatic* path expansions. Functions such as :func:`expanduser` and :func:`expandvars` can be invoked explicitly when an application desires shell-like path expansion. (See also the :mod:`glob` module.) diff --git a/Doc/library/test.rst b/Doc/library/test.rst index 43362580299b3e..8e05ff39c10945 100644 --- a/Doc/library/test.rst +++ b/Doc/library/test.rst @@ -1075,7 +1075,7 @@ The :mod:`test.support.socket_helper` module provides support for socket tests. .. function:: bind_unix_socket(sock, addr) - Bind a unix socket, raising :exc:`unittest.SkipTest` if + Bind a Unix socket, raising :exc:`unittest.SkipTest` if :exc:`PermissionError` is raised. diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst index 1b5b6831e4305c..2d78f81798f283 100644 --- a/Doc/whatsnew/3.3.rst +++ b/Doc/whatsnew/3.3.rst @@ -1898,7 +1898,7 @@ socket family on OS X. (Contributed by Michael Goderbauer in :issue:`13777`.) * New function :func:`~socket.sethostname` allows the hostname to be set - on unix systems if the calling process has sufficient privileges. + on Unix systems if the calling process has sufficient privileges. (Contributed by Ross Lagerwall in :issue:`10866`.) From 9189cd6b05a32b67981d2157947d745b2d0dac88 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 1 Oct 2022 18:21:15 -0700 Subject: [PATCH 083/494] gh-95588: Drop the safety claim from `ast.literal_eval` docs. (GH-95919) It was never really safe and this claim conflicts directly with the big warning in the docs about it being able to crash the interpreter. (cherry picked from commit 8baef8ae367041a5cfefb40b19c7b87e9bcb56a2) Co-authored-by: Gregory P. Smith --- Doc/library/ast.rst | 24 ++++++++++++------- Lib/ast.py | 4 +++- ...2-08-12-01-12-52.gh-issue-95588.PA0FI7.rst | 6 +++++ 3 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 Misc/NEWS.d/next/Documentation/2022-08-12-01-12-52.gh-issue-95588.PA0FI7.rst diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index da0fe8c3d6b2d3..3ed2c4fa7370e5 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -1990,20 +1990,28 @@ and classes for traversing abstract syntax trees: .. function:: literal_eval(node_or_string) - Safely evaluate an expression node or a string containing a Python literal or + Evaluate an expression node or a string containing only a Python literal or container display. The string or node provided may only consist of the following Python literal structures: strings, bytes, numbers, tuples, lists, dicts, sets, booleans, ``None`` and ``Ellipsis``. - This can be used for safely evaluating strings containing Python values from - untrusted sources without the need to parse the values oneself. It is not - capable of evaluating arbitrarily complex expressions, for example involving - operators or indexing. + This can be used for evaluating strings containing Python values without the + need to parse the values oneself. It is not capable of evaluating + arbitrarily complex expressions, for example involving operators or + indexing. + + This function had been documented as "safe" in the past without defining + what that meant. That was misleading. This is specifically designed not to + execute Python code, unlike the more general :func:`eval`. There is no + namespace, no name lookups, or ability to call out. But it is not free from + attack: A relatively small input can lead to memory exhaustion or to C stack + exhaustion, crashing the process. There is also the possibility for + excessive CPU consumption denial of service on some inputs. Calling it on + untrusted data is thus not recommended. .. warning:: - It is possible to crash the Python interpreter with a - sufficiently large/complex string due to stack depth limitations - in Python's AST compiler. + It is possible to crash the Python interpreter due to stack depth + limitations in Python's AST compiler. It can raise :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, :exc:`MemoryError` and :exc:`RecursionError` depending on the malformed diff --git a/Lib/ast.py b/Lib/ast.py index b0e1c41709fad8..8c10d08002202c 100644 --- a/Lib/ast.py +++ b/Lib/ast.py @@ -53,10 +53,12 @@ def parse(source, filename='', mode='exec', *, def literal_eval(node_or_string): """ - Safely evaluate an expression node or a string containing a Python + Evaluate an expression node or a string containing only a Python expression. The string or node provided may only consist of the following Python literal structures: strings, bytes, numbers, tuples, lists, dicts, sets, booleans, and None. + + Caution: A complex expression can overflow the C stack and cause a crash. """ if isinstance(node_or_string, str): node_or_string = parse(node_or_string.lstrip(" \t"), mode='eval') diff --git a/Misc/NEWS.d/next/Documentation/2022-08-12-01-12-52.gh-issue-95588.PA0FI7.rst b/Misc/NEWS.d/next/Documentation/2022-08-12-01-12-52.gh-issue-95588.PA0FI7.rst new file mode 100644 index 00000000000000..c070bbc19517fc --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2022-08-12-01-12-52.gh-issue-95588.PA0FI7.rst @@ -0,0 +1,6 @@ +Clarified the conflicting advice given in the :mod:`ast` documentation about +:func:`ast.literal_eval` being "safe" for use on untrusted input while at +the same time warning that it can crash the process. The latter statement is +true and is deemed unfixable without a large amount of work unsuitable for a +bugfix. So we keep the warning and no longer claim that ``literal_eval`` is +safe. From dbde686a49c2d0d7ce476d134f8daffd636382df Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 1 Oct 2022 21:19:57 -0700 Subject: [PATCH 084/494] gh-97591: In `Exception.__setstate__()` acquire strong references before calling `tp_hash` slot (GH-97700) (cherry picked from commit d63943860974f232b5f027dc6535d25d1b4d8fc0) Co-authored-by: Ofey Chan --- Lib/test/test_baseexception.py | 25 +++++++++++++++++++ ...2-10-01-08-55-09.gh-issue-97591.pw6kkH.rst | 2 ++ Objects/exceptions.c | 8 +++++- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst diff --git a/Lib/test/test_baseexception.py b/Lib/test/test_baseexception.py index 0061b3fa8e6555..4c3cf0b964ae56 100644 --- a/Lib/test/test_baseexception.py +++ b/Lib/test/test_baseexception.py @@ -114,6 +114,31 @@ def test_interface_no_arg(self): [repr(exc), exc.__class__.__name__ + '()']) self.interface_test_driver(results) + def test_setstate_refcount_no_crash(self): + # gh-97591: Acquire strong reference before calling tp_hash slot + # in PyObject_SetAttr. + import gc + d = {} + class HashThisKeyWillClearTheDict(str): + def __hash__(self) -> int: + d.clear() + return super().__hash__() + class Value(str): + pass + exc = Exception() + + d[HashThisKeyWillClearTheDict()] = Value() # refcount of Value() is 1 now + + # Exception.__setstate__ should aquire a strong reference of key and + # value in the dict. Otherwise, Value()'s refcount would go below + # zero in the tp_hash call in PyObject_SetAttr(), and it would cause + # crash in GC. + exc.__setstate__(d) # __hash__() is called again here, clearing the dict. + + # This GC would crash if the refcount of Value() goes below zero. + gc.collect() + + class UsageTests(unittest.TestCase): """Test usage of exceptions""" diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst new file mode 100644 index 00000000000000..d3a5867db7fce2 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst @@ -0,0 +1,2 @@ +Fixed a missing incref/decref pair in `Exception.__setstate__()`. +Patch by Ofey Chan. diff --git a/Objects/exceptions.c b/Objects/exceptions.c index 319eb238ecf570..5ab4ac09e66b22 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -167,8 +167,14 @@ BaseException_setstate(PyObject *self, PyObject *state) return NULL; } while (PyDict_Next(state, &i, &d_key, &d_value)) { - if (PyObject_SetAttr(self, d_key, d_value) < 0) + Py_INCREF(d_key); + Py_INCREF(d_value); + int res = PyObject_SetAttr(self, d_key, d_value); + Py_DECREF(d_value); + Py_DECREF(d_key); + if (res < 0) { return NULL; + } } } Py_RETURN_NONE; From 1fa848ac396d8eef807589bfbd5782dcb97acce9 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 1 Oct 2022 22:20:43 -0700 Subject: [PATCH 085/494] gh-95975: Move except/*/finally ref labels to more precise locations (GH-95976) * gh-95975: Move except/*/finally ref labels to more precise locations * Add section headers to fix :keyword: role and aid navigation * Move see also to the introduction rather than a particular subsection * Fix other minor Sphinx syntax issues with except Co-authored-by: Ezio Melotti * Suppress redundant link to same section for except too * Don't link try/except/else/finally keywords if in the same section * Format try/except/finally as keywords in modified sections Co-authored-by: Ezio Melotti (cherry picked from commit dcc82331c8f05a6a149ac15c519d4fbae72692b2) Co-authored-by: C.A.M. Gerlach --- Doc/reference/compound_stmts.rst | 121 +++++++++++++++++++------------ 1 file changed, 76 insertions(+), 45 deletions(-) diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index 751c7c2dbcf257..d914686c0a1ad9 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -199,10 +199,8 @@ returns the list ``[0, 1, 2]``. .. versionchanged:: 3.11 Starred elements are now allowed in the expression list. + .. _try: -.. _except: -.. _except_star: -.. _finally: The :keyword:`!try` statement ============================= @@ -215,7 +213,7 @@ The :keyword:`!try` statement keyword: as single: : (colon); compound statement -The :keyword:`try` statement specifies exception handlers and/or cleanup code +The :keyword:`!try` statement specifies exception handlers and/or cleanup code for a group of statements: .. productionlist:: python-grammar @@ -231,40 +229,56 @@ for a group of statements: try3_stmt: "try" ":" `suite` : "finally" ":" `suite` +Additional information on exceptions can be found in section :ref:`exceptions`, +and information on using the :keyword:`raise` statement to generate exceptions +may be found in section :ref:`raise`. -The :keyword:`except` clause(s) specify one or more exception handlers. When no + +.. _except: + +:keyword:`!except` clause +------------------------- + +The :keyword:`!except` clause(s) specify one or more exception handlers. When no exception occurs in the :keyword:`try` clause, no exception handler is executed. When an exception occurs in the :keyword:`!try` suite, a search for an exception -handler is started. This search inspects the except clauses in turn until one -is found that matches the exception. An expression-less except clause, if -present, must be last; it matches any exception. For an except clause with an -expression, that expression is evaluated, and the clause matches the exception +handler is started. This search inspects the :keyword:`!except` clauses in turn +until one is found that matches the exception. +An expression-less :keyword:`!except` clause, if present, must be last; +it matches any exception. +For an :keyword:`!except` clause with an expression, +that expression is evaluated, and the clause matches the exception if the resulting object is "compatible" with the exception. An object is compatible with an exception if the object is the class or a :term:`non-virtual base class ` of the exception object, or a tuple containing an item that is the class or a non-virtual base class of the exception object. -If no except clause matches the exception, the search for an exception handler +If no :keyword:`!except` clause matches the exception, +the search for an exception handler continues in the surrounding code and on the invocation stack. [#]_ -If the evaluation of an expression in the header of an except clause raises an -exception, the original search for a handler is canceled and a search starts for +If the evaluation of an expression +in the header of an :keyword:`!except` clause raises an exception, +the original search for a handler is canceled and a search starts for the new exception in the surrounding code and on the call stack (it is treated as if the entire :keyword:`try` statement raised the exception). .. index:: single: as; except clause -When a matching except clause is found, the exception is assigned to the target -specified after the :keyword:`!as` keyword in that except clause, if present, and -the except clause's suite is executed. All except clauses must have an -executable block. When the end of this block is reached, execution continues -normally after the entire try statement. (This means that if two nested -handlers exist for the same exception, and the exception occurs in the try -clause of the inner handler, the outer handler will not handle the exception.) +When a matching :keyword:`!except` clause is found, +the exception is assigned to the target +specified after the :keyword:`!as` keyword in that :keyword:`!except` clause, +if present, and the :keyword:`!except` clause's suite is executed. +All :keyword:`!except` clauses must have an executable block. +When the end of this block is reached, execution continues +normally after the entire :keyword:`try` statement. +(This means that if two nested handlers exist for the same exception, +and the exception occurs in the :keyword:`!try` clause of the inner handler, +the outer handler will not handle the exception.) When an exception has been assigned using ``as target``, it is cleared at the -end of the except clause. This is as if :: +end of the :keyword:`!except` clause. This is as if :: except E as N: foo @@ -278,7 +292,8 @@ was translated to :: del N This means the exception must be assigned to a different name to be able to -refer to it after the except clause. Exceptions are cleared because with the +refer to it after the :keyword:`!except` clause. +Exceptions are cleared because with the traceback attached to them, they form a reference cycle with the stack frame, keeping all locals in that frame alive until the next garbage collection occurs. @@ -286,7 +301,8 @@ keeping all locals in that frame alive until the next garbage collection occurs. module: sys object: traceback -Before an except clause's suite is executed, details about the exception are +Before an :keyword:`!except` clause's suite is executed, +details about the exception are stored in the :mod:`sys` module and can be accessed via :func:`sys.exc_info`. :func:`sys.exc_info` returns a 3-tuple consisting of the exception class, the exception instance and a traceback object (see section :ref:`types`) identifying @@ -312,17 +328,24 @@ when leaving an exception handler:: >>> print(sys.exc_info()) (None, None, None) + .. index:: keyword: except_star -The :keyword:`except*` clause(s) are used for handling -:exc:`ExceptionGroup`\ s. The exception type for matching is interpreted as in +.. _except_star: + +:keyword:`!except*` clause +-------------------------- + +The :keyword:`!except*` clause(s) are used for handling +:exc:`ExceptionGroup`\s. The exception type for matching is interpreted as in the case of :keyword:`except`, but in the case of exception groups we can have partial matches when the type matches some of the exceptions in the group. -This means that multiple except* clauses can execute, each handling part of -the exception group. Each clause executes once and handles an exception group +This means that multiple :keyword:`!except*` clauses can execute, +each handling part of the exception group. +Each clause executes once and handles an exception group of all matching exceptions. Each exception in the group is handled by at most -one except* clause, the first that matches it. :: +one :keyword:`!except*` clause, the first that matches it. :: >>> try: ... raise ExceptionGroup("eg", @@ -342,15 +365,16 @@ one except* clause, the first that matches it. :: +------------------------------------ >>> - Any remaining exceptions that were not handled by any except* clause - are re-raised at the end, combined into an exception group along with - all exceptions that were raised from within except* clauses. + Any remaining exceptions that were not handled by any :keyword:`!except*` + clause are re-raised at the end, combined into an exception group along with + all exceptions that were raised from within :keyword:`!except*` clauses. - An except* clause must have a matching type, and this type cannot be a - subclass of :exc:`BaseExceptionGroup`. It is not possible to mix except - and except* in the same :keyword:`try`. :keyword:`break`, - :keyword:`continue` and :keyword:`return` cannot appear in an except* - clause. + An :keyword:`!except*` clause must have a matching type, + and this type cannot be a subclass of :exc:`BaseExceptionGroup`. + It is not possible to mix :keyword:`except` and :keyword:`!except*` + in the same :keyword:`try`. + :keyword:`break`, :keyword:`continue` and :keyword:`return` + cannot appear in an :keyword:`!except*` clause. .. index:: @@ -359,17 +383,28 @@ one except* clause, the first that matches it. :: statement: break statement: continue +.. _except_else: + +:keyword:`!else` clause +----------------------- + The optional :keyword:`!else` clause is executed if the control flow leaves the :keyword:`try` suite, no exception was raised, and no :keyword:`return`, :keyword:`continue`, or :keyword:`break` statement was executed. Exceptions in the :keyword:`!else` clause are not handled by the preceding :keyword:`except` clauses. + .. index:: keyword: finally -If :keyword:`finally` is present, it specifies a 'cleanup' handler. The +.. _finally: + +:keyword:`!finally` clause +-------------------------- + +If :keyword:`!finally` is present, it specifies a 'cleanup' handler. The :keyword:`try` clause is executed, including any :keyword:`except` and -:keyword:`!else` clauses. If an exception occurs in any of the clauses and is +:keyword:`else` clauses. If an exception occurs in any of the clauses and is not handled, the exception is temporarily saved. The :keyword:`!finally` clause is executed. If there is a saved exception it is re-raised at the end of the :keyword:`!finally` clause. If the :keyword:`!finally` clause raises another @@ -387,7 +422,7 @@ or :keyword:`continue` statement, the saved exception is discarded:: 42 The exception information is not available to the program during execution of -the :keyword:`finally` clause. +the :keyword:`!finally` clause. .. index:: statement: return @@ -396,10 +431,10 @@ the :keyword:`finally` clause. When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement is executed in the :keyword:`try` suite of a :keyword:`!try`...\ :keyword:`!finally` -statement, the :keyword:`finally` clause is also executed 'on the way out.' +statement, the :keyword:`!finally` clause is also executed 'on the way out.' The return value of a function is determined by the last :keyword:`return` -statement executed. Since the :keyword:`finally` clause always executes, a +statement executed. Since the :keyword:`!finally` clause always executes, a :keyword:`!return` statement executed in the :keyword:`!finally` clause will always be the last one executed:: @@ -412,13 +447,9 @@ always be the last one executed:: >>> foo() 'finally' -Additional information on exceptions can be found in section :ref:`exceptions`, -and information on using the :keyword:`raise` statement to generate exceptions -may be found in section :ref:`raise`. - .. versionchanged:: 3.8 Prior to Python 3.8, a :keyword:`continue` statement was illegal in the - :keyword:`finally` clause due to a problem with the implementation. + :keyword:`!finally` clause due to a problem with the implementation. .. _with: From 8c528ef4a1804975cd7dc53db1c229bce8e6b875 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 1 Oct 2022 22:28:54 -0700 Subject: [PATCH 086/494] gh-97607: Fix content parsing in the impl-detail reST directive (GH-97652) * Don't parse content as arg in the impl-detail directive This does not change the (untranslated) output, but ensures that the doctree node metadata is correct. which fixes gh-97607 with the text not being translated. It also simplifies the code and logic and makes it consistant with the docutils built-in directives. * Remove unused branch from impl-detail directive handling no-content case This is not used anywhere in the docs and lacks a clear use case, and is more likely a mistake which is now flagged at build time. This simplifies the logic from two code paths to one, and makes the behavior consistant with similar built-in directives (e.g. the various admonition types). * Further simplify impl-detail reST directive code (cherry picked from commit e8165d47b852e933c176209ddc0b5836a9b0d5f4) Co-authored-by: C.A.M. Gerlach --- Doc/tools/extensions/pyspecific.py | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/Doc/tools/extensions/pyspecific.py b/Doc/tools/extensions/pyspecific.py index f326e77b2632da..647554d057d917 100644 --- a/Doc/tools/extensions/pyspecific.py +++ b/Doc/tools/extensions/pyspecific.py @@ -101,33 +101,24 @@ def source_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): class ImplementationDetail(Directive): has_content = True - required_arguments = 0 - optional_arguments = 1 final_argument_whitespace = True # This text is copied to templates/dummy.html label_text = 'CPython implementation detail:' def run(self): + self.assert_has_content() pnode = nodes.compound(classes=['impl-detail']) label = translators['sphinx'].gettext(self.label_text) content = self.content add_text = nodes.strong(label, label) - if self.arguments: - n, m = self.state.inline_text(self.arguments[0], self.lineno) - pnode.append(nodes.paragraph('', '', *(n + m))) self.state.nested_parse(content, self.content_offset, pnode) - if pnode.children and isinstance(pnode[0], nodes.paragraph): - content = nodes.inline(pnode[0].rawsource, translatable=True) - content.source = pnode[0].source - content.line = pnode[0].line - content += pnode[0].children - pnode[0].replace_self(nodes.paragraph('', '', content, - translatable=False)) - pnode[0].insert(0, add_text) - pnode[0].insert(1, nodes.Text(' ')) - else: - pnode.insert(0, nodes.paragraph('', '', add_text)) + content = nodes.inline(pnode[0].rawsource, translatable=True) + content.source = pnode[0].source + content.line = pnode[0].line + content += pnode[0].children + pnode[0].replace_self(nodes.paragraph( + '', '', add_text, nodes.Text(' '), content, translatable=False)) return [pnode] From 011260bca044f0186c230e7a341577c2e6708001 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 2 Oct 2022 09:44:42 -0700 Subject: [PATCH 087/494] =?UTF-8?q?[3.11]=20[docs]=20Update=20logging=20co?= =?UTF-8?q?okbook=20with=20recipe=20for=20using=20a=20logger=20like=20an?= =?UTF-8?q?=20output=E2=80=A6=20(GH-97730)=20(GH-97735)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/howto/logging-cookbook.rst | 76 ++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst index 5b079744df12ed..ff7ba0789608ff 100644 --- a/Doc/howto/logging-cookbook.rst +++ b/Doc/howto/logging-cookbook.rst @@ -3428,6 +3428,82 @@ the above handler, you'd pass structured data using something like this:: i = 1 logger.debug('Message %d', i, extra=extra) +How to treat a logger like an output stream +------------------------------------------- + +Sometimes, you need to interface to a third-party API which expects a file-like +object to write to, but you want to direct the API's output to a logger. You +can do this using a class which wraps a logger with a file-like API. +Here's a short script illustrating such a class: + +.. code-block:: python + + import logging + + class LoggerWriter: + def __init__(self, logger, level): + self.logger = logger + self.level = level + + def write(self, message): + if message != '\n': # avoid printing bare newlines, if you like + self.logger.log(self.level, message) + + def flush(self): + # doesn't actually do anything, but might be expected of a file-like + # object - so optional depending on your situation + pass + + def close(self): + # doesn't actually do anything, but might be expected of a file-like + # object - so optional depending on your situation. You might want + # to set a flag so that later calls to write raise an exception + pass + + def main(): + logging.basicConfig(level=logging.DEBUG) + logger = logging.getLogger('demo') + info_fp = LoggerWriter(logger, logging.INFO) + debug_fp = LoggerWriter(logger, logging.DEBUG) + print('An INFO message', file=info_fp) + print('A DEBUG message', file=debug_fp) + + if __name__ == "__main__": + main() + +When this script is run, it prints + +.. code-block:: text + + INFO:demo:An INFO message + DEBUG:demo:A DEBUG message + +You could also use ``LoggerWriter`` to redirect ``sys.stdout`` and +``sys.stderr`` by doing something like this: + +.. code-block:: python + + import sys + + sys.stdout = LoggerWriter(logger, logging.INFO) + sys.stderr = LoggerWriter(logger, logging.WARNING) + +You should do this *after* configuring logging for your needs. In the above +example, the :func:`~logging.basicConfig` call does this (using the +``sys.stderr`` value *before* it is overwritten by a ``LoggerWriter`` +instance). Then, you'd get this kind of result: + +.. code-block:: pycon + + >>> print('Foo') + INFO:demo:Foo + >>> print('Bar', file=sys.stderr) + WARNING:demo:Bar + >>> + +Of course, these above examples show output according to the format used by +:func:`~logging.basicConfig`, but you can use a different formatter when you +configure logging. .. patterns-to-avoid: From b26fb3cdc6e9d2c436f28af3c9c290c4dcac23e8 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 2 Oct 2022 15:27:17 -0700 Subject: [PATCH 088/494] GH-85447: Clarify docs about awaiting future multiple times (GH-97738) (cherry picked from commit 9151bbefea3fb932eb6aa6ddb22d64b83f8149c7) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> --- Doc/library/asyncio-future.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/library/asyncio-future.rst b/Doc/library/asyncio-future.rst index 99a5d3a8287bf7..8e60877f0e4c7d 100644 --- a/Doc/library/asyncio-future.rst +++ b/Doc/library/asyncio-future.rst @@ -85,7 +85,8 @@ Future Object Future is an :term:`awaitable` object. Coroutines can await on Future objects until they either have a result or an exception - set, or until they are cancelled. + set, or until they are cancelled. A Future can be awaited multiple + times and the result is same. Typically Futures are used to enable low-level callback-based code (e.g. in protocols implemented using asyncio From f59506780a60b870f6c6ccba1991f444dd241e59 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 2 Oct 2022 18:09:58 -0700 Subject: [PATCH 089/494] gh-96819: multiprocessing.resource_tracker: check if length of pipe write <= 512 (GH-96890) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> (cherry picked from commit 19ca114645bd8796cf4094e152b1fa9944da473d) Co-authored-by: Koki Saito <49419225+saito828koki@users.noreply.github.com> --- Lib/multiprocessing/resource_tracker.py | 4 ++-- Lib/test/_test_multiprocessing.py | 8 ++++++++ .../Library/2022-09-17-13-15-10.gh-issue-96819.6RfqM7.rst | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-17-13-15-10.gh-issue-96819.6RfqM7.rst diff --git a/Lib/multiprocessing/resource_tracker.py b/Lib/multiprocessing/resource_tracker.py index cc42dbdda05b91..ea369507297f86 100644 --- a/Lib/multiprocessing/resource_tracker.py +++ b/Lib/multiprocessing/resource_tracker.py @@ -161,10 +161,10 @@ def unregister(self, name, rtype): def _send(self, cmd, name, rtype): self.ensure_running() msg = '{0}:{1}:{2}\n'.format(cmd, name, rtype).encode('ascii') - if len(name) > 512: + if len(msg) > 512: # posix guarantees that writes to a pipe of less than PIPE_BUF # bytes are atomic, and that PIPE_BUF >= 512 - raise ValueError('name too long') + raise ValueError('msg too long') nbytes = os.write(self._fd, msg) assert nbytes == len(msg), "nbytes {0:n} but len(msg) {1:n}".format( nbytes, len(msg)) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 599c3f2abf33c7..3117b110db0961 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -5438,6 +5438,14 @@ def test_resource_tracker_reused(self): self.assertTrue(is_resource_tracker_reused) + def test_too_long_name_resource(self): + # gh-96819: Resource names that will make the length of a write to a pipe + # greater than PIPE_BUF are not allowed + rtype = "shared_memory" + too_long_name_resource = "a" * (512 - len(rtype)) + with self.assertRaises(ValueError): + resource_tracker.register(too_long_name_resource, rtype) + class TestSimpleQueue(unittest.TestCase): diff --git a/Misc/NEWS.d/next/Library/2022-09-17-13-15-10.gh-issue-96819.6RfqM7.rst b/Misc/NEWS.d/next/Library/2022-09-17-13-15-10.gh-issue-96819.6RfqM7.rst new file mode 100644 index 00000000000000..07b62a883b85e7 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-17-13-15-10.gh-issue-96819.6RfqM7.rst @@ -0,0 +1 @@ +Fixed check in :mod:`multiprocessing.resource_tracker` that guarantees that the length of a write to a pipe is not greater than ``PIPE_BUF``. From 827f77e5f1933b10e86ea5acb0d6d8e3c8166729 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:02:46 -0700 Subject: [PATCH 090/494] gh-97740: Fix bang in Sphinx C domain ref target syntax (GH-97741) * gh-97740: Fix bang in Sphinx C domain ref target syntax Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> * Add NEWS entry for C domain bang fix Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> (cherry picked from commit 9148c0d893c7807331fd7be0997261e289074bc5) Co-authored-by: C.A.M. Gerlach --- Doc/conf.py | 15 +++++++++++++++ .../2022-10-02-10-58-52.gh-issue-97741.39l023.rst | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 Misc/NEWS.d/next/Documentation/2022-10-02-10-58-52.gh-issue-97741.39l023.rst diff --git a/Doc/conf.py b/Doc/conf.py index 2e670e5a8569df..e5c989da0b360d 100644 --- a/Doc/conf.py +++ b/Doc/conf.py @@ -244,3 +244,18 @@ # bpo-40204: Disable warnings on Sphinx 2 syntax of the C domain since the # documentation is built with -W (warnings treated as errors). c_warn_on_allowed_pre_v3 = False + +# Fix '!' not working with C domain when pre_v3 is enabled +import sphinx + +if sphinx.version_info[:2] < (5, 3): + from sphinx.domains.c import CXRefRole + + original_run = CXRefRole.run + + def new_run(self): + if self.disabled: + return super(CXRefRole, self).run() + return original_run(self) + + CXRefRole.run = new_run diff --git a/Misc/NEWS.d/next/Documentation/2022-10-02-10-58-52.gh-issue-97741.39l023.rst b/Misc/NEWS.d/next/Documentation/2022-10-02-10-58-52.gh-issue-97741.39l023.rst new file mode 100644 index 00000000000000..8da9c92f6fd879 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2022-10-02-10-58-52.gh-issue-97741.39l023.rst @@ -0,0 +1,2 @@ +Fix ``!`` in c domain ref target syntax via a ``conf.py`` patch, so it works +as intended to disable ref target resolution. From 2049c9db15a17f25405fb50d0a77702c5844e137 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:11:05 -0700 Subject: [PATCH 091/494] gh-95913: Copyedit/improve New Modules What's New section (GH-97721) * Link TOML & WSGI in New Modules section, refine text & add ref label * Further reformat new modules & add PEP link to tomllib (cherry picked from commit bd00112a99af44c6ef82ee45b4072ec3bbc82fef) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index a84bfde5c482fb..51df7373647506 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -523,14 +523,17 @@ Other CPython Implementation Changes is 4300 digits in string form. +.. _whatsnew311-new-modules: + New Modules =========== -* A new module, :mod:`tomllib`, was added for parsing TOML. +* :mod:`tomllib`: For parsing `TOML `_. + See :pep:`680` for more details. (Contributed by Taneli Hukkinen in :issue:`40059`.) -* :mod:`wsgiref.types`, containing WSGI-specific types for static type - checking, was added. +* :mod:`wsgiref.types`: + :pep:`WSGI <3333>`-specific types for static type checking. (Contributed by Sebastian Rittau in :issue:`42012`.) From 3db036888c4c6a963659ab2708158c4e1ec41adb Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 2 Oct 2022 21:21:46 -0700 Subject: [PATCH 092/494] gh-95913: Fix PEP number in PEP 678 What's New ref label (GH-97739) What's New: Fix PEP number in PEP 678 ref target label (cherry picked from commit e738b5190bfa63086b5e8169189e9b05302873c8) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 51df7373647506..60e2d794e6c101 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -191,7 +191,7 @@ See :pep:`654` for more details. Irit Katriel, Yury Selivanov and Guido van Rossum.) -.. _whatsnew311-pep670: +.. _whatsnew311-pep678: PEP 678: Exceptions can be enriched with notes ---------------------------------------------- From f07ee4147980e20abe710e917b62258637b13c62 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Mon, 3 Oct 2022 15:01:54 +0300 Subject: [PATCH 093/494] [3.11] gh-97728: Argument Clinic: Fix uninitialized variable in the Py_UNICODE converter (GH-97729) (GH-97757) It affects function os.system() on Windows and Windows-specific modules winreg, _winapi, _overlapped, and _msi. (cherry picked from commit 0ee9619a4cba58730c45e65d22288fadbf7680de) --- Lib/test/clinic.test | 12 +++---- ...2-10-02-11-59-23.gh-issue-97728.dIdlPE.rst | 3 ++ Modules/clinic/_winapi.c.h | 14 ++++---- Modules/clinic/overlapped.c.h | 6 ++-- Modules/clinic/posixmodule.c.h | 4 +-- PC/clinic/_msi.c.h | 10 +++--- PC/clinic/winreg.c.h | 34 +++++++++---------- Tools/clinic/clinic.py | 1 + 8 files changed, 44 insertions(+), 40 deletions(-) create mode 100644 Misc/NEWS.d/next/Windows/2022-10-02-11-59-23.gh-issue-97728.dIdlPE.rst diff --git a/Lib/test/clinic.test b/Lib/test/clinic.test index 9016cffba95ca4..0228d6be03264c 100644 --- a/Lib/test/clinic.test +++ b/Lib/test/clinic.test @@ -1803,12 +1803,12 @@ static PyObject * test_Py_UNICODE_converter(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; - const Py_UNICODE *a; - const Py_UNICODE *b; - const Py_UNICODE *c; - const Py_UNICODE *d; + const Py_UNICODE *a = NULL; + const Py_UNICODE *b = NULL; + const Py_UNICODE *c = NULL; + const Py_UNICODE *d = NULL; Py_ssize_t d_length; - const Py_UNICODE *e; + const Py_UNICODE *e = NULL; Py_ssize_t e_length; if (!_PyArg_ParseStack(args, nargs, "O&O&O&u#Z#:test_Py_UNICODE_converter", @@ -1839,7 +1839,7 @@ test_Py_UNICODE_converter_impl(PyObject *module, const Py_UNICODE *a, const Py_UNICODE *b, const Py_UNICODE *c, const Py_UNICODE *d, Py_ssize_t d_length, const Py_UNICODE *e, Py_ssize_t e_length) -/*[clinic end generated code: output=45e92604de227552 input=064a3b68ad7f04b0]*/ +/*[clinic end generated code: output=9d41b3a38a0f6f2f input=064a3b68ad7f04b0]*/ /*[clinic input] diff --git a/Misc/NEWS.d/next/Windows/2022-10-02-11-59-23.gh-issue-97728.dIdlPE.rst b/Misc/NEWS.d/next/Windows/2022-10-02-11-59-23.gh-issue-97728.dIdlPE.rst new file mode 100644 index 00000000000000..2a6a253a52aeef --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2022-10-02-11-59-23.gh-issue-97728.dIdlPE.rst @@ -0,0 +1,3 @@ +Fix possible crashes caused by the use of uninitialized variables when pass +invalid arguments in :func:`os.system` on Windows and in Windows-specific +modules (like ``winreg``). diff --git a/Modules/clinic/_winapi.c.h b/Modules/clinic/_winapi.c.h index 87f624f9816de3..118e7bfd29fecf 100644 --- a/Modules/clinic/_winapi.c.h +++ b/Modules/clinic/_winapi.c.h @@ -192,7 +192,7 @@ _winapi_CreateFileMapping(PyObject *module, PyObject *const *args, Py_ssize_t na DWORD protect; DWORD max_size_high; DWORD max_size_low; - LPCWSTR name; + LPCWSTR name = NULL; HANDLE _return_value; if (!_PyArg_ParseStack(args, nargs, "" F_HANDLE "" F_POINTER "kkkO&:CreateFileMapping", @@ -233,8 +233,8 @@ static PyObject * _winapi_CreateJunction(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; - LPCWSTR src_path; - LPCWSTR dst_path; + LPCWSTR src_path = NULL; + LPCWSTR dst_path = NULL; if (!_PyArg_CheckPositional("CreateJunction", nargs, 2, 2)) { goto exit; @@ -394,14 +394,14 @@ static PyObject * _winapi_CreateProcess(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; - const Py_UNICODE *application_name; + const Py_UNICODE *application_name = NULL; PyObject *command_line; PyObject *proc_attrs; PyObject *thread_attrs; BOOL inherit_handles; DWORD creation_flags; PyObject *env_mapping; - const Py_UNICODE *current_directory; + const Py_UNICODE *current_directory = NULL; PyObject *startup_info; if (!_PyArg_ParseStack(args, nargs, "O&OOOikOO&O:CreateProcess", @@ -749,7 +749,7 @@ _winapi_OpenFileMapping(PyObject *module, PyObject *const *args, Py_ssize_t narg PyObject *return_value = NULL; DWORD desired_access; BOOL inherit_handle; - LPCWSTR name; + LPCWSTR name = NULL; HANDLE _return_value; if (!_PyArg_ParseStack(args, nargs, "kiO&:OpenFileMapping", @@ -1216,4 +1216,4 @@ _winapi__mimetypes_read_windows_registry(PyObject *module, PyObject *const *args exit: return return_value; } -/*[clinic end generated code: output=dfbccec8f11b7433 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=60b036183b92659e input=a9049054013a1b77]*/ diff --git a/Modules/clinic/overlapped.c.h b/Modules/clinic/overlapped.c.h index 2861338317497c..2f0520d3df4a2c 100644 --- a/Modules/clinic/overlapped.c.h +++ b/Modules/clinic/overlapped.c.h @@ -220,7 +220,7 @@ _overlapped_CreateEvent(PyObject *module, PyObject *const *args, Py_ssize_t narg PyObject *EventAttributes; BOOL ManualReset; BOOL InitialState; - const Py_UNICODE *Name; + const Py_UNICODE *Name = NULL; if (!_PyArg_ParseStack(args, nargs, "OiiO&:CreateEvent", &EventAttributes, &ManualReset, &InitialState, _PyUnicode_WideCharString_Opt_Converter, &Name)) { @@ -806,7 +806,7 @@ static PyObject * _overlapped_Overlapped_ConnectPipe(OverlappedObject *self, PyObject *arg) { PyObject *return_value = NULL; - const Py_UNICODE *Address; + const Py_UNICODE *Address = NULL; if (!PyUnicode_Check(arg)) { _PyArg_BadArgument("ConnectPipe", "argument", "str", arg); @@ -968,4 +968,4 @@ _overlapped_Overlapped_WSARecvFromInto(OverlappedObject *self, PyObject *const * return return_value; } -/*[clinic end generated code: output=b0f15f5c09f1147e input=a9049054013a1b77]*/ +/*[clinic end generated code: output=8532bc0e4e1958ac input=a9049054013a1b77]*/ diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index ca2699b4e366a3..e636f8b94ff7fe 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1749,7 +1749,7 @@ os_system(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *k static const char * const _keywords[] = {"command", NULL}; static _PyArg_Parser _parser = {NULL, _keywords, "system", 0}; PyObject *argsbuf[1]; - const Py_UNICODE *command; + const Py_UNICODE *command = NULL; long _return_value; args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); @@ -9378,4 +9378,4 @@ os_waitstatus_to_exitcode(PyObject *module, PyObject *const *args, Py_ssize_t na #ifndef OS_WAITSTATUS_TO_EXITCODE_METHODDEF #define OS_WAITSTATUS_TO_EXITCODE_METHODDEF #endif /* !defined(OS_WAITSTATUS_TO_EXITCODE_METHODDEF) */ -/*[clinic end generated code: output=3032d9c5c3aaa165 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=836be9d51f01140e input=a9049054013a1b77]*/ diff --git a/PC/clinic/_msi.c.h b/PC/clinic/_msi.c.h index fd21142158312f..b717192b48333a 100644 --- a/PC/clinic/_msi.c.h +++ b/PC/clinic/_msi.c.h @@ -195,7 +195,7 @@ _msi_Record_SetString(msiobj *self, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; int field; - const Py_UNICODE *value; + const Py_UNICODE *value = NULL; if (!_PyArg_CheckPositional("SetString", nargs, 2, 2)) { goto exit; @@ -244,7 +244,7 @@ _msi_Record_SetStream(msiobj *self, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; int field; - const Py_UNICODE *value; + const Py_UNICODE *value = NULL; if (!_PyArg_CheckPositional("SetStream", nargs, 2, 2)) { goto exit; @@ -555,7 +555,7 @@ static PyObject * _msi_Database_OpenView(msiobj *self, PyObject *arg) { PyObject *return_value = NULL; - const Py_UNICODE *sql; + const Py_UNICODE *sql = NULL; if (!PyUnicode_Check(arg)) { _PyArg_BadArgument("OpenView", "argument", "str", arg); @@ -650,7 +650,7 @@ static PyObject * _msi_OpenDatabase(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; - const Py_UNICODE *path; + const Py_UNICODE *path = NULL; int persist; if (!_PyArg_CheckPositional("OpenDatabase", nargs, 2, 2)) { @@ -713,4 +713,4 @@ _msi_CreateRecord(PyObject *module, PyObject *arg) exit: return return_value; } -/*[clinic end generated code: output=d7eb07e6bfcdc13f input=a9049054013a1b77]*/ +/*[clinic end generated code: output=276175d60fbfc956 input=a9049054013a1b77]*/ diff --git a/PC/clinic/winreg.c.h b/PC/clinic/winreg.c.h index 2507e46e263334..a413dec5dda546 100644 --- a/PC/clinic/winreg.c.h +++ b/PC/clinic/winreg.c.h @@ -148,7 +148,7 @@ static PyObject * winreg_ConnectRegistry(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; - const Py_UNICODE *computer_name; + const Py_UNICODE *computer_name = NULL; HKEY key; HKEY _return_value; @@ -220,7 +220,7 @@ winreg_CreateKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key; + const Py_UNICODE *sub_key = NULL; HKEY _return_value; if (!_PyArg_CheckPositional("CreateKey", nargs, 2, 2)) { @@ -301,7 +301,7 @@ winreg_CreateKeyEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs, Py static const char * const _keywords[] = {"key", "sub_key", "reserved", "access", NULL}; static _PyArg_Parser _parser = {"O&O&|ii:CreateKeyEx", _keywords, 0}; HKEY key; - const Py_UNICODE *sub_key; + const Py_UNICODE *sub_key = NULL; int reserved = 0; REGSAM access = KEY_WRITE; HKEY _return_value; @@ -354,7 +354,7 @@ winreg_DeleteKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key; + const Py_UNICODE *sub_key = NULL; if (!_PyArg_CheckPositional("DeleteKey", nargs, 2, 2)) { goto exit; @@ -428,7 +428,7 @@ winreg_DeleteKeyEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs, Py static const char * const _keywords[] = {"key", "sub_key", "access", "reserved", NULL}; static _PyArg_Parser _parser = {"O&O&|ii:DeleteKeyEx", _keywords, 0}; HKEY key; - const Py_UNICODE *sub_key; + const Py_UNICODE *sub_key = NULL; REGSAM access = KEY_WOW64_64KEY; int reserved = 0; @@ -469,7 +469,7 @@ winreg_DeleteValue(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *value; + const Py_UNICODE *value = NULL; if (!_PyArg_CheckPositional("DeleteValue", nargs, 2, 2)) { goto exit; @@ -619,7 +619,7 @@ static PyObject * winreg_ExpandEnvironmentStrings(PyObject *module, PyObject *arg) { PyObject *return_value = NULL; - const Py_UNICODE *string; + const Py_UNICODE *string = NULL; if (!PyUnicode_Check(arg)) { _PyArg_BadArgument("ExpandEnvironmentStrings", "argument", "str", arg); @@ -724,8 +724,8 @@ winreg_LoadKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key; - const Py_UNICODE *file_name; + const Py_UNICODE *sub_key = NULL; + const Py_UNICODE *file_name = NULL; if (!_PyArg_CheckPositional("LoadKey", nargs, 3, 3)) { goto exit; @@ -805,7 +805,7 @@ winreg_OpenKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObje static const char * const _keywords[] = {"key", "sub_key", "reserved", "access", NULL}; static _PyArg_Parser _parser = {"O&O&|ii:OpenKey", _keywords, 0}; HKEY key; - const Py_UNICODE *sub_key; + const Py_UNICODE *sub_key = NULL; int reserved = 0; REGSAM access = KEY_READ; HKEY _return_value; @@ -862,7 +862,7 @@ winreg_OpenKeyEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyOb static const char * const _keywords[] = {"key", "sub_key", "reserved", "access", NULL}; static _PyArg_Parser _parser = {"O&O&|ii:OpenKeyEx", _keywords, 0}; HKEY key; - const Py_UNICODE *sub_key; + const Py_UNICODE *sub_key = NULL; int reserved = 0; REGSAM access = KEY_READ; HKEY _return_value; @@ -953,7 +953,7 @@ winreg_QueryValue(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key; + const Py_UNICODE *sub_key = NULL; if (!_PyArg_CheckPositional("QueryValue", nargs, 2, 2)) { goto exit; @@ -1016,7 +1016,7 @@ winreg_QueryValueEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *name; + const Py_UNICODE *name = NULL; if (!_PyArg_CheckPositional("QueryValueEx", nargs, 2, 2)) { goto exit; @@ -1084,7 +1084,7 @@ winreg_SaveKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *file_name; + const Py_UNICODE *file_name = NULL; if (!_PyArg_CheckPositional("SaveKey", nargs, 2, 2)) { goto exit; @@ -1153,7 +1153,7 @@ winreg_SetValue(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key; + const Py_UNICODE *sub_key = NULL; DWORD type; PyObject *value_obj; @@ -1228,7 +1228,7 @@ winreg_SetValueEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *value_name; + const Py_UNICODE *value_name = NULL; PyObject *reserved; DWORD type; PyObject *value; @@ -1349,4 +1349,4 @@ winreg_QueryReflectionKey(PyObject *module, PyObject *arg) exit: return return_value; } -/*[clinic end generated code: output=7ad1db69bc42cab4 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=e83bdaabb4fa2167 input=a9049054013a1b77]*/ diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index cd0446dc4f05d2..97d8d0a9410b63 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -3522,6 +3522,7 @@ def converter_init(self, *, accept={str}, zeroes=False): self.converter = '_PyUnicode_WideCharString_Opt_Converter' else: fail("Py_UNICODE_converter: illegal 'accept' argument " + repr(accept)) + self.c_default = "NULL" def cleanup(self): if not self.length: From 096e39637b74d669dea3132442eccb2d65e8b6da Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 06:43:31 -0700 Subject: [PATCH 094/494] Fix typo in unittest docs (GH-97742) (cherry picked from commit e6f9ec5c031bd996fcd5f463c407beef0b743b49) Co-authored-by: annonm --- Doc/library/unittest.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst index 87571d896e1128..42d17db3a3a2a7 100644 --- a/Doc/library/unittest.rst +++ b/Doc/library/unittest.rst @@ -1797,7 +1797,7 @@ Loading and running tests A list of the non-fatal errors encountered while loading tests. Not reset by the loader at any point. Fatal errors are signalled by the relevant - a method raising an exception to the caller. Non-fatal errors are also + method raising an exception to the caller. Non-fatal errors are also indicated by a synthetic test that will raise the original error when run. From 4d4b1e6c0b4b71cdf0438279ee11f1f49104e422 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 3 Oct 2022 13:10:14 -0700 Subject: [PATCH 095/494] [3.11] Fix typos in `bltinmodule.c`. (GH-97789) (cherry picked from commit 873a2f25272ca9fb027866a9730c44ba627b30cc) Co-authored-by: Nikita Sobolev --- Python/bltinmodule.c | 14 +++++++------- Python/clinic/bltinmodule.c.h | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 072bf75bf8d697..94a7819c252e56 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -260,8 +260,8 @@ importlib.import_module() to programmatically import a module. The globals argument is only used to determine the context; they are not modified. The locals argument is unused. The fromlist -should be a list of names to emulate ``from name import ...'', or an -empty list to emulate ``import name''. +should be a list of names to emulate ``from name import ...``, or an +empty list to emulate ``import name``. When importing a module from a package, note that __import__('A.B', ...) returns package A when fromlist is empty, but its submodule B when fromlist is not empty. The level argument is used to determine whether to @@ -272,7 +272,7 @@ is the number of parent directories to search relative to the current module. static PyObject * builtin___import___impl(PyObject *module, PyObject *name, PyObject *globals, PyObject *locals, PyObject *fromlist, int level) -/*[clinic end generated code: output=4febeda88a0cd245 input=35e9a6460412430f]*/ +/*[clinic end generated code: output=4febeda88a0cd245 input=73f4b960ea5b9dd6]*/ { return PyImport_ImportModuleLevelObject(name, globals, locals, fromlist, level); @@ -1509,13 +1509,13 @@ setattr as builtin_setattr Sets the named attribute on the given object to the specified value. -setattr(x, 'y', v) is equivalent to ``x.y = v'' +setattr(x, 'y', v) is equivalent to ``x.y = v`` [clinic start generated code]*/ static PyObject * builtin_setattr_impl(PyObject *module, PyObject *obj, PyObject *name, PyObject *value) -/*[clinic end generated code: output=dc2ce1d1add9acb4 input=bd2b7ca6875a1899]*/ +/*[clinic end generated code: output=dc2ce1d1add9acb4 input=5e26417f2e8598d4]*/ { if (PyObject_SetAttr(obj, name, value) != 0) return NULL; @@ -1532,12 +1532,12 @@ delattr as builtin_delattr Deletes the named attribute from the given object. -delattr(x, 'y') is equivalent to ``del x.y'' +delattr(x, 'y') is equivalent to ``del x.y`` [clinic start generated code]*/ static PyObject * builtin_delattr_impl(PyObject *module, PyObject *obj, PyObject *name) -/*[clinic end generated code: output=85134bc58dff79fa input=db16685d6b4b9410]*/ +/*[clinic end generated code: output=85134bc58dff79fa input=164865623abe7216]*/ { if (PyObject_SetAttr(obj, name, (PyObject *)NULL) != 0) return NULL; diff --git a/Python/clinic/bltinmodule.c.h b/Python/clinic/bltinmodule.c.h index 48f65091164d04..5d9a16a7b68227 100644 --- a/Python/clinic/bltinmodule.c.h +++ b/Python/clinic/bltinmodule.c.h @@ -15,8 +15,8 @@ PyDoc_STRVAR(builtin___import____doc__, "\n" "The globals argument is only used to determine the context;\n" "they are not modified. The locals argument is unused. The fromlist\n" -"should be a list of names to emulate ``from name import ...\'\', or an\n" -"empty list to emulate ``import name\'\'.\n" +"should be a list of names to emulate ``from name import ...``, or an\n" +"empty list to emulate ``import name``.\n" "When importing a module from a package, note that __import__(\'A.B\', ...)\n" "returns package A when fromlist is empty, but its submodule B when\n" "fromlist is not empty. The level argument is used to determine whether to\n" @@ -539,7 +539,7 @@ PyDoc_STRVAR(builtin_setattr__doc__, "\n" "Sets the named attribute on the given object to the specified value.\n" "\n" -"setattr(x, \'y\', v) is equivalent to ``x.y = v\'\'"); +"setattr(x, \'y\', v) is equivalent to ``x.y = v``"); #define BUILTIN_SETATTR_METHODDEF \ {"setattr", _PyCFunction_CAST(builtin_setattr), METH_FASTCALL, builtin_setattr__doc__}, @@ -574,7 +574,7 @@ PyDoc_STRVAR(builtin_delattr__doc__, "\n" "Deletes the named attribute from the given object.\n" "\n" -"delattr(x, \'y\') is equivalent to ``del x.y\'\'"); +"delattr(x, \'y\') is equivalent to ``del x.y``"); #define BUILTIN_DELATTR_METHODDEF \ {"delattr", _PyCFunction_CAST(builtin_delattr), METH_FASTCALL, builtin_delattr__doc__}, @@ -1045,4 +1045,4 @@ builtin_issubclass(PyObject *module, PyObject *const *args, Py_ssize_t nargs) exit: return return_value; } -/*[clinic end generated code: output=a2c5c53e8aead7c3 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=cc844ea007c1241f input=a9049054013a1b77]*/ From fe99b64bef012cdf90b84a7cfe62a1d1a550ce55 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 14:25:48 -0700 Subject: [PATCH 096/494] gh-94808: Coverage: Check picklablability of calliter (GH-95923) (cherry picked from commit cfbc7dd91059cb663c7fe13c661665943495ed7f) Co-authored-by: Michael Droettboom --- Lib/test/test_iter.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Lib/test/test_iter.py b/Lib/test/test_iter.py index 554f602f6252c0..acbdcb5f302060 100644 --- a/Lib/test/test_iter.py +++ b/Lib/test/test_iter.py @@ -81,6 +81,16 @@ class BadIterableClass: def __iter__(self): raise ZeroDivisionError +class CallableIterClass: + def __init__(self): + self.i = 0 + def __call__(self): + i = self.i + self.i = i + 1 + if i > 100: + raise IndexError # Emergency stop + return i + # Main test suite class TestCase(unittest.TestCase): @@ -237,16 +247,7 @@ def __iter__(self): # Test two-argument iter() with callable instance def test_iter_callable(self): - class C: - def __init__(self): - self.i = 0 - def __call__(self): - i = self.i - self.i = i + 1 - if i > 100: - raise IndexError # Emergency stop - return i - self.check_iterator(iter(C(), 10), list(range(10)), pickle=False) + self.check_iterator(iter(CallableIterClass(), 10), list(range(10)), pickle=True) # Test two-argument iter() with function def test_iter_function(self): From 4420da0aefc31b066f3b0d80ceed8ce0edbcc7c2 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 14:39:24 -0700 Subject: [PATCH 097/494] gh-94732: Fix KeyboardInterrupt race in asyncio run_forever() (GH-97765) Ensure that the event loop's `_thread_id` attribute and the asyncgen hooks set by `sys.set_asyncgen_hooks()` are always restored no matter where a KeyboardInterrupt exception is raised. (cherry picked from commit 3a49dbb98ccc1b90554ed181386316efa38adfba) Co-authored-by: hetmankp <728670+hetmankp@users.noreply.github.com> --- Lib/asyncio/base_events.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 7c06e48a671a24..9b8167d7a13942 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -595,12 +595,13 @@ def run_forever(self): self._check_closed() self._check_running() self._set_coroutine_origin_tracking(self._debug) - self._thread_id = threading.get_ident() old_agen_hooks = sys.get_asyncgen_hooks() - sys.set_asyncgen_hooks(firstiter=self._asyncgen_firstiter_hook, - finalizer=self._asyncgen_finalizer_hook) try: + self._thread_id = threading.get_ident() + sys.set_asyncgen_hooks(firstiter=self._asyncgen_firstiter_hook, + finalizer=self._asyncgen_finalizer_hook) + events._set_running_loop(self) while True: self._run_once() From d07428607ab48f1cfafafec6bd1958f828645295 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 15:46:23 -0700 Subject: [PATCH 098/494] Document that MozillaCookieJar works for curl's cookie files (GH-91852) MozillaCookieJar works for curl's cookies (cherry picked from commit 0ea8b925d096629852d1045c2c53ff6ad63199cc) Co-authored-by: Boris Verkhovskiy --- Doc/library/http.cookiejar.rst | 4 ++-- Lib/http/cookiejar.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Doc/library/http.cookiejar.rst b/Doc/library/http.cookiejar.rst index 53b3087a4b9997..eb31315438f66a 100644 --- a/Doc/library/http.cookiejar.rst +++ b/Doc/library/http.cookiejar.rst @@ -320,8 +320,8 @@ writing. .. class:: MozillaCookieJar(filename, delayload=None, policy=None) A :class:`FileCookieJar` that can load from and save cookies to disk in the - Mozilla ``cookies.txt`` file format (which is also used by the Lynx and Netscape - browsers). + Mozilla ``cookies.txt`` file format (which is also used by curl and the Lynx + and Netscape browsers). .. note:: diff --git a/Lib/http/cookiejar.py b/Lib/http/cookiejar.py index c514e0d382cbc7..65c45e2b17dfc0 100644 --- a/Lib/http/cookiejar.py +++ b/Lib/http/cookiejar.py @@ -1985,7 +1985,7 @@ class MozillaCookieJar(FileCookieJar): This class differs from CookieJar only in the format it uses to save and load cookies to and from a file. This class uses the Mozilla/Netscape - `cookies.txt' format. lynx uses this file format, too. + `cookies.txt' format. curl and lynx use this file format, too. Don't expect cookies saved while the browser is running to be noticed by the browser (in fact, Mozilla on unix will overwrite your saved cookies if From ca05666fed52badba9a7348d68f2bdc63100f689 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 15:48:00 -0700 Subject: [PATCH 099/494] multiprocessing docs: Remove extra option ELLIPSIS from section with code (GH-96625) (cherry picked from commit d78aa4e11a80653588229cc97119afae693d1c06) Co-authored-by: Ivan Kapeykin <5349983@gmail.com> --- Doc/library/multiprocessing.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index d74fe92f20d0cf..6f6e7881598b88 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -674,7 +674,6 @@ The :mod:`multiprocessing` package mostly replicates the API of the Example usage of some of the methods of :class:`Process`: .. doctest:: - :options: +ELLIPSIS >>> import multiprocessing, time, signal >>> p = multiprocessing.Process(target=time.sleep, args=(1000,)) From 541265fd7c2cb43c26a1413e008f32eda1634e6b Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 16:30:07 -0700 Subject: [PATCH 100/494] Minor grammar changes to http.client docs (GH-96221) Minor grammar changes (cherry picked from commit d053c47bfde1b3d8779546b980849708662f2660) Co-authored-by: Rohan Shah <57906961+rshah713@users.noreply.github.com> --- Doc/library/http.client.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst index 16823ec67b0123..0a895ebddf4fc3 100644 --- a/Doc/library/http.client.rst +++ b/Doc/library/http.client.rst @@ -14,7 +14,7 @@ -------------- -This module defines classes which implement the client side of the HTTP and +This module defines classes that implement the client side of the HTTP and HTTPS protocols. It is normally not used directly --- the module :mod:`urllib.request` uses it to handle URLs that use HTTP and HTTPS. @@ -37,7 +37,7 @@ The module provides the following classes: blocksize=8192) An :class:`HTTPConnection` instance represents one transaction with an HTTP - server. It should be instantiated passing it a host and optional port + server. It should be instantiated by passing it a host and optional port number. If no port number is passed, the port is extracted from the host string if it has the form ``host:port``, else the default HTTP port (80) is used. If the optional *timeout* parameter is given, blocking From 789d5bc80a8d3ac84be523ac3f5ac0df4f6534e1 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 16:35:10 -0700 Subject: [PATCH 101/494] Update http.client.rst (GH-24803) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update http.client.rst * Apply suggestions from code review Co-authored-by: Éric * Update http.client.rst Co-authored-by: Éric Co-authored-by: Senthil Kumaran (cherry picked from commit 0c91a125116b21e91d0d1cca457da830348f0806) Co-authored-by: Géry Ogam --- Doc/library/http.client.rst | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Doc/library/http.client.rst b/Doc/library/http.client.rst index 0a895ebddf4fc3..06f92510a5e4b3 100644 --- a/Doc/library/http.client.rst +++ b/Doc/library/http.client.rst @@ -61,7 +61,7 @@ The module provides the following classes: .. versionchanged:: 3.4 The *strict* parameter was removed. HTTP 0.9-style "Simple Responses" are - not longer supported. + no longer supported. .. versionchanged:: 3.7 *blocksize* parameter was added. @@ -474,7 +474,7 @@ statement. Return the value of the header *name*, or *default* if there is no header matching *name*. If there is more than one header with the name *name*, - return all of the values joined by ', '. If 'default' is any iterable other + return all of the values joined by ', '. If *default* is any iterable other than a single string, its elements are similarly returned joined by commas. .. method:: HTTPResponse.getheaders() @@ -578,7 +578,7 @@ Here is an example session that uses the ``HEAD`` method. Note that the >>> data == b'' True -Here is an example session that shows how to ``POST`` requests:: +Here is an example session that uses the ``POST`` method:: >>> import http.client, urllib.parse >>> params = urllib.parse.urlencode({'@number': 12524, '@type': 'issue', '@action': 'show'}) @@ -594,14 +594,13 @@ Here is an example session that shows how to ``POST`` requests:: b'Redirecting to https://bugs.python.org/issue12524' >>> conn.close() -Client side ``HTTP PUT`` requests are very similar to ``POST`` requests. The -difference lies only the server side where HTTP server will allow resources to -be created via ``PUT`` request. It should be noted that custom HTTP methods +Client side HTTP ``PUT`` requests are very similar to ``POST`` requests. The +difference lies only on the server side where HTTP servers will allow resources to +be created via ``PUT`` requests. It should be noted that custom HTTP methods are also handled in :class:`urllib.request.Request` by setting the appropriate -method attribute. Here is an example session that shows how to send a ``PUT`` -request using http.client:: +method attribute. Here is an example session that uses the ``PUT`` method:: - >>> # This creates an HTTP message + >>> # This creates an HTTP request >>> # with the content of BODY as the enclosed representation >>> # for the resource http://localhost:8080/file ... From e34b00cc3ea9d4fdcb146050336ea6ce0d22cf85 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 18:55:04 -0700 Subject: [PATCH 102/494] gh-93738: Documentation C syntax (:c:data:`0` -> ``0``) (GH-97771) :c:data:`0` -> ``0`` (cherry picked from commit 5e997cff3e1dea24241726338457611beb8882ec) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/exceptions.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/c-api/exceptions.rst b/Doc/c-api/exceptions.rst index 02ec1da1c34007..df73f23d2de2b7 100644 --- a/Doc/c-api/exceptions.rst +++ b/Doc/c-api/exceptions.rst @@ -189,7 +189,7 @@ For convenience, some of these functions will always return a .. c:function:: PyObject* PyErr_SetFromWindowsErr(int ierr) This is a convenience function to raise :exc:`WindowsError`. If called with - *ierr* of :c:data:`0`, the error code returned by a call to :c:func:`GetLastError` + *ierr* of ``0``, the error code returned by a call to :c:func:`GetLastError` is used instead. It calls the Win32 function :c:func:`FormatMessage` to retrieve the Windows description of error code given by *ierr* or :c:func:`GetLastError`, then it constructs a tuple object whose first item is the *ierr* value and whose From 0e3a046b4849155f0c0890d18d4529a75be6a525 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 19:10:00 -0700 Subject: [PATCH 103/494] gh-97639: Remove `tokenize.NL` check from `tabnanny` (GH-97640) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gh-97639: Remove `tokenize.NL` check from `tabnanny` * 📜🤖 Added by blurb_it. Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> (cherry picked from commit 06016845dcca1d444a6db6d70ce9fe6274d551d3) Co-authored-by: Nikita Sobolev --- Lib/tabnanny.py | 2 -- .../next/Library/2022-09-29-08-15-55.gh-issue-97639.JSjWYW.rst | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-29-08-15-55.gh-issue-97639.JSjWYW.rst diff --git a/Lib/tabnanny.py b/Lib/tabnanny.py index 7973f26f98b8b2..a47f5a96b89722 100755 --- a/Lib/tabnanny.py +++ b/Lib/tabnanny.py @@ -23,8 +23,6 @@ import os import sys import tokenize -if not hasattr(tokenize, 'NL'): - raise ValueError("tokenize.NL doesn't exist -- tokenize module too old") __all__ = ["check", "NannyNag", "process_tokens"] diff --git a/Misc/NEWS.d/next/Library/2022-09-29-08-15-55.gh-issue-97639.JSjWYW.rst b/Misc/NEWS.d/next/Library/2022-09-29-08-15-55.gh-issue-97639.JSjWYW.rst new file mode 100644 index 00000000000000..65c3105f3bc36b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-29-08-15-55.gh-issue-97639.JSjWYW.rst @@ -0,0 +1 @@ +Remove ``tokenize.NL`` check from :mod:`tabnanny`. From 4591dae421cc1415bcf982cccbf5de4f787df030 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 21:03:26 -0700 Subject: [PATCH 104/494] [3.11] GH-97752: Clear the previous member of newly-created generator/coroutine frames (GH-97812) (cherry picked from commit 93fcc1f4133e177882850177c2c047d46019b812) --- Lib/test/test_generators.py | 19 +++++++++++++++++++ ...2-10-03-13-35-48.gh-issue-97752.0xTjJY.rst | 2 ++ Python/frame.c | 3 +++ 3 files changed, 24 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-10-03-13-35-48.gh-issue-97752.0xTjJY.rst diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py index e5aa7da1e0df13..353073dbfce00a 100644 --- a/Lib/test/test_generators.py +++ b/Lib/test/test_generators.py @@ -206,6 +206,25 @@ def __del__(self): finally: gc.set_threshold(*thresholds) + def test_ag_frame_f_back(self): + async def f(): + yield + ag = f() + self.assertIsNone(ag.ag_frame.f_back) + + def test_cr_frame_f_back(self): + async def f(): + pass + cr = f() + self.assertIsNone(cr.cr_frame.f_back) + cr.close() # Suppress RuntimeWarning. + + def test_gi_frame_f_back(self): + def f(): + yield + gi = f() + self.assertIsNone(gi.gi_frame.f_back) + class ExceptionTest(unittest.TestCase): diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-03-13-35-48.gh-issue-97752.0xTjJY.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-03-13-35-48.gh-issue-97752.0xTjJY.rst new file mode 100644 index 00000000000000..c656350703489e --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-03-13-35-48.gh-issue-97752.0xTjJY.rst @@ -0,0 +1,2 @@ +Fix possible data corruption or crashes when accessing the ``f_back`` member +of newly-created generator or coroutine frames. diff --git a/Python/frame.c b/Python/frame.c index c4e93492e081af..45072da0426964 100644 --- a/Python/frame.c +++ b/Python/frame.c @@ -52,6 +52,9 @@ _PyFrame_Copy(_PyInterpreterFrame *src, _PyInterpreterFrame *dest) assert(src->stacktop >= src->f_code->co_nlocalsplus); Py_ssize_t size = ((char*)&src->localsplus[src->stacktop]) - (char *)src; memcpy(dest, src, size); + // Don't leave a dangling pointer to the old frame when creating generators + // and coroutines: + dest->previous = NULL; } From c62be23f0438e1b3d76c08251e12094e657e7d3f Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:43:00 -0700 Subject: [PATCH 105/494] gh-97709: Included newline separator in Mandelbrot set (GH-97737) Included newline separator in Mandelbrot set Now the Mandelbrot set one-liner example on separates the lines with a '\n' character. (cherry picked from commit 49802605f8e47c5c7ddc8a6cecdf4afe44765586) Co-authored-by: matheusja --- Doc/faq/programming.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index 572a24d7fa3e29..ad281f826dd42c 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -735,7 +735,7 @@ Is it possible to write obfuscated one-liners in Python? -------------------------------------------------------- Yes. Usually this is done by nesting :keyword:`lambda` within -:keyword:`!lambda`. See the following three examples, due to Ulf Bartelt:: +:keyword:`!lambda`. See the following three examples, slightly adapted from Ulf Bartelt:: from functools import reduce @@ -748,7 +748,7 @@ Yes. Usually this is done by nesting :keyword:`lambda` within f(x,f), range(10)))) # Mandelbrot set - print((lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+y,map(lambda y, + print((lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+'\n'+y,map(lambda y, Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,Sy=Sy,L=lambda yc,Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,i=IM, Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro, i=i,Sx=Sx,F=lambda xc,yc,x,y,k,f=lambda xc,yc,x,y,k,f:(k<=0)or (x*x+y*y From bbecca523a55d7fde99e22f2d96236c5d016846a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:15:46 -0700 Subject: [PATCH 106/494] Adjust stable ABI internal documentation (GH-96896) I was perusing this file, and noticed that this part of the documentation is slightly out of date: the `struct` items in this TOML file currently contain `struct_abi_kind` members, which distinguish between the different types of ABI compatibility described in the comment. I've updated the comment to reflect this. (cherry picked from commit 6e533088290b909df324615df24286489603989f) Co-authored-by: William Woodruff --- Misc/stable_abi.toml | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Misc/stable_abi.toml b/Misc/stable_abi.toml index e34bfcd0b61733..50dbb0c7bcffce 100644 --- a/Misc/stable_abi.toml +++ b/Misc/stable_abi.toml @@ -13,13 +13,8 @@ # The current format is TOML. # There are these kinds of top-level "items": -# - struct: A C struct. Currently this file does not distinguish between: -# - opaque structs, which the Limited API only handles via pointers -# (so these can change at any time) -# - structs where only certain members are part of the stable ABI (e.g. -# PyObject) -# - structs which must not be changed at all (e.g. PyType_Slot, which is -# fully defined and used in arrays) +# - struct: A C struct. See `struct_abi_kind` for how much of the struct is +# exposed. # - function: A function that must be kept available (and exported, i.e. not # converted to a macro). # - const: A simple value, defined with `#define`. @@ -42,6 +37,18 @@ # of the stable ABI. # - a combination of the above (functions that were called by macros that # were public in the past) +# - struct_abi_kind: for `struct`, defines how much of the struct is exposed: +# - 'full-abi': All of the struct is part of the ABI, including the size +# (users may define arrays of these structs). +# Typically used for initalization, rather than at runtime. +# - 'opaque': No members are part of the ABI, nor is the size. The Limited +# API only handles these via pointers. The C definition should be +# incomplete (opaque). +# - 'members': Only specific members are part of the stable ABI. +# The struct's size may change, so it can't be used in arrays. +# Do not add new structs of this kind without an extremely good reason. +# - members: For `struct` with struct_abi_kind = 'members', a list of the +# exposed members. # - doc: for `feature_macro`, the blurb added in documentation # - windows: for `feature_macro`, this macro is defined on Windows. # (This info is used to generate the DLL manifest and needs to be available From 3263aaf83feb287578f37ea41f5e3aba6e0de064 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 09:13:37 -0700 Subject: [PATCH 107/494] gh-97754: Update doc for default location of per-user installs on Windows (GH-97756) (cherry picked from commit a120b9f25d037a1c794df731f8cc6a2898a9165e) Co-authored-by: Ben Faulhaber <111227622+faulhaberben@users.noreply.github.com> --- Doc/using/windows.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst index 1808cbc340cb82..e338b11e1aa025 100644 --- a/Doc/using/windows.rst +++ b/Doc/using/windows.rst @@ -150,11 +150,14 @@ of available options is shown below. | | | Python X.Y` | +---------------------------+--------------------------------------+--------------------------+ | DefaultJustForMeTargetDir | The default install directory for | :file:`%LocalAppData%\\\ | -| | just-for-me installs | Programs\\PythonXY` or | +| | just-for-me installs | Programs\\Python\\\ | +| | | PythonXY` or | | | | :file:`%LocalAppData%\\\ | -| | | Programs\\PythonXY-32` or| +| | | Programs\\Python\\\ | +| | | PythonXY-32` or | | | | :file:`%LocalAppData%\\\ | -| | | Programs\\PythonXY-64` | +| | | Programs\\Python\\\ | +| | | PythonXY-64` | +---------------------------+--------------------------------------+--------------------------+ | DefaultCustomTargetDir | The default custom install directory | (empty) | | | displayed in the UI | | From 0dcfe0f47e471192c87d730c7d2ff3a2579e999f Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 09:52:28 -0700 Subject: [PATCH 108/494] GH-82604: fix docs about configuring selector (GH-97755) (cherry picked from commit 53503ff60e9a4727af0d9a1096418675e72a0fae) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> --- Doc/library/asyncio-eventloop.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index 5e951652f53751..b83e6ace5589c1 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -1611,9 +1611,12 @@ on Unix and :class:`ProactorEventLoop` on Windows. import asyncio import selectors - selector = selectors.SelectSelector() - loop = asyncio.SelectorEventLoop(selector) - asyncio.set_event_loop(loop) + class MyPolicy(asyncio.DefaultEventLoopPolicy): + def new_event_loop(self): + selector = selectors.SelectSelector() + return asyncio.SelectorEventLoop(selector) + + asyncio.set_event_loop_policy(MyPolicy()) .. availability:: Unix, Windows. From dcec9b70c96fac8b9ebf54d05459c15f0606b3c6 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 11:45:02 -0700 Subject: [PATCH 109/494] GH-95913: Update what's new in 3.11 for asyncio (GH-97806) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Co-authored-by: C.A.M. Gerlach Co-authored-by: Jelle Zijlstra (cherry picked from commit 9fbfa42ece3e0256657ce2594c7c3eb8b3ac8ff3) Co-authored-by: Guido van Rossum --- Doc/whatsnew/3.11.rst | 56 ++++++++++++++++++++++++++++++------------- 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 60e2d794e6c101..fe36f99f53826d 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -540,27 +540,51 @@ New Modules Improved Modules ================ +.. _whatsnew311-asyncio: + asyncio ------- -* Add raw datagram socket functions to the event loop: - :meth:`~asyncio.AbstractEventLoop.sock_sendto`, - :meth:`~asyncio.AbstractEventLoop.sock_recvfrom` and - :meth:`~asyncio.AbstractEventLoop.sock_recvfrom_into`. - (Contributed by Alex Grönholm in :issue:`46805`.) - -* Add :meth:`~asyncio.streams.StreamWriter.start_tls` method for upgrading - existing stream-based connections to TLS. (Contributed by Ian Good in - :issue:`34975`.) - -* Add :class:`~asyncio.Barrier` class to the synchronization primitives of - the asyncio library. (Contributed by Yves Duprat and Andrew Svetlov in - :gh:`87518`.) - -* Add :class:`~asyncio.TaskGroup` class, +* Added the :class:`~asyncio.TaskGroup` class, an :ref:`asynchronous context manager ` holding a group of tasks that will wait for all of them upon exit. - (Contributed by Yury Seliganov and others.) + For new code this is recommended over using + :func:`~asyncio.create_task` and :func:`~asyncio.gather` directly. + (Contributed by Yury Selivanov and others in :gh:`90908`.) + +* Added :func:`~asyncio.timeout`, an asynchronous context manager for + setting a timeout on asynchronous operations. For new code this is + recommended over using :func:`~asyncio.wait_for` directly. + (Contributed by Andrew Svetlov in :gh:`90927`.) + +* Added the :class:`~asyncio.Runner` class, which exposes the machinery + used by :func:`~asyncio.run`. + (Contributed by Andrew Svetlov in :gh:`91218`.) + +* Added the :class:`~asyncio.Barrier` class to the synchronization + primitives in the asyncio library, and the related + :exc:`~asyncio.BrokenBarrierError` exception. + (Contributed by Yves Duprat and Andrew Svetlov in :gh:`87518`.) + +* Added keyword argument *all_errors* to :meth:`asyncio.loop.create_connection` + so that multiple connection errors can be raised as an :exc:`ExceptionGroup`. + +* Added the :meth:`asyncio.StreamWriter.start_tls` method for + upgrading existing stream-based connections to TLS. + (Contributed by Ian Good in :issue:`34975`.) + +* Added raw datagram socket functions to the event loop: + :meth:`~asyncio.loop.sock_sendto`, + :meth:`~asyncio.loop.sock_recvfrom` and + :meth:`~asyncio.loop.sock_recvfrom_into`. + These have implementations in :class:`~asyncio.SelectorEventLoop` and + :class:`~asyncio.ProactorEventLoop`. + (Contributed by Alex Grönholm in :issue:`46805`.) + +* Added :meth:`~asyncio.Task.cancelling` and + :meth:`~asyncio.Task.uncancel` methods to :class:`~asyncio.Task`. + These are primarily intended for internal use, + notably by :class:`~asyncio.TaskGroup`. contextlib ---------- From 87a9e0f815071d79be166864f25b9eee79ae5d11 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Tue, 4 Oct 2022 14:56:46 -0700 Subject: [PATCH 110/494] [3.11] gh-97731: fix distclean target to clean docs GH-97732 (#97844) Backport gh-97731: fix distclean target to clean docs #97732 to 3.11 --- Makefile.pre.in | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in index 3efc6c2456c4ac..d23976ff80fbbb 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -2388,8 +2388,7 @@ rmtestturds: -rm -f gb-18030-2000.xml docclean: - -rm -rf Doc/build - -rm -rf Doc/tools/sphinx Doc/tools/pygments Doc/tools/docutils + $(MAKE) -C Doc clean # like the 'clean' target but retain the profile guided optimization (PGO) # data. The PGO data is only valid if source code remains unchanged. @@ -2440,7 +2439,7 @@ clobber: clean # Make things extra clean, before making a distribution: # remove all generated files, even Makefile[.pre] # Keep configure and Python-ast.[ch], it's possible they can't be generated -distclean: clobber +distclean: clobber docclean for file in $(srcdir)/Lib/test/data/* ; do \ if test "$$file" != "$(srcdir)/Lib/test/data/README"; then rm "$$file"; fi; \ done From cad4dca7bfd5f32d07d0af598ecc3ac295c59d19 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 15:14:52 -0700 Subject: [PATCH 111/494] gh-90301: Doc: Add references to PEP 686 (GH-96816) Doc: Add references to PEP 686. (cherry picked from commit 87679a6e607eec1134d77222a3a92d0d11f768ad) Co-authored-by: Inada Naoki --- Doc/library/io.rst | 16 +++++++++------- Doc/library/os.rst | 5 +++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Doc/library/io.rst b/Doc/library/io.rst index 97a70646a93cab..7ec990c3212a3e 100644 --- a/Doc/library/io.rst +++ b/Doc/library/io.rst @@ -123,17 +123,19 @@ encoding is not UTF-8 for most Windows users. For example:: with open("README.md") as f: long_description = f.read() -Additionally, while there is no concrete plan as of yet, Python may change -the default text file encoding to UTF-8 in the future. - Accordingly, it is highly recommended that you specify the encoding explicitly when opening text files. If you want to use UTF-8, pass ``encoding="utf-8"``. To use the current locale encoding, -``encoding="locale"`` is supported in Python 3.10. +``encoding="locale"`` is supported since Python 3.10. + +.. seealso:: + + :ref:`utf8-mode` + Python UTF-8 Mode can be used to change the default encoding to + UTF-8 from locale-specific encoding. -When you need to run existing code on Windows that attempts to open -UTF-8 files using the default locale encoding, you can enable the UTF-8 -mode. See :ref:`UTF-8 mode on Windows `. + :pep:`686` + Python 3.15 will make :ref:`utf8-mode` default. .. _io-encoding-warning: diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 4784110fb10376..fbfeeb2d7e1f18 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -159,6 +159,11 @@ can be read from :data:`sys.flags.utf8_mode `. See also the :ref:`UTF-8 mode on Windows ` and the :term:`filesystem encoding and error handler`. +.. seealso:: + + :pep:`686` + Python 3.15 will make :ref:`utf8-mode` default. + .. _os-procinfo: From d45698269e2c36ac078a91b12f2cef5b5d077de0 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 15:21:28 -0700 Subject: [PATCH 112/494] [3.11] gh-96448: fix documentation for _thread.lock.acquire (GH-96449) (#97851) gh-96448: fix documentation for _thread.lock.acquire (GH-96449) * fix documentation for _thread.lock.acquire * update formatting of _thread.lock.acquire() doc (cherry picked from commit 7acb93f0d44c6fb971fdb09b86f68896e3b1e2f8) Co-authored-by: Daniel Giger Co-authored-by: Daniel Giger --- Doc/library/_thread.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Doc/library/_thread.rst b/Doc/library/_thread.rst index ea4aa304bec0f1..ecd7a68e627fee 100644 --- a/Doc/library/_thread.rst +++ b/Doc/library/_thread.rst @@ -157,21 +157,21 @@ This module defines the following constants and functions: Lock objects have the following methods: -.. method:: lock.acquire(waitflag=1, timeout=-1) +.. method:: lock.acquire(blocking=True, timeout=-1) Without any optional argument, this method acquires the lock unconditionally, if necessary waiting until it is released by another thread (only one thread at a time can acquire a lock --- that's their reason for existence). - If the integer *waitflag* argument is present, the action depends on its - value: if it is zero, the lock is only acquired if it can be acquired - immediately without waiting, while if it is nonzero, the lock is acquired + If the *blocking* argument is present, the action depends on its + value: if it is False, the lock is only acquired if it can be acquired + immediately without waiting, while if it is True, the lock is acquired unconditionally as above. If the floating-point *timeout* argument is present and positive, it specifies the maximum wait time in seconds before returning. A negative *timeout* argument specifies an unbounded wait. You cannot specify - a *timeout* if *waitflag* is zero. + a *timeout* if *blocking* is False. The return value is ``True`` if the lock is acquired successfully, ``False`` if not. From 5fdce5d009eddb1aa83b494bb51468312e004f46 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 15:55:34 -0700 Subject: [PATCH 113/494] [3.11] gh-88355: Fix backslashes in AF_PIPE (GH-96543) (#97854) gh-88355: Fix backslashes in AF_PIPE (GH-96543) Fix backslashes in AF_PIPE (GH-88355) The correct syntax for AF_PIPE addresses is `\\.\pipe\blahblah`, not `\.\pipe{blahblah}`, but the syntax markup messed up the backslashes. (cherry picked from commit ff28d8926de92d809e3b7f71d3e44672178ed11e) Co-authored-by: cousteau Co-authored-by: cousteau --- Doc/library/multiprocessing.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index 6f6e7881598b88..dab115acdc207c 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -2629,9 +2629,9 @@ Address Formats filesystem. * An ``'AF_PIPE'`` address is a string of the form - :samp:`r'\\\\.\\pipe\\{PipeName}'`. To use :func:`Client` to connect to a named + :samp:`r'\\\\\\.\\pipe\\\\{PipeName}'`. To use :func:`Client` to connect to a named pipe on a remote computer called *ServerName* one should use an address of the - form :samp:`r'\\\\{ServerName}\\pipe\\{PipeName}'` instead. + form :samp:`r'\\\\\\\\{ServerName}\\pipe\\\\{PipeName}'` instead. Note that any string beginning with two backslashes is assumed by default to be an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address. From a685cc0a5e74106a671841caf27b8d729e695053 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 15:58:59 -0700 Subject: [PATCH 114/494] gh-95913: Move py.exe to appropriate What's New section & refine text (GH-97718) * Move Windows py.exe improvements from Typing section to New Features * Add ref target label and use literal for py.exe * Be clearer/explict about what legacy version arg components reprisent * Apply other minor clarity and textual fixes to py.exe launcher text * Refine phrasing of legacy sentence of py.exe desc Co-authored-by: Ezio Melotti Co-authored-by: Ezio Melotti (cherry picked from commit 985958187d578cfa311e404588950b29fda95db7) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 48 +++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index fe36f99f53826d..f3202f0c6d7980 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -207,6 +207,32 @@ See :pep:`678` for more details. PEP written by Zac Hatfield-Dodds.) +.. _whatsnew311-windows-launcher: + +Windows ``py.exe`` launcher improvements +---------------------------------------- + +The copy of the :ref:`launcher` included with Python 3.11 has been significantly +updated. It now supports company/tag syntax as defined in :pep:`514` using the +``-V:/`` argument instead of the limited ``-.``. +This allows launching distributions other than ``PythonCore``, +the one hosted on `python.org `_. + +When using ``-V:`` selectors, either company or tag can be omitted, but all +installs will be searched. For example, ``-V:OtherPython/`` will select the +"best" tag registered for ``OtherPython``, while ``-V:3.11`` or ``-V:/3.11`` +will select the "best" distribution with tag ``3.11``. + +When using the legacy ``-``, ``-.``, +``--`` or ``-.-`` arguments, +all existing behaviour should be preserved from past versions, +and only releases from ``PythonCore`` will be selected. +However, the ``-64`` suffix now implies "not 32-bit" (not necessarily x86-64), +as there are multiple supported 64-bit platforms. +32-bit runtimes are detected by checking the runtime's tag for a ``-32`` suffix. +All releases of Python since 3.5 have included this in their 32-bit builds. + + .. _new-feat-related-type-hints-311: .. _whatsnew311-typing-features: @@ -401,28 +427,6 @@ See `this message from the Steering Council /`` argument instead of the limited ``-x.y`` argument. This -allows launching distributions other than ``PythonCore``, which is the one -obtained from `python.org `_. - -When using ``-V:`` selectors, either company or tag can be omitted, but all -installs will be searched. For example, ``-V:OtherPython/`` will select the -"best" tag registered for ``OtherPython``, while ``-V:3.11`` or ``-V:/3.11`` -will select the "best" distribution with tag ``3.11``. - -When using legacy ``-x``, ``-x.y``, ``-x-ZZ`` or ``-x.y-ZZ`` arguments, all -existing behaviour should be preserved from past versions. Only releases from -``PythonCore`` will be selected. However, the ``-64`` suffix now implies "not -32-bit", as there are multiple supported 64-bit platforms. 32-bit runtimes are -detected by checking its tag for a ``-32`` suffix. All releases of Python -since 3.5 have included this in their 32-bit builds. - - Other Language Changes ====================== From a13b4e8ca67d612386def140093ba024d410a811 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:24:50 -0700 Subject: [PATCH 115/494] gh-95913: Copyedit/improve Other Language Changes What's New section (GH-97719) * Add/refine cross references to items in other lang changes section * Unify context manager exception changes into single non-repetitive item * More clearly describe the intent and consequences of the -P option * Apply minor clarifications & copyedits to rest of section * Tweak the formatting of module references Co-authored-by: Ezio Melotti Co-authored-by: Ezio Melotti (cherry picked from commit a77d9dedcd0d52c2663e9de4417dec9d1c5199f4) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 67 +++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index f3202f0c6d7980..8906be1eccda5d 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -427,52 +427,57 @@ See `this message from the Steering Council `. (See - :issue:`46725` for more details.) - -* Asynchronous comprehensions are now allowed inside comprehensions in - asynchronous functions. Outer comprehensions implicitly become - asynchronous. (Contributed by Serhiy Storchaka in :issue:`33346`.) +* Starred unpacking expressions can now be used in :keyword:`for` statements. + (See :issue:`46725` for more details.) -* A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in - :meth:`contextlib.ExitStack.enter_context` and - :meth:`contextlib.AsyncExitStack.enter_async_context` for objects which do not - support the :term:`context manager` or :term:`asynchronous context manager` - protocols correspondingly. - (Contributed by Serhiy Storchaka in :issue:`44471`.) +* Asynchronous :ref:`comprehensions ` are now allowed + inside comprehensions in :ref:`asynchronous functions `. + Outer comprehensions implicitly become asynchronous in this case. + (Contributed by Serhiy Storchaka in :issue:`33346`.) * A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in - :keyword:`with` and :keyword:`async with` statements for objects which do not - support the :term:`context manager` or :term:`asynchronous context manager` - protocols correspondingly. - (Contributed by Serhiy Storchaka in :issue:`12022`.) - -* Added :meth:`object.__getstate__` which provides the default - implementation of the ``__getstate__()`` method. :mod:`Copying ` - and :mod:`pickling ` instances of subclasses of builtin types + :keyword:`with` statements and :meth:`contextlib.ExitStack.enter_context` + for objects that do not support the :term:`context manager` protocol, + and in :keyword:`async with` statements and + :meth:`contextlib.AsyncExitStack.enter_async_context` + for objects not supporting the :term:`asynchronous context manager` protocol. + (Contributed by Serhiy Storchaka in :issue:`12022` and :issue:`44471`.) + +* Added :meth:`object.__getstate__`, which provides the default + implementation of the :meth:`!__getstate__` method. :mod:`copy`\ing + and :mod:`pickle`\ing instances of subclasses of builtin types :class:`bytearray`, :class:`set`, :class:`frozenset`, :class:`collections.OrderedDict`, :class:`collections.deque`, :class:`weakref.WeakSet`, and :class:`datetime.tzinfo` now copies and pickles instance attributes implemented as :term:`slots <__slots__>`. (Contributed by Serhiy Storchaka in :issue:`26579`.) -* Add :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` environment - variable to not prepend a potentially unsafe path to :data:`sys.path` such as - the current directory, the script's directory or an empty string. +* Added a :option:`-P` command line option + and a :envvar:`PYTHONSAFEPATH` environment variable, + which disable the automatic prepending to :data:`sys.path` + of the script's directory when running a script, + or the current directory when using :option:`-c` and :option:`-m`. + This ensures only stdlib and installed modules + are picked up by :keyword:`import`, + and avoids unintentionally or maliciously shadowing modules + with those in a local (and typically user-writable) directory. (Contributed by Victor Stinner in :gh:`57684`.) -* A ``"z"`` option was added to the format specification mini-language that - coerces negative zero to zero after rounding to the format precision. See - :pep:`682` for more details. (Contributed by John Belmonte in :gh:`90153`.) +* A ``"z"`` option was added to the :ref:`formatspec` that + coerces negative to positive zero after rounding to the format precision. + See :pep:`682` for more details. + (Contributed by John Belmonte in :gh:`90153`.) -* Bytes are no longer accepted on :attr:`sys.path`. Support broke sometime - between Python 3.2 and 3.6 with no one noticing until after Python 3.10.0 - was released. Bringing back support would also be problematic due to - interactions between :option:`-b` and :attr:`sys.path_importer_cache` when - there is a mixture of strings and bytes keys. +* Bytes are no longer accepted on :data:`sys.path`. Support broke sometime + between Python 3.2 and 3.6, with no one noticing until after Python 3.10.0 + was released. In addition, bringing back support would be problematic due to + interactions between :option:`-b` and :data:`sys.path_importer_cache` when + there is a mixture of :class:`str` and :class:`bytes` keys. (Contributed by Thomas Grainger in :gh:`91181`.) Other CPython Implementation Changes From 1657c837f321eaae264f945941be7a49b8103fa0 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:38:24 -0700 Subject: [PATCH 116/494] [3.11] gh-93738: Documentation C syntax (:c:type:`Py_UNICODE*` -> :c:expr:`Py_UNICODE*`) (GH-97784) (#97857) :c:type:`Py_UNICODE*` -> :c:expr:`Py_UNICODE*` (cherry picked from commit a081cae2a2cd1248ad067c3f7dc218ea7e3d203a) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/whatsnew/3.3.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst index 2d78f81798f283..609370bad274b6 100644 --- a/Doc/whatsnew/3.3.rst +++ b/Doc/whatsnew/3.3.rst @@ -2267,7 +2267,7 @@ The :c:type:`Py_UNICODE` has been deprecated by :pep:`393` and will be removed in Python 4. All functions using this type are deprecated: Unicode functions and methods using :c:type:`Py_UNICODE` and -:c:type:`Py_UNICODE*` types: +:c:expr:`Py_UNICODE*` types: * :c:macro:`PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or :c:func:`PyUnicode_FromKindAndData` From 9749c6029ed85aa08dfe4a06566b38e03f3932c4 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:38:58 -0700 Subject: [PATCH 117/494] [3.11] gh-93738: Documentation C syntax (:c:type:`PyUnicodeObject*` -> :c:expr:`PyUnicodeObject*`) (GH-97783) (#97859) :c:type:`PyUnicodeObject*` -> :c:expr:`PyUnicodeObject*` (cherry picked from commit 898834e27b82bd1f3532b6448a862a7a9cdeff66) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/unicode.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst index eb99013395360a..d86e99ffbbfa28 100644 --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -866,7 +866,7 @@ conversion function: ParseTuple converter: decode :class:`bytes` objects -- obtained either directly or indirectly through the :class:`os.PathLike` interface -- to :class:`str` using :c:func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` - objects are output as-is. *result* must be a :c:type:`PyUnicodeObject*` which + objects are output as-is. *result* must be a :c:expr:`PyUnicodeObject*` which must be released when it is no longer used. .. versionadded:: 3.2 From df133f54ef3bb21215d3b3481d64bb31d89c3c33 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:40:47 -0700 Subject: [PATCH 118/494] [3.11] gh-93738: Documentation C syntax (:c:type:`PyBytesObject*` -> :c:expr:`PyBytesObject*`) (GH-97782) (#97861) :c:type:`PyBytesObject*` -> :c:expr:`PyBytesObject*` (cherry picked from commit 9ebc50866b58a0ee2985c6540a67fee8a4a49e4d) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/unicode.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst index d86e99ffbbfa28..d26bac83ec6d53 100644 --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -849,7 +849,7 @@ argument parsing, the ``"O&"`` converter should be used, passing ParseTuple converter: encode :class:`str` objects -- obtained directly or through the :class:`os.PathLike` interface -- to :class:`bytes` using :c:func:`PyUnicode_EncodeFSDefault`; :class:`bytes` objects are output as-is. - *result* must be a :c:type:`PyBytesObject*` which must be released when it is + *result* must be a :c:expr:`PyBytesObject*` which must be released when it is no longer used. .. versionadded:: 3.1 From a51124729a78f4f8e5f36ae53f0e83468c128c0b Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:46:13 -0700 Subject: [PATCH 119/494] [3.11] gh-93738: Documentation C syntax (:c:type:`PyTupleObject*` -> :c:expr:`PyTupleObject*`) (GH-97780) (#97863) :c:type:`PyTupleObject*` -> :c:expr:`PyTupleObject*` (cherry picked from commit 510baa429affb832d7b4ed68182e59daa2815d2e) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/typehints.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/c-api/typehints.rst b/Doc/c-api/typehints.rst index 8b0b9b651e80e6..88554a346c0dda 100644 --- a/Doc/c-api/typehints.rst +++ b/Doc/c-api/typehints.rst @@ -16,7 +16,7 @@ two types exist -- :ref:`GenericAlias ` and :class:`types.GenericAlias`. The *origin* and *args* arguments set the ``GenericAlias``\ 's ``__origin__`` and ``__args__`` attributes respectively. *origin* should be a :c:type:`PyTypeObject*`, and *args* can be a - :c:type:`PyTupleObject*` or any ``PyObject*``. If *args* passed is + :c:expr:`PyTupleObject*` or any ``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically constructed and ``__args__`` is set to ``(args,)``. Minimal checking is done for the arguments, so the function will succeed even From 1b7da7f0886ff6ba3bbbd664d3eb5e485ff8b3c2 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:47:02 -0700 Subject: [PATCH 120/494] [3.11] gh-93738: Documentation C syntax (:c:type:`FILE` -> :c:expr:`FILE`) (GH-97769) (#97871) :c:type:`FILE` -> :c:expr:`FILE` (cherry picked from commit 192d401ba53224020f5f9ca6e1ff2c9f89511ac4) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/file.rst | 2 +- Doc/c-api/marshal.rst | 8 ++++---- Doc/c-api/veryhigh.rst | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Doc/c-api/file.rst b/Doc/c-api/file.rst index ed3735aa83608a..145dfe4962ac8f 100644 --- a/Doc/c-api/file.rst +++ b/Doc/c-api/file.rst @@ -8,7 +8,7 @@ File Objects .. index:: object: file These APIs are a minimal emulation of the Python 2 C API for built-in file -objects, which used to rely on the buffered I/O (:c:type:`FILE*`) support +objects, which used to rely on the buffered I/O (:c:expr:`FILE*`) support from the C standard library. In Python 3, files and streams use the new :mod:`io` module, which defines several layers over the low-level unbuffered I/O of the operating system. The functions described below are diff --git a/Doc/c-api/marshal.rst b/Doc/c-api/marshal.rst index 7bb0dad2b6b6d5..1ba18beb3ea00f 100644 --- a/Doc/c-api/marshal.rst +++ b/Doc/c-api/marshal.rst @@ -43,7 +43,7 @@ The following functions allow marshalled values to be read back in. .. c:function:: long PyMarshal_ReadLongFromFile(FILE *file) - Return a C :c:type:`long` from the data stream in a :c:type:`FILE*` opened + Return a C :c:type:`long` from the data stream in a :c:expr:`FILE*` opened for reading. Only a 32-bit value can be read in using this function, regardless of the native size of :c:type:`long`. @@ -53,7 +53,7 @@ The following functions allow marshalled values to be read back in. .. c:function:: int PyMarshal_ReadShortFromFile(FILE *file) - Return a C :c:type:`short` from the data stream in a :c:type:`FILE*` opened + Return a C :c:type:`short` from the data stream in a :c:expr:`FILE*` opened for reading. Only a 16-bit value can be read in using this function, regardless of the native size of :c:type:`short`. @@ -63,7 +63,7 @@ The following functions allow marshalled values to be read back in. .. c:function:: PyObject* PyMarshal_ReadObjectFromFile(FILE *file) - Return a Python object from the data stream in a :c:type:`FILE*` opened for + Return a Python object from the data stream in a :c:expr:`FILE*` opened for reading. On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` @@ -72,7 +72,7 @@ The following functions allow marshalled values to be read back in. .. c:function:: PyObject* PyMarshal_ReadLastObjectFromFile(FILE *file) - Return a Python object from the data stream in a :c:type:`FILE*` opened for + Return a Python object from the data stream in a :c:expr:`FILE*` opened for reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function assumes that no further objects will be read from the file, allowing it to aggressively load file data into memory so that the de-serialization can diff --git a/Doc/c-api/veryhigh.rst b/Doc/c-api/veryhigh.rst index 7bd47bb9c660a6..d15adad3dfe6e7 100644 --- a/Doc/c-api/veryhigh.rst +++ b/Doc/c-api/veryhigh.rst @@ -16,11 +16,11 @@ parameter. The available start symbols are :const:`Py_eval_input`, :const:`Py_file_input`, and :const:`Py_single_input`. These are described following the functions which accept them as parameters. -Note also that several of these functions take :c:type:`FILE*` parameters. One -particular issue which needs to be handled carefully is that the :c:type:`FILE` +Note also that several of these functions take :c:expr:`FILE*` parameters. One +particular issue which needs to be handled carefully is that the :c:expr:`FILE` structure for different C libraries can be different and incompatible. Under Windows (at least), it is possible for dynamically linked extensions to actually -use different libraries, so care should be taken that :c:type:`FILE*` parameters +use different libraries, so care should be taken that :c:expr:`FILE*` parameters are only passed to these functions if it is certain that they were created by the same library that the Python runtime is using. From 3ec11d92fd5db72ae27083fa2933a8d1c93c7c82 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:48:24 -0700 Subject: [PATCH 121/494] [3.11] gh-93738: Documentation C syntax (:c:type:`TYPE` -> :c:expr:`TYPE`) (GH-97770) (#97874) :c:type:`TYPE` -> :c:expr:`TYPE` (cherry picked from commit 8b211b4cdbcddecfcc4d1682864795b5f1438c59) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/memory.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/c-api/memory.rst b/Doc/c-api/memory.rst index 335ea00cff7cb8..4abbf340c5f420 100644 --- a/Doc/c-api/memory.rst +++ b/Doc/c-api/memory.rst @@ -265,14 +265,14 @@ The following type-oriented macros are provided for convenience. Note that .. c:function:: TYPE* PyMem_New(TYPE, size_t n) Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes of - memory. Returns a pointer cast to :c:type:`TYPE*`. The memory will not have + memory. Returns a pointer cast to :c:expr:`TYPE*`. The memory will not have been initialized in any way. .. c:function:: TYPE* PyMem_Resize(void *p, TYPE, size_t n) Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * - sizeof(TYPE))`` bytes. Returns a pointer cast to :c:type:`TYPE*`. On return, + sizeof(TYPE))`` bytes. Returns a pointer cast to :c:expr:`TYPE*`. On return, *p* will be a pointer to the new memory area, or ``NULL`` in the event of failure. From 76c50d784f791c717bad086f51939640bebf67ab Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:53:48 -0700 Subject: [PATCH 122/494] [3.11] gh-93738: Documentation C syntax (:c:type:`PyInterpreterState *` -> :c:expr:`PyInterpreterState *`) (GH-97777) (#97865) :c:type:`PyInterpreterState *` -> :c:expr:`PyInterpreterState *` (cherry picked from commit 4ebb0250314b57637d213cd5bc5f5ce5dd911d94) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/init.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index d4954958f855f5..d573ef13128024 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -914,7 +914,7 @@ code, or when embedding the Python interpreter: .. c:type:: PyThreadState This data structure represents the state of a single thread. The only public - data member is :attr:`interp` (:c:type:`PyInterpreterState *`), which points to + data member is :attr:`interp` (:c:expr:`PyInterpreterState *`), which points to this thread's interpreter state. From 98e250bed101d0ffba266f72aeab4c0ff602797a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 17:55:17 -0700 Subject: [PATCH 123/494] [3.11] gh-93738: Documentation C syntax (:c:data:`view->obj` -> :c:expr:`view->obj`) (GH-97773) (#97867) :c:data:`view->obj` -> :c:expr:`view->obj` (cherry picked from commit fa59bda8d30ea0b6c19007205b57c800c944304c) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/typeobj.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index 8be489ad1efc7c..7fa8fcecb68f82 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -2321,13 +2321,13 @@ Buffer Object Structures steps: (1) Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, - set :c:data:`view->obj` to ``NULL`` and return ``-1``. + set :c:expr:`view->obj` to ``NULL`` and return ``-1``. (2) Fill in the requested fields. (3) Increment an internal counter for the number of exports. - (4) Set :c:data:`view->obj` to *exporter* and increment :c:data:`view->obj`. + (4) Set :c:expr:`view->obj` to *exporter* and increment :c:expr:`view->obj`. (5) Return ``0``. @@ -2335,10 +2335,10 @@ Buffer Object Structures schemes can be used: * Re-export: Each member of the tree acts as the exporting object and - sets :c:data:`view->obj` to a new reference to itself. + sets :c:expr:`view->obj` to a new reference to itself. * Redirect: The buffer request is redirected to the root object of the - tree. Here, :c:data:`view->obj` will be a new reference to the root + tree. Here, :c:expr:`view->obj` will be a new reference to the root object. The individual fields of *view* are described in section @@ -2380,7 +2380,7 @@ Buffer Object Structures *view* argument. - This function MUST NOT decrement :c:data:`view->obj`, since that is + This function MUST NOT decrement :c:expr:`view->obj`, since that is done automatically in :c:func:`PyBuffer_Release` (this scheme is useful for breaking reference cycles). From d03f45203b4abf8095d5c5c692c9c9c2f8083eec Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 18:08:59 -0700 Subject: [PATCH 124/494] gh-95913: Copyedit/improve Implementation Changes What's New section (GH-97720) * Add and refine reST/Sphinx syntax for implementation changes section * Clarify and refine wording in the Implementation Changes section * Elide unnecessary comma Co-authored-by: Ezio Melotti Co-authored-by: Ezio Melotti (cherry picked from commit 4e731814d781dae3419e981c0acc3ef833e26e8a) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 44 ++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 8906be1eccda5d..553261dbd4cc08 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -480,17 +480,24 @@ Other Language Changes there is a mixture of :class:`str` and :class:`bytes` keys. (Contributed by Thomas Grainger in :gh:`91181`.) + +.. _whatsnew311-other-implementation-changes: + Other CPython Implementation Changes ==================================== -* Special methods :meth:`complex.__complex__` and :meth:`bytes.__bytes__` are implemented to - support :class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` protocols. +* The special methods :meth:`~object.__complex__` for :class:`complex` + and :meth:`~object.__bytes__` for :class:`bytes` are implemented to support + the :class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` protocols. (Contributed by Mark Dickinson and Dong-hee Na in :issue:`24234`.) -* ``siphash13`` is added as a new internal hashing algorithms. It has similar security - properties as ``siphash24`` but it is slightly faster for long inputs. ``str``, ``bytes``, - and some other types now use it as default algorithm for :func:`hash`. :pep:`552` - hash-based pyc files now use ``siphash13``, too. +* ``siphash13`` is added as a new internal hashing algorithm. + It has similar security properties as ``siphash24``, + but it is slightly faster for long inputs. + :class:`str`, :class:`bytes`, and some other types + now use it as the default algorithm for :func:`hash`. + :pep:`552` :ref:`hash-based .pyc files ` + now use ``siphash13`` too. (Contributed by Inada Naoki in :issue:`29410`.) * When an active exception is re-raised by a :keyword:`raise` statement with no parameters, @@ -499,25 +506,28 @@ Other CPython Implementation Changes reflected in the re-raised exception. (Contributed by Irit Katriel in :issue:`45711`.) -* The interpreter state's representation of handled exceptions (a.k.a exc_info, or - _PyErr_StackItem) now has only the ``exc_value`` field, ``exc_type`` and ``exc_traceback`` - have been removed as their values can be derived from ``exc_value``. +* The interpreter state's representation of handled exceptions + (aka ``exc_info`` or ``_PyErr_StackItem``) + now only has the ``exc_value`` field; ``exc_type`` and ``exc_traceback`` + have been removed, as they can be derived from ``exc_value``. (Contributed by Irit Katriel in :issue:`45711`.) -* A new command line option for the Windows installer ``AppendPath`` has been added. - It behaves similiar to ``PrependPath`` but appends the install and scripts directories - instead of prepending them. +* A new :ref:`command line option `, ``AppendPath``, + has been added for the Windows installer. + It behaves similarly to ``PrependPath``, + but appends the install and scripts directories instead of prepending them. (Contributed by Bastian Neuburger in :issue:`44934`.) -* The :c:member:`PyConfig.module_search_paths_set` field must now be set to 1 for +* The :c:member:`PyConfig.module_search_paths_set` field must now be set to ``1`` for initialization to use :c:member:`PyConfig.module_search_paths` to initialize :data:`sys.path`. Otherwise, initialization will recalculate the path and replace any values added to ``module_search_paths``. -* The output of the :option:`--help` option is changed to fit inside 50 lines and 80 - columns. Information about :ref:`Python environment variables ` - and :option:`-X options <-X>` is available with the new :option:`--help-env` or - :option:`--help-xoptions` flags, and with :option:`--help-all`. +* The output of the :option:`--help` option now fits in 50 lines/80 columns. + Information about :ref:`Python environment variables ` + and :option:`-X` options is now available using the respective + :option:`--help-env` and :option:`--help-xoptions` flags, + and with the new :option:`--help-all`. (Contributed by Éric Araujo in :issue:`46142`.) * Converting between :class:`int` and :class:`str` in bases other than 2 From 01513758298ae8fb956ce18c01d748d2986cfef3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 18:29:54 -0700 Subject: [PATCH 125/494] Add re.VERBOSE flag documentation example (GH-97678) The current re.VERBOSE documentation example leaves space for ambiguous interpretation. One may read that spaces within the `(?:` token are spaces inside the non-capturing group (such as `(?: )`). This patch removes the ambiguity by including examples after the statement. (cherry picked from commit 0ceafa7fa408b64377ea31dd5386152da19ef38a) Co-authored-by: Athos Ribeiro --- Doc/library/re.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/library/re.rst b/Doc/library/re.rst index 2392785d6c465b..3a6e2e7f89081c 100644 --- a/Doc/library/re.rst +++ b/Doc/library/re.rst @@ -781,7 +781,8 @@ Flags more readable by allowing you to visually separate logical sections of the pattern and add comments. Whitespace within the pattern is ignored, except when in a character class, or when preceded by an unescaped backslash, - or within tokens like ``*?``, ``(?:`` or ``(?P<...>``. + or within tokens like ``*?``, ``(?:`` or ``(?P<...>``. For example, ``(? :`` + and ``* ?`` are not allowed. When a line contains a ``#`` that is not in a character class and is not preceded by an unescaped backslash, all characters from the leftmost such ``#`` through the end of the line are ignored. From 9133aabc708de881c06458b4e316489178475c3c Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 20:29:40 -0700 Subject: [PATCH 126/494] gh-97825: fix AttributeError when calling subprocess.check_output(input=None) with encoding or errors args (GH-97826) * fix AttributeError, add unit test (cherry picked from commit db64fb9bbe92b212db7dd173f787ea3607ae971a) Co-authored-by: andrei kulakov --- Lib/subprocess.py | 3 ++- Lib/test/test_subprocess.py | 6 ++++++ .../Library/2022-10-04-07-55-19.gh-issue-97825.mNdv1l.rst | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2022-10-04-07-55-19.gh-issue-97825.mNdv1l.rst diff --git a/Lib/subprocess.py b/Lib/subprocess.py index 7ae8df154b481f..760b93b47ebba6 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -456,7 +456,8 @@ def check_output(*popenargs, timeout=None, **kwargs): if 'input' in kwargs and kwargs['input'] is None: # Explicitly passing input=None was previously equivalent to passing an # empty string. That is maintained here for backwards compatibility. - if kwargs.get('universal_newlines') or kwargs.get('text'): + if kwargs.get('universal_newlines') or kwargs.get('text') or kwargs.get('encoding') \ + or kwargs.get('errors'): empty = '' else: empty = b'' diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index f6854922a5b878..424a4a93b6f972 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -238,6 +238,12 @@ def test_check_output_input_none_universal_newlines(self): input=None, universal_newlines=True) self.assertNotIn('XX', output) + def test_check_output_input_none_encoding_errors(self): + output = subprocess.check_output( + [sys.executable, "-c", "print('foo')"], + input=None, encoding='utf-8', errors='ignore') + self.assertIn('foo', output) + def test_check_output_stdout_arg(self): # check_output() refuses to accept 'stdout' argument with self.assertRaises(ValueError) as c: diff --git a/Misc/NEWS.d/next/Library/2022-10-04-07-55-19.gh-issue-97825.mNdv1l.rst b/Misc/NEWS.d/next/Library/2022-10-04-07-55-19.gh-issue-97825.mNdv1l.rst new file mode 100644 index 00000000000000..4633dce7b663e7 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-10-04-07-55-19.gh-issue-97825.mNdv1l.rst @@ -0,0 +1 @@ +Fixes :exc:`AttributeError` when :meth:`subprocess.check_output` is used with argument ``input=None`` and either of the arguments *encoding* or *errors* are used. From 8c517d88fb5ac6f1145128804fe10d5ef9d12b07 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 20:55:06 -0700 Subject: [PATCH 127/494] [3.11] gh-97837: Change deprecation warning message in `unittest` (GH-97838) (GH-97887) (cherry picked from commit c3648f4e4a12ec6efe65684facfcd08996e550ca) Co-authored-by: Nikita Sobolev Automerge-Triggered-By: GH:orsenthil --- Lib/unittest/async_case.py | 2 +- Lib/unittest/case.py | 2 +- Lib/unittest/test/test_async_case.py | 17 ++++++++++++++--- Lib/unittest/test/test_case.py | 17 ++++++++++++++--- ...022-10-04-21-21-41.gh-issue-97837.19q-eg.rst | 7 +++++++ 5 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-10-04-21-21-41.gh-issue-97837.19q-eg.rst diff --git a/Lib/unittest/async_case.py b/Lib/unittest/async_case.py index 3457e92e5da298..bd2a471156065b 100644 --- a/Lib/unittest/async_case.py +++ b/Lib/unittest/async_case.py @@ -88,7 +88,7 @@ def _callSetUp(self): def _callTestMethod(self, method): if self._callMaybeAsync(method) is not None: - warnings.warn(f'It is deprecated to return a value!=None from a ' + warnings.warn(f'It is deprecated to return a value that is not None from a ' f'test case ({method})', DeprecationWarning, stacklevel=4) def _callTearDown(self): diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py index ffc8f19ddd38d3..8633f383760345 100644 --- a/Lib/unittest/case.py +++ b/Lib/unittest/case.py @@ -577,7 +577,7 @@ def _callSetUp(self): def _callTestMethod(self, method): if method() is not None: - warnings.warn(f'It is deprecated to return a value!=None from a ' + warnings.warn(f'It is deprecated to return a value that is not None from a ' f'test case ({method})', DeprecationWarning, stacklevel=3) def _callTearDown(self): diff --git a/Lib/unittest/test/test_async_case.py b/Lib/unittest/test/test_async_case.py index d7d4dc91316c6c..fab8270ea33abd 100644 --- a/Lib/unittest/test/test_async_case.py +++ b/Lib/unittest/test/test_async_case.py @@ -277,25 +277,36 @@ async def on_cleanup2(self): self.assertEqual(events, ['asyncSetUp', 'test', 'asyncTearDown', 'cleanup2', 'cleanup1']) def test_deprecation_of_return_val_from_test(self): - # Issue 41322 - deprecate return of value!=None from a test + # Issue 41322 - deprecate return of value that is not None from a test + class Nothing: + def __eq__(self, o): + return o is None class Test(unittest.IsolatedAsyncioTestCase): async def test1(self): return 1 async def test2(self): yield 1 + async def test3(self): + return Nothing() with self.assertWarns(DeprecationWarning) as w: Test('test1').run() - self.assertIn('It is deprecated to return a value!=None', str(w.warning)) + self.assertIn('It is deprecated to return a value that is not None', str(w.warning)) self.assertIn('test1', str(w.warning)) self.assertEqual(w.filename, __file__) with self.assertWarns(DeprecationWarning) as w: Test('test2').run() - self.assertIn('It is deprecated to return a value!=None', str(w.warning)) + self.assertIn('It is deprecated to return a value that is not None', str(w.warning)) self.assertIn('test2', str(w.warning)) self.assertEqual(w.filename, __file__) + with self.assertWarns(DeprecationWarning) as w: + Test('test3').run() + self.assertIn('It is deprecated to return a value that is not None', str(w.warning)) + self.assertIn('test3', str(w.warning)) + self.assertEqual(w.filename, __file__) + def test_cleanups_interleave_order(self): events = [] diff --git a/Lib/unittest/test/test_case.py b/Lib/unittest/test/test_case.py index 374a255255566f..78303b359f5e10 100644 --- a/Lib/unittest/test/test_case.py +++ b/Lib/unittest/test/test_case.py @@ -307,25 +307,36 @@ def test(self): Foo('test').run() def test_deprecation_of_return_val_from_test(self): - # Issue 41322 - deprecate return of value!=None from a test + # Issue 41322 - deprecate return of value that is not None from a test + class Nothing: + def __eq__(self, o): + return o is None class Foo(unittest.TestCase): def test1(self): return 1 def test2(self): yield 1 + def test3(self): + return Nothing() with self.assertWarns(DeprecationWarning) as w: Foo('test1').run() - self.assertIn('It is deprecated to return a value!=None', str(w.warning)) + self.assertIn('It is deprecated to return a value that is not None', str(w.warning)) self.assertIn('test1', str(w.warning)) self.assertEqual(w.filename, __file__) with self.assertWarns(DeprecationWarning) as w: Foo('test2').run() - self.assertIn('It is deprecated to return a value!=None', str(w.warning)) + self.assertIn('It is deprecated to return a value that is not None', str(w.warning)) self.assertIn('test2', str(w.warning)) self.assertEqual(w.filename, __file__) + with self.assertWarns(DeprecationWarning) as w: + Foo('test3').run() + self.assertIn('It is deprecated to return a value that is not None', str(w.warning)) + self.assertIn('test3', str(w.warning)) + self.assertEqual(w.filename, __file__) + def _check_call_order__subtests(self, result, events, expected_events): class Foo(Test.LoggingTestCase): def test(self): diff --git a/Misc/NEWS.d/next/Library/2022-10-04-21-21-41.gh-issue-97837.19q-eg.rst b/Misc/NEWS.d/next/Library/2022-10-04-21-21-41.gh-issue-97837.19q-eg.rst new file mode 100644 index 00000000000000..b1350c959e2b69 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-10-04-21-21-41.gh-issue-97837.19q-eg.rst @@ -0,0 +1,7 @@ +Change deprecate warning message in :mod:`unittest` from + +``It is deprecated to return a value!=None`` + +to + +``It is deprecated to return a value that is not None from a test case`` From 015b49ac05eddcb7f653ed2c80daba24ff396fd9 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 Oct 2022 22:46:34 -0700 Subject: [PATCH 128/494] [3.11] GH-97779: Ensure that *all* frame objects are backed by "complete" frames (GH-97886) (cherry picked from commit 0ff8fd65838f9f9ed90d7a055d26a2ce9fc0ce85) Co-authored-by: Brandt Bucher --- Lib/test/test_code.py | 33 +++++++++++++++++++ ...2-10-04-02-00-10.gh-issue-97779.f3N1hI.rst | 1 + Objects/codeobject.c | 22 +++++++++++-- Objects/frameobject.c | 16 ++++++++- Python/frame.c | 7 ++++ 5 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-10-04-02-00-10.gh-issue-97779.f3N1hI.rst diff --git a/Lib/test/test_code.py b/Lib/test/test_code.py index 2386cf6b59f396..d3e20129eee8ef 100644 --- a/Lib/test/test_code.py +++ b/Lib/test/test_code.py @@ -132,6 +132,7 @@ import unittest import textwrap import weakref +import dis try: import ctypes @@ -671,6 +672,38 @@ def test_lines(self): self.check_lines(misshappen) self.check_lines(bug93662) + @cpython_only + def test_code_new_empty(self): + # If this test fails, it means that the construction of PyCode_NewEmpty + # needs to be modified! Please update this test *and* PyCode_NewEmpty, + # so that they both stay in sync. + def f(): + pass + PY_CODE_LOCATION_INFO_NO_COLUMNS = 13 + f.__code__ = f.__code__.replace( + co_firstlineno=42, + co_code=bytes( + [ + dis.opmap["RESUME"], 0, + dis.opmap["LOAD_ASSERTION_ERROR"], 0, + dis.opmap["RAISE_VARARGS"], 1, + ] + ), + co_linetable=bytes( + [ + (1 << 7) + | (PY_CODE_LOCATION_INFO_NO_COLUMNS << 3) + | (3 - 1), + 0, + ] + ), + ) + self.assertRaises(AssertionError, f) + self.assertEqual( + list(f.__code__.co_positions()), + 3 * [(42, 42, None, None)], + ) + if check_impl_detail(cpython=True) and ctypes is not None: py = ctypes.pythonapi diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-04-02-00-10.gh-issue-97779.f3N1hI.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-04-02-00-10.gh-issue-97779.f3N1hI.rst new file mode 100644 index 00000000000000..6115218088651b --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-04-02-00-10.gh-issue-97779.f3N1hI.rst @@ -0,0 +1 @@ +Ensure that all Python frame objects are backed by "complete" frames. diff --git a/Objects/codeobject.c b/Objects/codeobject.c index d7434ddefbc026..32938b52ab40f2 100644 --- a/Objects/codeobject.c +++ b/Objects/codeobject.c @@ -636,12 +636,22 @@ PyCode_New(int argcount, int kwonlyargcount, exceptiontable); } -static const char assert0[6] = { +// NOTE: When modifying the construction of PyCode_NewEmpty, please also change +// test.test_code.CodeLocationTest.test_code_new_empty to keep it in sync! + +static const uint8_t assert0[6] = { RESUME, 0, LOAD_ASSERTION_ERROR, 0, RAISE_VARARGS, 1 }; +static const uint8_t linetable[2] = { + (1 << 7) // New entry. + | (PY_CODE_LOCATION_INFO_NO_COLUMNS << 3) + | (3 - 1), // Three code units. + 0, // Offset from co_firstlineno. +}; + PyCodeObject * PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno) { @@ -649,6 +659,7 @@ PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno) PyObject *filename_ob = NULL; PyObject *funcname_ob = NULL; PyObject *code_ob = NULL; + PyObject *linetable_ob = NULL; PyCodeObject *result = NULL; nulltuple = PyTuple_New(0); @@ -663,10 +674,14 @@ PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno) if (filename_ob == NULL) { goto failed; } - code_ob = PyBytes_FromStringAndSize(assert0, 6); + code_ob = PyBytes_FromStringAndSize((const char *)assert0, 6); if (code_ob == NULL) { goto failed; } + linetable_ob = PyBytes_FromStringAndSize((const char *)linetable, 2); + if (linetable_ob == NULL) { + goto failed; + } #define emptystring (PyObject *)&_Py_SINGLETON(bytes_empty) struct _PyCodeConstructor con = { @@ -675,7 +690,7 @@ PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno) .qualname = funcname_ob, .code = code_ob, .firstlineno = firstlineno, - .linetable = emptystring, + .linetable = linetable_ob, .consts = nulltuple, .names = nulltuple, .localsplusnames = nulltuple, @@ -690,6 +705,7 @@ PyCode_NewEmpty(const char *filename, const char *funcname, int firstlineno) Py_XDECREF(funcname_ob); Py_XDECREF(filename_ob); Py_XDECREF(code_ob); + Py_XDECREF(linetable_ob); return result; } diff --git a/Objects/frameobject.c b/Objects/frameobject.c index 1ddfec2fb08ab7..f77f5ed39392e2 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -590,6 +590,7 @@ first_line_not_before(int *lines, int len, int line) static PyFrameState _PyFrame_GetState(PyFrameObject *frame) { + assert(!_PyFrame_IsIncomplete(frame->f_frame)); if (frame->f_frame->stacktop == 0) { return FRAME_CLEARED; } @@ -1063,6 +1064,9 @@ PyFrame_New(PyThreadState *tstate, PyCodeObject *code, init_frame((_PyInterpreterFrame *)f->_f_frame_data, func, locals); f->f_frame = (_PyInterpreterFrame *)f->_f_frame_data; f->f_frame->owner = FRAME_OWNED_BY_FRAME_OBJECT; + // This frame needs to be "complete", so pretend that the first RESUME ran: + f->f_frame->prev_instr = _PyCode_CODE(code) + code->_co_firsttraceable; + assert(!_PyFrame_IsIncomplete(f->f_frame)); Py_DECREF(func); _PyObject_GC_TRACK(f); return f; @@ -1189,6 +1193,7 @@ _PyFrame_FastToLocalsWithError(_PyInterpreterFrame *frame) { int PyFrame_FastToLocalsWithError(PyFrameObject *f) { + assert(!_PyFrame_IsIncomplete(f->f_frame)); if (f == NULL) { PyErr_BadInternalCall(); return -1; @@ -1204,7 +1209,7 @@ void PyFrame_FastToLocals(PyFrameObject *f) { int res; - + assert(!_PyFrame_IsIncomplete(f->f_frame)); assert(!PyErr_Occurred()); res = PyFrame_FastToLocalsWithError(f); @@ -1282,6 +1287,7 @@ _PyFrame_LocalsToFast(_PyInterpreterFrame *frame, int clear) void PyFrame_LocalsToFast(PyFrameObject *f, int clear) { + assert(!_PyFrame_IsIncomplete(f->f_frame)); if (f && f->f_fast_as_locals && _PyFrame_GetState(f) != FRAME_CLEARED) { _PyFrame_LocalsToFast(f->f_frame, clear); f->f_fast_as_locals = 0; @@ -1292,6 +1298,7 @@ PyFrame_LocalsToFast(PyFrameObject *f, int clear) int _PyFrame_IsEntryFrame(PyFrameObject *frame) { assert(frame != NULL); + assert(!_PyFrame_IsIncomplete(frame->f_frame)); return frame->f_frame->is_entry; } @@ -1300,6 +1307,7 @@ PyCodeObject * PyFrame_GetCode(PyFrameObject *frame) { assert(frame != NULL); + assert(!_PyFrame_IsIncomplete(frame->f_frame)); PyCodeObject *code = frame->f_frame->f_code; assert(code != NULL); Py_INCREF(code); @@ -1311,6 +1319,7 @@ PyFrameObject* PyFrame_GetBack(PyFrameObject *frame) { assert(frame != NULL); + assert(!_PyFrame_IsIncomplete(frame->f_frame)); PyFrameObject *back = frame->f_back; if (back == NULL) { _PyInterpreterFrame *prev = frame->f_frame->previous; @@ -1328,24 +1337,28 @@ PyFrame_GetBack(PyFrameObject *frame) PyObject* PyFrame_GetLocals(PyFrameObject *frame) { + assert(!_PyFrame_IsIncomplete(frame->f_frame)); return frame_getlocals(frame, NULL); } PyObject* PyFrame_GetGlobals(PyFrameObject *frame) { + assert(!_PyFrame_IsIncomplete(frame->f_frame)); return frame_getglobals(frame, NULL); } PyObject* PyFrame_GetBuiltins(PyFrameObject *frame) { + assert(!_PyFrame_IsIncomplete(frame->f_frame)); return frame_getbuiltins(frame, NULL); } int PyFrame_GetLasti(PyFrameObject *frame) { + assert(!_PyFrame_IsIncomplete(frame->f_frame)); int lasti = _PyInterpreterFrame_LASTI(frame->f_frame); if (lasti < 0) { return -1; @@ -1356,6 +1369,7 @@ PyFrame_GetLasti(PyFrameObject *frame) PyObject * PyFrame_GetGenerator(PyFrameObject *frame) { + assert(!_PyFrame_IsIncomplete(frame->f_frame)); if (frame->f_frame->owner != FRAME_OWNED_BY_GENERATOR) { return NULL; } diff --git a/Python/frame.c b/Python/frame.c index 45072da0426964..9f58c20d4fa25d 100644 --- a/Python/frame.c +++ b/Python/frame.c @@ -68,6 +68,13 @@ take_ownership(PyFrameObject *f, _PyInterpreterFrame *frame) frame = (_PyInterpreterFrame *)f->_f_frame_data; f->f_frame = frame; frame->owner = FRAME_OWNED_BY_FRAME_OBJECT; + if (_PyFrame_IsIncomplete(frame)) { + // This may be a newly-created generator or coroutine frame. Since it's + // dead anyways, just pretend that the first RESUME ran: + PyCodeObject *code = frame->f_code; + frame->prev_instr = _PyCode_CODE(code) + code->_co_firsttraceable; + } + assert(!_PyFrame_IsIncomplete(frame)); assert(f->f_back == NULL); _PyInterpreterFrame *prev = frame->previous; while (prev && _PyFrame_IsIncomplete(prev)) { From 79b5c1ad3c750312d6af062a70808555b4ea49ab Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 01:57:30 -0700 Subject: [PATCH 129/494] gh-97661: Improve accuracy of sqlite3.Cursor.fetchone docs (GH-97662) Co-authored-by: C.A.M. Gerlach (cherry picked from commit 4b83cd0b22428fbfccf1f0e85c0fc36be6ab7edf) Co-authored-by: Jia Junjie <62194633+jiajunjie@users.noreply.github.com> --- Doc/library/sqlite3.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst index 70cf43c2544e8c..8fdb75349540c9 100644 --- a/Doc/library/sqlite3.rst +++ b/Doc/library/sqlite3.rst @@ -1412,7 +1412,9 @@ Cursor objects .. method:: fetchone() - Return the next row of a query result set as a :class:`tuple`. + If :attr:`~Connection.row_factory` is ``None``, + return the next row query result set as a :class:`tuple`. + Else, pass it to the row factory and return its result. Return ``None`` if no more data is available. From 73e3510bdb2762e371e8545f1a4c68b821fcdcf2 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 03:20:32 -0700 Subject: [PATCH 130/494] gh-97758: Fix a crash in getpath_joinpath() called without arguments (GH-97759) (cherry picked from commit f8cbd79d328d90443acabc41d246332c302c815a) Co-authored-by: Serhiy Storchaka --- Modules/getpath.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/getpath.c b/Modules/getpath.c index be704adbde9468..ceacf36d8968a1 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -261,7 +261,7 @@ getpath_joinpath(PyObject *Py_UNUSED(self), PyObject *args) } Py_ssize_t n = PyTuple_GET_SIZE(args); if (n == 0) { - return PyUnicode_FromString(NULL); + return PyUnicode_FromStringAndSize(NULL, 0); } /* Convert all parts to wchar and accumulate max final length */ wchar_t **parts = (wchar_t **)PyMem_Malloc(n * sizeof(wchar_t *)); From 2b248b0ab58428ae9c6006c02808ae2241293da3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 04:59:09 -0700 Subject: [PATCH 131/494] gh-95196: Disable incorrect pickling of the C implemented classmethod descriptors (GH-96383) (cherry picked from commit 77f0249308de76401bf4f3c6a057789c92f862d1) Co-authored-by: Serhiy Storchaka --- Lib/test/pickletester.py | 18 ++++++++++++++++++ ...22-08-29-13-06-58.gh-issue-95196.eGRR4b.rst | 1 + Objects/descrobject.c | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-08-29-13-06-58.gh-issue-95196.eGRR4b.rst diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py index 21419e11c87497..499f80a15f3422 100644 --- a/Lib/test/pickletester.py +++ b/Lib/test/pickletester.py @@ -2776,6 +2776,15 @@ def pie(self): unpickled = self.loads(self.dumps(method, proto)) self.assertEqual(method(obj), unpickled(obj)) + descriptors = ( + PyMethodsTest.__dict__['cheese'], # static method descriptor + PyMethodsTest.__dict__['wine'], # class method descriptor + ) + for proto in range(pickle.HIGHEST_PROTOCOL + 1): + for descr in descriptors: + with self.subTest(proto=proto, descr=descr): + self.assertRaises(TypeError, self.dumps, descr, proto) + def test_c_methods(self): global Subclass class Subclass(tuple): @@ -2811,6 +2820,15 @@ class Nested(str): unpickled = self.loads(self.dumps(method, proto)) self.assertEqual(method(*args), unpickled(*args)) + descriptors = ( + bytearray.__dict__['maketrans'], # built-in static method descriptor + dict.__dict__['fromkeys'], # built-in class method descriptor + ) + for proto in range(pickle.HIGHEST_PROTOCOL + 1): + for descr in descriptors: + with self.subTest(proto=proto, descr=descr): + self.assertRaises(TypeError, self.dumps, descr, proto) + def test_compat_pickle(self): tests = [ (range(1, 7), '__builtin__', 'xrange'), diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-08-29-13-06-58.gh-issue-95196.eGRR4b.rst b/Misc/NEWS.d/next/Core and Builtins/2022-08-29-13-06-58.gh-issue-95196.eGRR4b.rst new file mode 100644 index 00000000000000..37534fa1752550 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-08-29-13-06-58.gh-issue-95196.eGRR4b.rst @@ -0,0 +1 @@ +Disable incorrect pickling of the C implemented classmethod descriptors. diff --git a/Objects/descrobject.c b/Objects/descrobject.c index c3c541bf3c3212..73ac14d2a84b09 100644 --- a/Objects/descrobject.c +++ b/Objects/descrobject.c @@ -775,7 +775,7 @@ PyTypeObject PyClassMethodDescr_Type = { 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - descr_methods, /* tp_methods */ + 0, /* tp_methods */ descr_members, /* tp_members */ method_getset, /* tp_getset */ 0, /* tp_base */ From 0a2008037f1a6e83372c6cebf5c5c02f94e280b0 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 08:18:27 -0700 Subject: [PATCH 132/494] [3.11] gh-93738: Documentation C syntax (:c:type:`PyObject` -> :c:expr:`PyObject`) (GH-97776) (#97889) :c:type:`PyObject` -> :c:expr:`PyObject` (cherry picked from commit 0bf6a617ed1832bc4803e532c8d6b3427cf48b13) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/arg.rst | 10 +++++----- Doc/c-api/call.rst | 8 ++++---- Doc/c-api/dict.rst | 4 ++-- Doc/c-api/exceptions.rst | 4 ++-- Doc/c-api/init.rst | 2 +- Doc/c-api/intro.rst | 4 ++-- Doc/c-api/structures.rst | 20 ++++++++++---------- Doc/c-api/tuple.rst | 2 +- Doc/c-api/typeobj.rst | 2 +- Doc/library/ctypes.rst | 4 ++-- 10 files changed, 30 insertions(+), 30 deletions(-) diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst index 926e5249347f84..fb921a4af6f34e 100644 --- a/Doc/c-api/arg.rst +++ b/Doc/c-api/arg.rst @@ -129,12 +129,12 @@ which disallows mutable objects such as :class:`bytearray`. ``S`` (:class:`bytes`) [PyBytesObject \*] Requires that the Python object is a :class:`bytes` object, without attempting any conversion. Raises :exc:`TypeError` if the object is not - a bytes object. The C variable may also be declared as :c:type:`PyObject*`. + a bytes object. The C variable may also be declared as :c:expr:`PyObject*`. ``Y`` (:class:`bytearray`) [PyByteArrayObject \*] Requires that the Python object is a :class:`bytearray` object, without attempting any conversion. Raises :exc:`TypeError` if the object is not - a :class:`bytearray` object. The C variable may also be declared as :c:type:`PyObject*`. + a :class:`bytearray` object. The C variable may also be declared as :c:expr:`PyObject*`. ``u`` (:class:`str`) [const Py_UNICODE \*] Convert a Python Unicode object to a C pointer to a NUL-terminated buffer of @@ -181,7 +181,7 @@ which disallows mutable objects such as :class:`bytearray`. ``U`` (:class:`str`) [PyObject \*] Requires that the Python object is a Unicode object, without attempting any conversion. Raises :exc:`TypeError` if the object is not a Unicode - object. The C variable may also be declared as :c:type:`PyObject*`. + object. The C variable may also be declared as :c:expr:`PyObject*`. ``w*`` (read-write :term:`bytes-like object`) [Py_buffer] This format accepts any object which implements the read-write buffer @@ -320,7 +320,7 @@ Other objects ``O!`` (object) [*typeobject*, PyObject \*] Store a Python object in a C object pointer. This is similar to ``O``, but takes two C arguments: the first is the address of a Python type object, the - second is the address of the C variable (of type :c:type:`PyObject*`) into which + second is the address of the C variable (of type :c:expr:`PyObject*`) into which the object pointer is stored. If the Python object does not have the required type, :exc:`TypeError` is raised. @@ -481,7 +481,7 @@ API Functions *args*; it must actually be a tuple. The length of the tuple must be at least *min* and no more than *max*; *min* and *max* may be equal. Additional arguments must be passed to the function, each of which should be a pointer to a - :c:type:`PyObject*` variable; these will be filled in with the values from + :c:expr:`PyObject*` variable; these will be filled in with the values from *args*; they will contain :term:`borrowed references `. The variables which correspond to optional parameters not given by *args* will not be filled in; these should diff --git a/Doc/c-api/call.rst b/Doc/c-api/call.rst index 13ef8b217a1622..36149f156c6764 100644 --- a/Doc/c-api/call.rst +++ b/Doc/c-api/call.rst @@ -275,7 +275,7 @@ please see individual documentation for details. This is the equivalent of the Python expression: ``callable(*args)``. - Note that if you only pass :c:type:`PyObject *` args, + Note that if you only pass :c:expr:`PyObject *` args, :c:func:`PyObject_CallFunctionObjArgs` is a faster alternative. .. versionchanged:: 3.4 @@ -296,7 +296,7 @@ please see individual documentation for details. This is the equivalent of the Python expression: ``obj.name(arg1, arg2, ...)``. - Note that if you only pass :c:type:`PyObject *` args, + Note that if you only pass :c:expr:`PyObject *` args, :c:func:`PyObject_CallMethodObjArgs` is a faster alternative. .. versionchanged:: 3.4 @@ -306,7 +306,7 @@ please see individual documentation for details. .. c:function:: PyObject* PyObject_CallFunctionObjArgs(PyObject *callable, ...) Call a callable Python object *callable*, with a variable number of - :c:type:`PyObject *` arguments. The arguments are provided as a variable number + :c:expr:`PyObject *` arguments. The arguments are provided as a variable number of parameters followed by *NULL*. Return the result of the call on success, or raise an exception and return @@ -320,7 +320,7 @@ please see individual documentation for details. Call a method of the Python object *obj*, where the name of the method is given as a Python string object in *name*. It is called with a variable number of - :c:type:`PyObject *` arguments. The arguments are provided as a variable number + :c:expr:`PyObject *` arguments. The arguments are provided as a variable number of parameters followed by *NULL*. Return the result of the call on success, or raise an exception and return diff --git a/Doc/c-api/dict.rst b/Doc/c-api/dict.rst index d257c9b5f763d1..67c2026baa1496 100644 --- a/Doc/c-api/dict.rst +++ b/Doc/c-api/dict.rst @@ -118,7 +118,7 @@ Dictionary Objects .. c:function:: PyObject* PyDict_GetItemString(PyObject *p, const char *key) This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a - :c:type:`const char*`, rather than a :c:type:`PyObject*`. + :c:type:`const char*`, rather than a :c:expr:`PyObject*`. Note that exceptions which occur while calling :meth:`__hash__` and :meth:`__eq__` methods and creating a temporary string object @@ -167,7 +167,7 @@ Dictionary Objects prior to the first call to this function to start the iteration; the function returns true for each pair in the dictionary, and false once all pairs have been reported. The parameters *pkey* and *pvalue* should either - point to :c:type:`PyObject*` variables that will be filled in with each key + point to :c:expr:`PyObject*` variables that will be filled in with each key and value, respectively, or may be ``NULL``. Any references returned through them are borrowed. *ppos* should not be altered during iteration. Its value represents offsets within the internal dictionary structure, and diff --git a/Doc/c-api/exceptions.rst b/Doc/c-api/exceptions.rst index df73f23d2de2b7..7221957fe1dbac 100644 --- a/Doc/c-api/exceptions.rst +++ b/Doc/c-api/exceptions.rst @@ -848,7 +848,7 @@ Standard Exceptions All standard Python exceptions are available as global variables whose names are ``PyExc_`` followed by the Python exception name. These have the type -:c:type:`PyObject*`; they are all class objects. For completeness, here are all +:c:expr:`PyObject*`; they are all class objects. For completeness, here are all the variables: .. index:: @@ -1068,7 +1068,7 @@ Standard Warning Categories All standard Python warning categories are available as global variables whose names are ``PyExc_`` followed by the Python exception name. These have the type -:c:type:`PyObject*`; they are all class objects. For completeness, here are all +:c:expr:`PyObject*`; they are all class objects. For completeness, here are all the variables: .. index:: diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index d573ef13128024..60c4154da4899a 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -1742,7 +1742,7 @@ you need to include :file:`pythread.h` to use thread-local storage. .. note:: None of these API functions handle memory management on behalf of the :c:type:`void*` values. You need to allocate and deallocate them yourself. - If the :c:type:`void*` values happen to be :c:type:`PyObject*`, these + If the :c:type:`void*` values happen to be :c:expr:`PyObject*`, these functions don't do refcount operations on them either. .. _thread-specific-storage-api: diff --git a/Doc/c-api/intro.rst b/Doc/c-api/intro.rst index d9fcd0de1fec6d..4b91a4b74aaa60 100644 --- a/Doc/c-api/intro.rst +++ b/Doc/c-api/intro.rst @@ -264,13 +264,13 @@ Objects, Types and Reference Counts .. index:: object: type Most Python/C API functions have one or more arguments as well as a return value -of type :c:type:`PyObject*`. This type is a pointer to an opaque data type +of type :c:expr:`PyObject*`. This type is a pointer to an opaque data type representing an arbitrary Python object. Since all Python object types are treated the same way by the Python language in most situations (e.g., assignments, scope rules, and argument passing), it is only fitting that they should be represented by a single C type. Almost all Python objects live on the heap: you never declare an automatic or static variable of type -:c:type:`PyObject`, only pointer variables of type :c:type:`PyObject*` can be +:c:type:`PyObject`, only pointer variables of type :c:expr:`PyObject*` can be declared. The sole exception are the type objects; since these must never be deallocated, they are typically static :c:type:`PyTypeObject` objects. diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst index 86d4536f8d28e7..f5585bc33a06b0 100644 --- a/Doc/c-api/structures.rst +++ b/Doc/c-api/structures.rst @@ -27,7 +27,7 @@ the definition of all other Python objects. object. In a normal "release" build, it contains only the object's reference count and a pointer to the corresponding type object. Nothing is actually declared to be a :c:type:`PyObject`, but every pointer - to a Python object can be cast to a :c:type:`PyObject*`. Access to the + to a Python object can be cast to a :c:expr:`PyObject*`. Access to the members must be done by using the macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`. @@ -184,7 +184,7 @@ Implementing functions and methods .. c:type:: PyCFunction Type of the functions used to implement most Python callables in C. - Functions of this type take two :c:type:`PyObject*` parameters and return + Functions of this type take two :c:expr:`PyObject*` parameters and return one such value. If the return value is ``NULL``, an exception shall have been set. If not ``NULL``, the return value is interpreted as the return value of the function as exposed in Python. The function must return a new @@ -263,10 +263,10 @@ Implementing functions and methods +------------------+---------------+-------------------------------+ The :attr:`ml_meth` is a C function pointer. The functions may be of different -types, but they always return :c:type:`PyObject*`. If the function is not of +types, but they always return :c:expr:`PyObject*`. If the function is not of the :c:type:`PyCFunction`, the compiler will require a cast in the method table. Even though :c:type:`PyCFunction` defines the first parameter as -:c:type:`PyObject*`, it is common that the method implementation uses the +:c:expr:`PyObject*`, it is common that the method implementation uses the specific C type of the *self* object. The :attr:`ml_flags` field is a bitfield which can include the following flags. @@ -278,7 +278,7 @@ There are these calling conventions: .. data:: METH_VARARGS This is the typical calling convention, where the methods have the type - :c:type:`PyCFunction`. The function expects two :c:type:`PyObject*` values. + :c:type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The first one is the *self* object for methods; for module functions, it is the module object. The second parameter (often called *args*) is a tuple object representing all arguments. This parameter is typically processed @@ -299,7 +299,7 @@ There are these calling conventions: Fast calling convention supporting only positional arguments. The methods have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the second parameter is a C array - of :c:type:`PyObject*` values indicating the arguments and the third + of :c:expr:`PyObject*` values indicating the arguments and the third parameter is the number of arguments (the length of the array). .. versionadded:: 3.7 @@ -315,7 +315,7 @@ There are these calling conventions: with methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments are passed the same way as in the :ref:`vectorcall protocol `: - there is an additional fourth :c:type:`PyObject*` parameter + there is an additional fourth :c:expr:`PyObject*` parameter which is a tuple representing the names of the keyword arguments (which are guaranteed to be strings) or possibly ``NULL`` if there are no keywords. The values of the keyword @@ -354,7 +354,7 @@ There are these calling conventions: Methods with a single object argument can be listed with the :const:`METH_O` flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``"O"`` argument. They have the type :c:type:`PyCFunction`, with the *self* parameter, and a - :c:type:`PyObject*` parameter representing the single argument. + :c:expr:`PyObject*` parameter representing the single argument. These two constants are not used to indicate the calling convention but the @@ -520,7 +520,7 @@ Accessing attributes of extension types | | | getter and setter | +-------------+------------------+-----------------------------------+ - The ``get`` function takes one :c:type:`PyObject*` parameter (the + The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) and a function pointer (the associated ``closure``):: typedef PyObject *(*getter)(PyObject *, void *); @@ -528,7 +528,7 @@ Accessing attributes of extension types It should return a new reference on success or ``NULL`` with a set exception on failure. - ``set`` functions take two :c:type:`PyObject*` parameters (the instance and + ``set`` functions take two :c:expr:`PyObject*` parameters (the instance and the value to be set) and a function pointer (the associated ``closure``):: typedef int (*setter)(PyObject *, PyObject *, void *); diff --git a/Doc/c-api/tuple.rst b/Doc/c-api/tuple.rst index 9b85522600d4e7..0bfd4b308d9372 100644 --- a/Doc/c-api/tuple.rst +++ b/Doc/c-api/tuple.rst @@ -161,7 +161,7 @@ type. .. c:type:: PyStructSequence_Field Describes a field of a struct sequence. As a struct sequence is modeled as a - tuple, all fields are typed as :c:type:`PyObject*`. The index in the + tuple, all fields are typed as :c:expr:`PyObject*`. The index in the :attr:`fields` array of the :c:type:`PyStructSequence_Desc` determines which field of the struct sequence is described. diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index 7fa8fcecb68f82..6acd69cf56fe28 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -1485,7 +1485,7 @@ and :c:type:`PyType_Type` effectively act as defaults.) than zero and contains the offset in the instance structure of the weak reference list head (ignoring the GC header, if present); this offset is used by :c:func:`PyObject_ClearWeakRefs` and the :c:func:`PyWeakref_\*` functions. The - instance structure needs to include a field of type :c:type:`PyObject*` which is + instance structure needs to include a field of type :c:expr:`PyObject*` which is initialized to ``NULL``. Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that is the list head for diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 52950b551b7560..7760fc2812c00c 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -2366,8 +2366,8 @@ These are the fundamental ctypes data types: .. class:: py_object - Represents the C :c:type:`PyObject *` datatype. Calling this without an - argument creates a ``NULL`` :c:type:`PyObject *` pointer. + Represents the C :c:expr:`PyObject *` datatype. Calling this without an + argument creates a ``NULL`` :c:expr:`PyObject *` pointer. The :mod:`ctypes.wintypes` module provides quite some other Windows specific data types, for example :c:type:`HWND`, :c:type:`WPARAM`, or :c:type:`DWORD`. Some From ffafd31975a3322dd47aa8583e99e7c654785657 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 08:18:55 -0700 Subject: [PATCH 133/494] [3.11] gh-93738: Documentation C syntax (:c:type: to :c:expr:, misc. cases) (GH-97775) (#97873) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/file.rst | 2 +- Doc/c-api/structures.rst | 6 +++--- Doc/whatsnew/2.4.rst | 4 ++-- Misc/NEWS.d/3.8.0a4.rst | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Doc/c-api/file.rst b/Doc/c-api/file.rst index 145dfe4962ac8f..745d892be7ea89 100644 --- a/Doc/c-api/file.rst +++ b/Doc/c-api/file.rst @@ -65,7 +65,7 @@ the :mod:`io` APIs instead. Overrides the normal behavior of :func:`io.open_code` to pass its parameter through the provided handler. - The handler is a function of type :c:type:`PyObject *(\*)(PyObject *path, + The handler is a function of type :c:expr:`PyObject *(\*)(PyObject *path, void *userData)`, where *path* is guaranteed to be :c:type:`PyUnicodeObject`. The *userData* pointer is passed into the hook function. Since hook diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst index f5585bc33a06b0..2b5d9a84822b13 100644 --- a/Doc/c-api/structures.rst +++ b/Doc/c-api/structures.rst @@ -103,7 +103,7 @@ the definition of all other Python objects. .. versionchanged:: 3.11 :c:func:`Py_TYPE()` is changed to an inline static function. - The parameter type is no longer :c:type:`const PyObject*`. + The parameter type is no longer :c:expr:`const PyObject*`. .. c:function:: int Py_IS_TYPE(PyObject *o, PyTypeObject *type) @@ -128,7 +128,7 @@ the definition of all other Python objects. Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count. .. versionchanged:: 3.11 - The parameter type is no longer :c:type:`const PyObject*`. + The parameter type is no longer :c:expr:`const PyObject*`. .. versionchanged:: 3.10 :c:func:`Py_REFCNT()` is changed to the inline static function. @@ -149,7 +149,7 @@ the definition of all other Python objects. .. versionchanged:: 3.11 :c:func:`Py_SIZE()` is changed to an inline static function. - The parameter type is no longer :c:type:`const PyVarObject*`. + The parameter type is no longer :c:expr:`const PyVarObject*`. .. c:function:: void Py_SET_SIZE(PyVarObject *o, Py_ssize_t size) diff --git a/Doc/whatsnew/2.4.rst b/Doc/whatsnew/2.4.rst index ddfac1a3f4e63a..61f9eb43243ceb 100644 --- a/Doc/whatsnew/2.4.rst +++ b/Doc/whatsnew/2.4.rst @@ -1453,7 +1453,7 @@ Some of the changes to Python's build process and to the C API are: extension functions: :c:macro:`Py_RETURN_NONE`, :c:macro:`Py_RETURN_TRUE`, and :c:macro:`Py_RETURN_FALSE`. (Contributed by Brett Cannon.) -* Another new macro, :c:macro:`Py_CLEAR(obj)`, decreases the reference count of +* Another new macro, :c:macro:`Py_CLEAR`, decreases the reference count of *obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.) * A new function, ``PyTuple_Pack(N, obj1, obj2, ..., objN)``, constructs @@ -1464,7 +1464,7 @@ Some of the changes to Python's build process and to the C API are: lookups without masking exceptions raised during the look-up process. (Contributed by Raymond Hettinger.) -* The :c:macro:`Py_IS_NAN(X)` macro returns 1 if its float or double argument +* The :c:expr:`Py_IS_NAN(X)` macro returns 1 if its float or double argument *X* is a NaN. (Contributed by Tim Peters.) * C code can avoid unnecessary locking by using the new diff --git a/Misc/NEWS.d/3.8.0a4.rst b/Misc/NEWS.d/3.8.0a4.rst index fc952fa9dcc8e1..5250d82f65e7bc 100644 --- a/Misc/NEWS.d/3.8.0a4.rst +++ b/Misc/NEWS.d/3.8.0a4.rst @@ -1354,7 +1354,7 @@ the function is called twice. .. nonce: pz-DIR .. section: C API -:c:macro:`PyDoc_VAR(name)` and :c:macro:`PyDoc_STRVAR(name,str)` now create +:c:expr:`PyDoc_VAR(name)` and :c:expr:`PyDoc_STRVAR(name,str)` now create ``static const char name[]`` instead of ``static char name[]``. Patch by Inada Naoki. From d5852a090fc5bfdc99e8d8f5e1e890cac8102d4e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 08:20:03 -0700 Subject: [PATCH 134/494] [3.11] gh-93738: Documentation C syntax (Use `c:struct`) (GH-97772) (#97869) Use `c:struct` (cherry picked from commit a0f5599aac2037da715d09733e0a83a9cba7c37a) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/import.rst | 6 +++--- Doc/c-api/veryhigh.rst | 4 ++-- Doc/library/ctypes.rst | 4 ++-- Doc/library/socket.rst | 12 ++++++------ Doc/whatsnew/3.11.rst | 2 +- Doc/whatsnew/3.8.rst | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Doc/c-api/import.rst b/Doc/c-api/import.rst index 5e2333a74ce648..0922956c607bc3 100644 --- a/Doc/c-api/import.rst +++ b/Doc/c-api/import.rst @@ -243,7 +243,7 @@ Importing Modules UTF-8 encoded string instead of a Unicode object. -.. c:type:: struct _frozen +.. c:struct:: _frozen .. index:: single: freeze utility @@ -265,7 +265,7 @@ Importing Modules .. c:var:: const struct _frozen* PyImport_FrozenModules - This pointer is initialized to point to an array of :c:type:`struct _frozen` + This pointer is initialized to point to an array of :c:struct:`_frozen` records, terminated by one whose members are all ``NULL`` or zero. When a frozen module is imported, it is searched in this table. Third-party code could play tricks with this to provide a dynamically created collection of frozen modules. @@ -281,7 +281,7 @@ Importing Modules :c:func:`Py_Initialize`. -.. c:type:: struct _inittab +.. c:struct:: _inittab Structure describing a single entry in the list of built-in modules. Each of these structures gives the name and initialization function for a module built diff --git a/Doc/c-api/veryhigh.rst b/Doc/c-api/veryhigh.rst index d15adad3dfe6e7..bfb14ac912fcac 100644 --- a/Doc/c-api/veryhigh.rst +++ b/Doc/c-api/veryhigh.rst @@ -82,7 +82,7 @@ the same library that the Python runtime is using. .. c:function:: int PyRun_SimpleString(const char *command) This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, - leaving the :c:type:`PyCompilerFlags`\* argument set to ``NULL``. + leaving the :c:struct:`PyCompilerFlags`\* argument set to ``NULL``. .. c:function:: int PyRun_SimpleStringFlags(const char *command, PyCompilerFlags *flags) @@ -338,7 +338,7 @@ the same library that the Python runtime is using. interpreter loop. -.. c:type:: struct PyCompilerFlags +.. c:struct:: PyCompilerFlags This is the structure used to hold compiler flags. In cases where code is only being compiled, it is passed as ``int flags``, and in cases where code is being diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 7760fc2812c00c..0c341770a05b30 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -1074,7 +1074,7 @@ An extended example which also demonstrates the use of pointers accesses the Quoting the docs for that value: - This pointer is initialized to point to an array of :c:type:`struct _frozen` + This pointer is initialized to point to an array of :c:struct:`_frozen` records, terminated by one whose members are all ``NULL`` or zero. When a frozen module is imported, it is searched in this table. Third-party code could play tricks with this to provide a dynamically created collection of frozen modules. @@ -1093,7 +1093,7 @@ size, we show only how this table can be read with :mod:`ctypes`:: ... >>> -We have defined the :c:type:`struct _frozen` data type, so we can get the pointer +We have defined the :c:struct:`_frozen` data type, so we can get the pointer to the table:: >>> FrozenTable = POINTER(struct_frozen) diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst index 9d1cfb510b0efe..71d2c508c57fc8 100644 --- a/Doc/library/socket.rst +++ b/Doc/library/socket.rst @@ -1012,7 +1012,7 @@ The :mod:`socket` module also offers various network-related services: Convert an IPv4 address from dotted-quad string format (for example, '123.45.67.89') to 32-bit packed binary format, as a bytes object four characters in length. This is useful when conversing with a program that uses the standard C - library and needs objects of type :c:type:`struct in_addr`, which is the C type + library and needs objects of type :c:struct:`in_addr`, which is the C type for the 32-bit packed binary this function returns. :func:`inet_aton` also accepts strings with less than three dots; see the @@ -1031,7 +1031,7 @@ The :mod:`socket` module also offers various network-related services: Convert a 32-bit packed IPv4 address (a :term:`bytes-like object` four bytes in length) to its standard dotted-quad string representation (for example, '123.45.67.89'). This is useful when conversing with a program that uses the - standard C library and needs objects of type :c:type:`struct in_addr`, which + standard C library and needs objects of type :c:struct:`in_addr`, which is the C type for the 32-bit packed binary data this function takes as an argument. @@ -1048,8 +1048,8 @@ The :mod:`socket` module also offers various network-related services: Convert an IP address from its family-specific string format to a packed, binary format. :func:`inet_pton` is useful when a library or network protocol - calls for an object of type :c:type:`struct in_addr` (similar to - :func:`inet_aton`) or :c:type:`struct in6_addr`. + calls for an object of type :c:struct:`in_addr` (similar to + :func:`inet_aton`) or :c:struct:`in6_addr`. Supported values for *address_family* are currently :const:`AF_INET` and :const:`AF_INET6`. If the IP address string *ip_string* is invalid, @@ -1069,8 +1069,8 @@ The :mod:`socket` module also offers various network-related services: bytes) to its standard, family-specific string representation (for example, ``'7.10.0.5'`` or ``'5aef:2b::8'``). :func:`inet_ntop` is useful when a library or network protocol returns an - object of type :c:type:`struct in_addr` (similar to :func:`inet_ntoa`) or - :c:type:`struct in6_addr`. + object of type :c:struct:`in_addr` (similar to :func:`inet_ntoa`) or + :c:struct:`in6_addr`. Supported values for *address_family* are currently :const:`AF_INET` and :const:`AF_INET6`. If the bytes object *packed_ip* is not the correct diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 553261dbd4cc08..1e8fb14b3cd4dd 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -1906,7 +1906,7 @@ Porting to Python 3.11 fields of the result from the exception instance (the ``value`` field). (Contributed by Irit Katriel in :issue:`45711`.) -* :c:type:`_frozen` has a new ``is_package`` field to indicate whether +* :c:struct:`_frozen` has a new ``is_package`` field to indicate whether or not the frozen module is a package. Previously, a negative value in the ``size`` field was the indicator. Now only non-negative values be used for ``size``. diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst index e6febc36430fb3..7f85ff3ffa9120 100644 --- a/Doc/whatsnew/3.8.rst +++ b/Doc/whatsnew/3.8.rst @@ -2012,7 +2012,7 @@ Changes in the Python API Changes in the C API -------------------- -* The :c:type:`PyCompilerFlags` structure got a new *cf_feature_version* +* The :c:struct:`PyCompilerFlags` structure got a new *cf_feature_version* field. It should be initialized to ``PY_MINOR_VERSION``. The field is ignored by default, and is used if and only if ``PyCF_ONLY_AST`` flag is set in *cf_flags*. From 5c8aa2e0f224179e5ee3086b295a735610e9e5c7 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 08:21:32 -0700 Subject: [PATCH 135/494] [3.11] gh-93738: Documentation C syntax (:c:type:`PyTypeObject*` -> :c:expr:`PyTypeObject*`) (GH-97778) (#97892) Co-authored-by: Ezio Melotti (cherry picked from commit c70c8b69762f720377adaf22f2e5ec6496a7be53) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/object.rst | 2 +- Doc/c-api/typehints.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/c-api/object.rst b/Doc/c-api/object.rst index fb03366056b0d2..5a25a2b6c9d3db 100644 --- a/Doc/c-api/object.rst +++ b/Doc/c-api/object.rst @@ -310,7 +310,7 @@ Object Protocol is equivalent to the Python expression ``type(o)``. This function increments the reference count of the return value. There's really no reason to use this function instead of the :c:func:`Py_TYPE()` function, which returns a - pointer of type :c:type:`PyTypeObject*`, except when the incremented reference + pointer of type :c:expr:`PyTypeObject*`, except when the incremented reference count is needed. diff --git a/Doc/c-api/typehints.rst b/Doc/c-api/typehints.rst index 88554a346c0dda..4c1957a2a1dbca 100644 --- a/Doc/c-api/typehints.rst +++ b/Doc/c-api/typehints.rst @@ -15,7 +15,7 @@ two types exist -- :ref:`GenericAlias ` and Equivalent to calling the Python class :class:`types.GenericAlias`. The *origin* and *args* arguments set the ``GenericAlias``\ 's ``__origin__`` and ``__args__`` attributes respectively. - *origin* should be a :c:type:`PyTypeObject*`, and *args* can be a + *origin* should be a :c:expr:`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any ``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically constructed and ``__args__`` is set to ``(args,)``. From aec133347e9307591d53ad825c0ed82a500e094d Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 10:48:48 -0700 Subject: [PATCH 136/494] gh-88050: Fix asyncio subprocess to kill process cleanly when process is blocked (GH-32073) (cherry picked from commit 7015e1379791cbf19908cd1a7c668a5d6e7165d5) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> --- Lib/asyncio/base_subprocess.py | 13 +++++----- Lib/test/test_asyncio/test_subprocess.py | 25 +++++++++++++++++++ ...2-07-08-08-39-35.gh-issue-88050.0aOC_m.rst | 1 + 3 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-07-08-08-39-35.gh-issue-88050.0aOC_m.rst diff --git a/Lib/asyncio/base_subprocess.py b/Lib/asyncio/base_subprocess.py index 14d50519228814..c2ca4a2792f666 100644 --- a/Lib/asyncio/base_subprocess.py +++ b/Lib/asyncio/base_subprocess.py @@ -215,14 +215,10 @@ def _process_exited(self, returncode): # object. On Python 3.6, it is required to avoid a ResourceWarning. self._proc.returncode = returncode self._call(self._protocol.process_exited) + for p in self._pipes.values(): + p.pipe.close() self._try_finish() - # wake up futures waiting for wait() - for waiter in self._exit_waiters: - if not waiter.cancelled(): - waiter.set_result(returncode) - self._exit_waiters = None - async def _wait(self): """Wait until the process exit and return the process return code. @@ -247,6 +243,11 @@ def _call_connection_lost(self, exc): try: self._protocol.connection_lost(exc) finally: + # wake up futures waiting for wait() + for waiter in self._exit_waiters: + if not waiter.cancelled(): + waiter.set_result(self._returncode) + self._exit_waiters = None self._loop = None self._proc = None self._protocol = None diff --git a/Lib/test/test_asyncio/test_subprocess.py b/Lib/test/test_asyncio/test_subprocess.py index 961c463f8dc11b..9bc60b9dc2ae2e 100644 --- a/Lib/test/test_asyncio/test_subprocess.py +++ b/Lib/test/test_asyncio/test_subprocess.py @@ -1,4 +1,5 @@ import os +import shutil import signal import sys import unittest @@ -182,6 +183,30 @@ def test_kill(self): else: self.assertEqual(-signal.SIGKILL, returncode) + def test_kill_issue43884(self): + blocking_shell_command = f'{sys.executable} -c "import time; time.sleep(100000000)"' + creationflags = 0 + if sys.platform == 'win32': + from subprocess import CREATE_NEW_PROCESS_GROUP + # On windows create a new process group so that killing process + # kills the process and all its children. + creationflags = CREATE_NEW_PROCESS_GROUP + proc = self.loop.run_until_complete( + asyncio.create_subprocess_shell(blocking_shell_command, stdout=asyncio.subprocess.PIPE, + creationflags=creationflags) + ) + self.loop.run_until_complete(asyncio.sleep(1)) + if sys.platform == 'win32': + proc.send_signal(signal.CTRL_BREAK_EVENT) + # On windows it is an alias of terminate which sets the return code + proc.kill() + returncode = self.loop.run_until_complete(proc.wait()) + if sys.platform == 'win32': + self.assertIsInstance(returncode, int) + # expect 1 but sometimes get 0 + else: + self.assertEqual(-signal.SIGKILL, returncode) + def test_terminate(self): args = PROGRAM_BLOCKED proc = self.loop.run_until_complete( diff --git a/Misc/NEWS.d/next/Library/2022-07-08-08-39-35.gh-issue-88050.0aOC_m.rst b/Misc/NEWS.d/next/Library/2022-07-08-08-39-35.gh-issue-88050.0aOC_m.rst new file mode 100644 index 00000000000000..43c0765d940d3a --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-07-08-08-39-35.gh-issue-88050.0aOC_m.rst @@ -0,0 +1 @@ +Fix :mod:`asyncio` subprocess transport to kill process cleanly when process is blocked and avoid ``RuntimeError`` when loop is closed. Patch by Kumar Aditya. From 92054dfe5d8cbb26795094e32215c71b70022ef4 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 11:00:29 -0700 Subject: [PATCH 137/494] [3.11] gh-93738: Documentation C syntax (Function glob patterns -> literal markup) (GH-97774) (#97910) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 0e72606dd4cf3023a4f8c2fe3c58082592b253f7) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Łukasz Langa --- Doc/c-api/arg.rst | 8 ++++---- Doc/c-api/exceptions.rst | 4 ++-- Doc/c-api/init.rst | 6 +++--- Doc/c-api/module.rst | 4 ++-- Doc/c-api/typeobj.rst | 6 +++--- Doc/extending/extending.rst | 6 +++--- Doc/whatsnew/2.5.rst | 6 +++--- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst index fb921a4af6f34e..91d764c13f6758 100644 --- a/Doc/c-api/arg.rst +++ b/Doc/c-api/arg.rst @@ -335,7 +335,7 @@ Other objects status = converter(object, address); where *object* is the Python object to be converted and *address* is the - :c:type:`void*` argument that was passed to the :c:func:`PyArg_Parse\*` function. + :c:type:`void*` argument that was passed to the ``PyArg_Parse*`` function. The returned *status* should be ``1`` for a successful conversion and ``0`` if the conversion has failed. When the conversion fails, the *converter* function should raise an exception and leave the content of *address* unmodified. @@ -409,9 +409,9 @@ what is specified for the corresponding format unit in that case. For the conversion to succeed, the *arg* object must match the format and the format must be exhausted. On success, the -:c:func:`PyArg_Parse\*` functions return true, otherwise they return +``PyArg_Parse*`` functions return true, otherwise they return false and raise an appropriate exception. When the -:c:func:`PyArg_Parse\*` functions fail due to conversion failure in one +``PyArg_Parse*`` functions fail due to conversion failure in one of the format units, the variables at the addresses corresponding to that and the following format units are left untouched. @@ -518,7 +518,7 @@ Building values .. c:function:: PyObject* Py_BuildValue(const char *format, ...) Create a new value based on a format string similar to those accepted by the - :c:func:`PyArg_Parse\*` family of functions and a sequence of values. Returns + ``PyArg_Parse*`` family of functions and a sequence of values. Returns the value or ``NULL`` in the case of an error; an exception will be raised if ``NULL`` is returned. diff --git a/Doc/c-api/exceptions.rst b/Doc/c-api/exceptions.rst index 7221957fe1dbac..087e0a61d12d59 100644 --- a/Doc/c-api/exceptions.rst +++ b/Doc/c-api/exceptions.rst @@ -14,7 +14,7 @@ there is a global indicator (per thread) of the last error that occurred. Most C API functions don't clear this on success, but will set it to indicate the cause of the error on failure. Most C API functions also return an error indicator, usually ``NULL`` if they are supposed to return a pointer, or ``-1`` -if they return an integer (exception: the :c:func:`PyArg_\*` functions +if they return an integer (exception: the ``PyArg_*`` functions return ``1`` for success and ``0`` for failure). Concretely, the error indicator consists of three object pointers: the @@ -370,7 +370,7 @@ Querying the error indicator .. c:function:: PyObject* PyErr_Occurred() Test whether the error indicator is set. If set, return the exception *type* - (the first argument to the last call to one of the :c:func:`PyErr_Set\*` + (the first argument to the last call to one of the ``PyErr_Set*`` functions or to :c:func:`PyErr_Restore`). If not set, return ``NULL``. You do not own a reference to the return value, so you do not need to :c:func:`Py_DECREF` it. diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index 60c4154da4899a..72b086532e5dd5 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -847,11 +847,11 @@ from a C thread is:: /* Release the thread. No Python API allowed beyond this point. */ PyGILState_Release(gstate); -Note that the :c:func:`PyGILState_\*` functions assume there is only one global +Note that the ``PyGILState_*`` functions assume there is only one global interpreter (created automatically by :c:func:`Py_Initialize`). Python supports the creation of additional interpreters (using :c:func:`Py_NewInterpreter`), but mixing multiple interpreters and the -:c:func:`PyGILState_\*` API is unsupported. +``PyGILState_*`` API is unsupported. .. _fork-and-threads: @@ -1478,7 +1478,7 @@ operations executed by such objects may affect the wrong (sub-)interpreter's dictionary of loaded modules. It is equally important to avoid sharing objects from which the above are reachable. -Also note that combining this functionality with :c:func:`PyGILState_\*` APIs +Also note that combining this functionality with ``PyGILState_*`` APIs is delicate, because these APIs assume a bijection between Python thread states and OS-level threads, an assumption broken by the presence of sub-interpreters. It is highly recommended that you don't switch sub-interpreters between a pair diff --git a/Doc/c-api/module.rst b/Doc/c-api/module.rst index 94c8d9f981713f..e2ba157b32c7d9 100644 --- a/Doc/c-api/module.rst +++ b/Doc/c-api/module.rst @@ -64,8 +64,8 @@ Module Objects If *module* is not a module object (or a subtype of a module object), :exc:`SystemError` is raised and ``NULL`` is returned. - It is recommended extensions use other :c:func:`PyModule_\*` and - :c:func:`PyObject_\*` functions rather than directly manipulate a module's + It is recommended extensions use other ``PyModule_*`` and + ``PyObject_*`` functions rather than directly manipulate a module's :attr:`~object.__dict__`. diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index 6acd69cf56fe28..af0d760a30cb8a 100644 --- a/Doc/c-api/typeobj.rst +++ b/Doc/c-api/typeobj.rst @@ -7,8 +7,8 @@ Type Objects Perhaps one of the most important structures of the Python object system is the structure that defines a new type: the :c:type:`PyTypeObject` structure. Type -objects can be handled using any of the :c:func:`PyObject_\*` or -:c:func:`PyType_\*` functions, but do not offer much that's interesting to most +objects can be handled using any of the ``PyObject_*`` or +``PyType_*`` functions, but do not offer much that's interesting to most Python applications. These objects are fundamental to how objects behave, so they are very important to the interpreter itself and to any extension module that implements new types. @@ -1484,7 +1484,7 @@ and :c:type:`PyType_Type` effectively act as defaults.) If the instances of this type are weakly referenceable, this field is greater than zero and contains the offset in the instance structure of the weak reference list head (ignoring the GC header, if present); this offset is used by - :c:func:`PyObject_ClearWeakRefs` and the :c:func:`PyWeakref_\*` functions. The + :c:func:`PyObject_ClearWeakRefs` and the ``PyWeakref_*`` functions. The instance structure needs to include a field of type :c:expr:`PyObject*` which is initialized to ``NULL``. diff --git a/Doc/extending/extending.rst b/Doc/extending/extending.rst index 2e3362b834e6fb..0ef899f4c997b1 100644 --- a/Doc/extending/extending.rst +++ b/Doc/extending/extending.rst @@ -157,16 +157,16 @@ since you should be able to tell from the return value. When a function *f* that calls another function *g* detects that the latter fails, *f* should itself return an error value (usually ``NULL`` or ``-1``). It -should *not* call one of the :c:func:`PyErr_\*` functions --- one has already +should *not* call one of the ``PyErr_*`` functions --- one has already been called by *g*. *f*'s caller is then supposed to also return an error -indication to *its* caller, again *without* calling :c:func:`PyErr_\*`, and so on +indication to *its* caller, again *without* calling ``PyErr_*``, and so on --- the most detailed cause of the error was already reported by the function that first detected it. Once the error reaches the Python interpreter's main loop, this aborts the currently executing Python code and tries to find an exception handler specified by the Python programmer. (There are situations where a module can actually give a more detailed error -message by calling another :c:func:`PyErr_\*` function, and in such cases it is +message by calling another ``PyErr_*`` function, and in such cases it is fine to do so. As a general rule, however, this is not necessary, and can cause information about the cause of the error to be lost: most operations can fail for a variety of reasons.) diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst index 6c216826fee047..dfa8f7e93f8177 100644 --- a/Doc/whatsnew/2.5.rst +++ b/Doc/whatsnew/2.5.rst @@ -2270,9 +2270,9 @@ code: earlier section :ref:`pep-353` for a discussion of this change. * C API: The obmalloc changes mean that you must be careful to not mix usage - of the :c:func:`PyMem_\*` and :c:func:`PyObject_\*` families of functions. Memory - allocated with one family's :c:func:`\*_Malloc` must be freed with the - corresponding family's :c:func:`\*_Free` function. + of the ``PyMem_*`` and ``PyObject_*`` families of functions. Memory + allocated with one family's ``*_Malloc`` must be freed with the + corresponding family's ``*_Free`` function. .. ====================================================================== From ef77f2f06868f4e167ecaa1be2ffd9da4c4449c1 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 11:01:17 -0700 Subject: [PATCH 138/494] GH-95172 Make the same version `versionadded` oneline (GH-95172) * Make the same version versionadded oneline * Format versionadded for enum.rst * Format versionadded A single line versionadded was reading better. Co-authored-by: Senthil Kumaran (cherry picked from commit d6062d1170199c4f02acf6de8fcbf5d748a03db2) Co-authored-by: 180909 <734461790@qq.com> --- Doc/library/enum.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Doc/library/enum.rst b/Doc/library/enum.rst index b1333c7dd5cf9d..241d19d3bfb30e 100644 --- a/Doc/library/enum.rst +++ b/Doc/library/enum.rst @@ -134,8 +134,7 @@ Module Contents .. versionadded:: 3.6 ``Flag``, ``IntFlag``, ``auto`` -.. versionadded:: 3.11 ``StrEnum``, ``EnumCheck``, ``FlagBoundary``, ``property`` -.. versionadded:: 3.11 ``member``, ``nonmember`` +.. versionadded:: 3.11 ``StrEnum``, ``EnumCheck``, ``FlagBoundary``, ``property``, ``member``, ``nonmember`` --------------- From 61183b95ae68c6439840b58ef8eff6371338dd80 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 13:16:12 -0700 Subject: [PATCH 139/494] docs(typing): add "see PEP 675" to LiteralString (GH-97926) (cherry picked from commit 2016bc54a22b83d0ca9174b64257cc7bb67a0916) Co-authored-by: Simon Legner --- Doc/library/typing.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index bcdedd5335479c..b75aa333f73ed3 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -631,6 +631,8 @@ These can be used as types in annotations and do not support ``[]``. that generate type checker errors could be vulnerable to an SQL injection attack. + See :pep:`675` for more details. + .. versionadded:: 3.11 .. data:: Never From 83ad76275c983ed6e6960f00ab3d10e31abb5182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Langa?= Date: Wed, 5 Oct 2022 14:11:12 -0700 Subject: [PATCH 140/494] [3.11] gh-93738: Documentation C syntax (:c:type: -> :c:expr:) (GH-97768) (#97924) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit :c:type:`` -> :c:expr:`` Co-authored-by: Łukasz Langa (cherry picked from commit 0031e62973801d34a9e19ab7bb199e9668e32d7b) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- Doc/c-api/arg.rst | 72 +++++++++++----------- Doc/c-api/capsule.rst | 2 +- Doc/c-api/complex.rst | 4 +- Doc/c-api/conversion.rst | 4 +- Doc/c-api/dict.rst | 4 +- Doc/c-api/file.rst | 2 +- Doc/c-api/float.rst | 16 ++--- Doc/c-api/init.rst | 28 ++++----- Doc/c-api/intro.rst | 4 +- Doc/c-api/long.rst | 42 ++++++------- Doc/c-api/marshal.rst | 12 ++-- Doc/c-api/memory.rst | 12 ++-- Doc/c-api/sys.rst | 6 +- Doc/c-api/unicode.rst | 24 ++++---- Doc/extending/extending.rst | 8 +-- Doc/extending/newtypes.rst | 6 +- Doc/library/ctypes.rst | 120 ++++++++++++++++++------------------ Doc/library/posix.rst | 4 +- Doc/library/socket.rst | 2 +- Doc/library/stdtypes.rst | 2 +- Doc/library/struct.rst | 42 ++++++------- Doc/reference/datamodel.rst | 2 +- Doc/whatsnew/2.2.rst | 2 +- Doc/whatsnew/2.3.rst | 4 +- Doc/whatsnew/2.4.rst | 8 +-- Doc/whatsnew/2.5.rst | 20 +++--- Doc/whatsnew/2.6.rst | 2 +- Doc/whatsnew/2.7.rst | 4 +- Doc/whatsnew/3.3.rst | 2 +- Doc/whatsnew/3.7.rst | 14 ++--- Doc/whatsnew/3.9.rst | 2 +- Misc/NEWS.d/3.5.0a1.rst | 2 +- Misc/NEWS.d/3.9.0a1.rst | 2 +- Misc/NEWS.d/3.9.0b1.rst | 2 +- 34 files changed, 241 insertions(+), 241 deletions(-) diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst index 91d764c13f6758..85f9eda17a2058 100644 --- a/Doc/c-api/arg.rst +++ b/Doc/c-api/arg.rst @@ -194,10 +194,10 @@ which disallows mutable objects such as :class:`bytearray`. It only works for encoded data without embedded NUL bytes. This format requires two arguments. The first is only used as input, and - must be a :c:type:`const char*` which points to the name of an encoding as a + must be a :c:expr:`const char*` which points to the name of an encoding as a NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. An exception is raised if the named encoding is not known to Python. The - second argument must be a :c:type:`char**`; the value of the pointer it + second argument must be a :c:expr:`char**`; the value of the pointer it references will be set to a buffer with the contents of the argument text. The text will be encoded in the encoding specified by the first argument. @@ -217,10 +217,10 @@ which disallows mutable objects such as :class:`bytearray`. characters. It requires three arguments. The first is only used as input, and must be a - :c:type:`const char*` which points to the name of an encoding as a + :c:expr:`const char*` which points to the name of an encoding as a NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. An exception is raised if the named encoding is not known to Python. The - second argument must be a :c:type:`char**`; the value of the pointer it + second argument must be a :c:expr:`char**`; the value of the pointer it references will be set to a buffer with the contents of the argument text. The text will be encoded in the encoding specified by the first argument. The third argument must be a pointer to an integer; the referenced integer @@ -252,38 +252,38 @@ Numbers ``b`` (:class:`int`) [unsigned char] Convert a nonnegative Python integer to an unsigned tiny int, stored in a C - :c:type:`unsigned char`. + :c:expr:`unsigned char`. ``B`` (:class:`int`) [unsigned char] Convert a Python integer to a tiny int without overflow checking, stored in a C - :c:type:`unsigned char`. + :c:expr:`unsigned char`. ``h`` (:class:`int`) [short int] - Convert a Python integer to a C :c:type:`short int`. + Convert a Python integer to a C :c:expr:`short int`. ``H`` (:class:`int`) [unsigned short int] - Convert a Python integer to a C :c:type:`unsigned short int`, without overflow + Convert a Python integer to a C :c:expr:`unsigned short int`, without overflow checking. ``i`` (:class:`int`) [int] - Convert a Python integer to a plain C :c:type:`int`. + Convert a Python integer to a plain C :c:expr:`int`. ``I`` (:class:`int`) [unsigned int] - Convert a Python integer to a C :c:type:`unsigned int`, without overflow + Convert a Python integer to a C :c:expr:`unsigned int`, without overflow checking. ``l`` (:class:`int`) [long int] - Convert a Python integer to a C :c:type:`long int`. + Convert a Python integer to a C :c:expr:`long int`. ``k`` (:class:`int`) [unsigned long] - Convert a Python integer to a C :c:type:`unsigned long` without + Convert a Python integer to a C :c:expr:`unsigned long` without overflow checking. ``L`` (:class:`int`) [long long] - Convert a Python integer to a C :c:type:`long long`. + Convert a Python integer to a C :c:expr:`long long`. ``K`` (:class:`int`) [unsigned long long] - Convert a Python integer to a C :c:type:`unsigned long long` + Convert a Python integer to a C :c:expr:`unsigned long long` without overflow checking. ``n`` (:class:`int`) [:c:type:`Py_ssize_t`] @@ -291,20 +291,20 @@ Numbers ``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char] Convert a Python byte, represented as a :class:`bytes` or - :class:`bytearray` object of length 1, to a C :c:type:`char`. + :class:`bytearray` object of length 1, to a C :c:expr:`char`. .. versionchanged:: 3.3 Allow :class:`bytearray` objects. ``C`` (:class:`str` of length 1) [int] Convert a Python character, represented as a :class:`str` object of - length 1, to a C :c:type:`int`. + length 1, to a C :c:expr:`int`. ``f`` (:class:`float`) [float] - Convert a Python floating point number to a C :c:type:`float`. + Convert a Python floating point number to a C :c:expr:`float`. ``d`` (:class:`float`) [double] - Convert a Python floating point number to a C :c:type:`double`. + Convert a Python floating point number to a C :c:expr:`double`. ``D`` (:class:`complex`) [Py_complex] Convert a Python complex number to a C :c:type:`Py_complex` structure. @@ -329,13 +329,13 @@ Other objects ``O&`` (object) [*converter*, *anything*] Convert a Python object to a C variable through a *converter* function. This takes two arguments: the first is a function, the second is the address of a C - variable (of arbitrary type), converted to :c:type:`void *`. The *converter* + variable (of arbitrary type), converted to :c:expr:`void *`. The *converter* function in turn is called as follows:: status = converter(object, address); where *object* is the Python object to be converted and *address* is the - :c:type:`void*` argument that was passed to the ``PyArg_Parse*`` function. + :c:expr:`void*` argument that was passed to the ``PyArg_Parse*`` function. The returned *status* should be ``1`` for a successful conversion and ``0`` if the conversion has failed. When the conversion fails, the *converter* function should raise an exception and leave the content of *address* unmodified. @@ -568,7 +568,7 @@ Building values Same as ``s#``. ``u`` (:class:`str`) [const wchar_t \*] - Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or UCS-4) + Convert a null-terminated :c:expr:`wchar_t` buffer of Unicode (UTF-16 or UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is ``NULL``, ``None`` is returned. @@ -584,51 +584,51 @@ Building values Same as ``s#``. ``i`` (:class:`int`) [int] - Convert a plain C :c:type:`int` to a Python integer object. + Convert a plain C :c:expr:`int` to a Python integer object. ``b`` (:class:`int`) [char] - Convert a plain C :c:type:`char` to a Python integer object. + Convert a plain C :c:expr:`char` to a Python integer object. ``h`` (:class:`int`) [short int] - Convert a plain C :c:type:`short int` to a Python integer object. + Convert a plain C :c:expr:`short int` to a Python integer object. ``l`` (:class:`int`) [long int] - Convert a C :c:type:`long int` to a Python integer object. + Convert a C :c:expr:`long int` to a Python integer object. ``B`` (:class:`int`) [unsigned char] - Convert a C :c:type:`unsigned char` to a Python integer object. + Convert a C :c:expr:`unsigned char` to a Python integer object. ``H`` (:class:`int`) [unsigned short int] - Convert a C :c:type:`unsigned short int` to a Python integer object. + Convert a C :c:expr:`unsigned short int` to a Python integer object. ``I`` (:class:`int`) [unsigned int] - Convert a C :c:type:`unsigned int` to a Python integer object. + Convert a C :c:expr:`unsigned int` to a Python integer object. ``k`` (:class:`int`) [unsigned long] - Convert a C :c:type:`unsigned long` to a Python integer object. + Convert a C :c:expr:`unsigned long` to a Python integer object. ``L`` (:class:`int`) [long long] - Convert a C :c:type:`long long` to a Python integer object. + Convert a C :c:expr:`long long` to a Python integer object. ``K`` (:class:`int`) [unsigned long long] - Convert a C :c:type:`unsigned long long` to a Python integer object. + Convert a C :c:expr:`unsigned long long` to a Python integer object. ``n`` (:class:`int`) [:c:type:`Py_ssize_t`] Convert a C :c:type:`Py_ssize_t` to a Python integer. ``c`` (:class:`bytes` of length 1) [char] - Convert a C :c:type:`int` representing a byte to a Python :class:`bytes` object of + Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` object of length 1. ``C`` (:class:`str` of length 1) [int] - Convert a C :c:type:`int` representing a character to Python :class:`str` + Convert a C :c:expr:`int` representing a character to Python :class:`str` object of length 1. ``d`` (:class:`float`) [double] - Convert a C :c:type:`double` to a Python floating point number. + Convert a C :c:expr:`double` to a Python floating point number. ``f`` (:class:`float`) [float] - Convert a C :c:type:`float` to a Python floating point number. + Convert a C :c:expr:`float` to a Python floating point number. ``D`` (:class:`complex`) [Py_complex \*] Convert a C :c:type:`Py_complex` structure to a Python complex number. @@ -651,7 +651,7 @@ Building values ``O&`` (object) [*converter*, *anything*] Convert *anything* to a Python object through a *converter* function. The - function is called with *anything* (which should be compatible with :c:type:`void*`) + function is called with *anything* (which should be compatible with :c:expr:`void*`) as its argument and should return a "new" Python object, or ``NULL`` if an error occurred. diff --git a/Doc/c-api/capsule.rst b/Doc/c-api/capsule.rst index 2c4cfc48f9a27a..1c8f432505ef68 100644 --- a/Doc/c-api/capsule.rst +++ b/Doc/c-api/capsule.rst @@ -15,7 +15,7 @@ Refer to :ref:`using-capsules` for more information on using these objects. .. c:type:: PyCapsule This subtype of :c:type:`PyObject` represents an opaque value, useful for C - extension modules who need to pass an opaque value (as a :c:type:`void*` + extension modules who need to pass an opaque value (as a :c:expr:`void*` pointer) through Python code to other C code. It is often used to make a C function pointer defined in one module available to other modules, so the regular import mechanism can be used to access C APIs defined in dynamically diff --git a/Doc/c-api/complex.rst b/Doc/c-api/complex.rst index c25894681bca35..9228ce85200023 100644 --- a/Doc/c-api/complex.rst +++ b/Doc/c-api/complex.rst @@ -115,12 +115,12 @@ Complex Numbers as Python Objects .. c:function:: double PyComplex_RealAsDouble(PyObject *op) - Return the real part of *op* as a C :c:type:`double`. + Return the real part of *op* as a C :c:expr:`double`. .. c:function:: double PyComplex_ImagAsDouble(PyObject *op) - Return the imaginary part of *op* as a C :c:type:`double`. + Return the imaginary part of *op* as a C :c:expr:`double`. .. c:function:: Py_complex PyComplex_AsCComplex(PyObject *op) diff --git a/Doc/c-api/conversion.rst b/Doc/c-api/conversion.rst index 7b4cc1cacdd4ab..9b9c4ffa4d0343 100644 --- a/Doc/c-api/conversion.rst +++ b/Doc/c-api/conversion.rst @@ -49,7 +49,7 @@ The following functions provide locale-independent string to number conversions. .. c:function:: double PyOS_string_to_double(const char *s, char **endptr, PyObject *overflow_exception) - Convert a string ``s`` to a :c:type:`double`, raising a Python + Convert a string ``s`` to a :c:expr:`double`, raising a Python exception on failure. The set of accepted strings corresponds to the set of strings accepted by Python's :func:`float` constructor, except that ``s`` must not have leading or trailing whitespace. @@ -83,7 +83,7 @@ The following functions provide locale-independent string to number conversions. .. c:function:: char* PyOS_double_to_string(double val, char format_code, int precision, int flags, int *ptype) - Convert a :c:type:`double` *val* to a string using supplied + Convert a :c:expr:`double` *val* to a string using supplied *format_code*, *precision*, and *flags*. *format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``, diff --git a/Doc/c-api/dict.rst b/Doc/c-api/dict.rst index 67c2026baa1496..819168d48707c1 100644 --- a/Doc/c-api/dict.rst +++ b/Doc/c-api/dict.rst @@ -73,7 +73,7 @@ Dictionary Objects .. index:: single: PyUnicode_FromString() Insert *val* into the dictionary *p* using *key* as a key. *key* should - be a :c:type:`const char*`. The key object is created using + be a :c:expr:`const char*`. The key object is created using ``PyUnicode_FromString(key)``. Return ``0`` on success or ``-1`` on failure. This function *does not* steal a reference to *val*. @@ -118,7 +118,7 @@ Dictionary Objects .. c:function:: PyObject* PyDict_GetItemString(PyObject *p, const char *key) This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a - :c:type:`const char*`, rather than a :c:expr:`PyObject*`. + :c:expr:`const char*`, rather than a :c:expr:`PyObject*`. Note that exceptions which occur while calling :meth:`__hash__` and :meth:`__eq__` methods and creating a temporary string object diff --git a/Doc/c-api/file.rst b/Doc/c-api/file.rst index 745d892be7ea89..58ed58e5466859 100644 --- a/Doc/c-api/file.rst +++ b/Doc/c-api/file.rst @@ -38,7 +38,7 @@ the :mod:`io` APIs instead. .. c:function:: int PyObject_AsFileDescriptor(PyObject *p) - Return the file descriptor associated with *p* as an :c:type:`int`. If the + Return the file descriptor associated with *p* as an :c:expr:`int`. If the object is an integer, its value is returned. If not, the object's :meth:`~io.IOBase.fileno` method is called if it exists; the method must return an integer, which is returned as the file descriptor diff --git a/Doc/c-api/float.rst b/Doc/c-api/float.rst index b306caf74b7c81..023b12c20b7c83 100644 --- a/Doc/c-api/float.rst +++ b/Doc/c-api/float.rst @@ -44,7 +44,7 @@ Floating Point Objects .. c:function:: double PyFloat_AsDouble(PyObject *pyfloat) - Return a C :c:type:`double` representation of the contents of *pyfloat*. If + Return a C :c:expr:`double` representation of the contents of *pyfloat*. If *pyfloat* is not a Python floating point object but has a :meth:`__float__` method, this method will first be called to convert *pyfloat* into a float. If ``__float__()`` is not defined then it falls back to :meth:`__index__`. @@ -57,7 +57,7 @@ Floating Point Objects .. c:function:: double PyFloat_AS_DOUBLE(PyObject *pyfloat) - Return a C :c:type:`double` representation of the contents of *pyfloat*, but + Return a C :c:expr:`double` representation of the contents of *pyfloat*, but without error checking. @@ -70,12 +70,12 @@ Floating Point Objects .. c:function:: double PyFloat_GetMax() - Return the maximum representable finite float *DBL_MAX* as C :c:type:`double`. + Return the maximum representable finite float *DBL_MAX* as C :c:expr:`double`. .. c:function:: double PyFloat_GetMin() - Return the minimum normalized positive float *DBL_MIN* as C :c:type:`double`. + Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`. Pack and Unpack functions @@ -83,8 +83,8 @@ Pack and Unpack functions The pack and unpack functions provide an efficient platform-independent way to store floating-point values as byte strings. The Pack routines produce a bytes -string from a C :c:type:`double`, and the Unpack routines produce a C -:c:type:`double` from such a bytes string. The suffix (2, 4 or 8) specifies the +string from a C :c:expr:`double`, and the Unpack routines produce a C +:c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) specifies the number of bytes in the bytes string. On platforms that appear to use IEEE 754 formats these functions work by @@ -107,7 +107,7 @@ Pack functions -------------- The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an -:c:type:`int` argument, non-zero if you want the bytes string in little-endian +:c:expr:`int` argument, non-zero if you want the bytes string in little-endian format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you want big-endian format (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` constant can be used to use the native endian: it is equal to ``1`` on big @@ -138,7 +138,7 @@ Unpack functions ---------------- The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an -:c:type:`int` argument, non-zero if the bytes string is in little-endian format +:c:expr:`int` argument, non-zero if the bytes string is in little-endian format (exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if big-endian (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` constant can be used to use the native endian: it is equal to ``1`` on big endian processor, or ``0`` diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index 72b086532e5dd5..dd9847c3e3d2e7 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -376,7 +376,7 @@ Process-wide parameters interpreter will change the contents of this storage. Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a - :c:type:`wchar_*` string. + :c:expr:`wchar_*` string. .. deprecated:: 3.11 @@ -527,7 +527,7 @@ Process-wide parameters if required after calling :c:func:`Py_Initialize`. Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a - :c:type:`wchar_*` string. + :c:expr:`wchar_*` string. The path argument is copied internally, so the caller may free it after the call completes. @@ -642,7 +642,7 @@ Process-wide parameters directory (``"."``). Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a - :c:type:`wchar_*` string. + :c:expr:`wchar_*` string. See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` members of the :ref:`Python Initialization Configuration `. @@ -678,7 +678,7 @@ Process-wide parameters :option:`-I`. Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a - :c:type:`wchar_*` string. + :c:expr:`wchar_*` string. See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` members of the :ref:`Python Initialization Configuration `. @@ -704,7 +704,7 @@ Process-wide parameters this storage. Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a - :c:type:`wchar_*` string. + :c:expr:`wchar_*` string. .. deprecated:: 3.11 @@ -1291,8 +1291,8 @@ All of the following functions must be called after :c:func:`Py_Initialize`. exception (if any) for the thread is cleared. This raises no exceptions. .. versionchanged:: 3.7 - The type of the *id* parameter changed from :c:type:`long` to - :c:type:`unsigned long`. + The type of the *id* parameter changed from :c:expr:`long` to + :c:expr:`unsigned long`. .. c:function:: void PyEval_AcquireThread(PyThreadState *tstate) @@ -1730,7 +1730,7 @@ The Python interpreter provides low-level support for thread-local storage (TLS) which wraps the underlying native TLS implementation to support the Python-level thread local storage API (:class:`threading.local`). The CPython C level APIs are similar to those offered by pthreads and Windows: -use a thread key and functions to associate a :c:type:`void*` value per +use a thread key and functions to associate a :c:expr:`void*` value per thread. The GIL does *not* need to be held when calling these functions; they supply @@ -1741,8 +1741,8 @@ you need to include :file:`pythread.h` to use thread-local storage. .. note:: None of these API functions handle memory management on behalf of the - :c:type:`void*` values. You need to allocate and deallocate them yourself. - If the :c:type:`void*` values happen to be :c:expr:`PyObject*`, these + :c:expr:`void*` values. You need to allocate and deallocate them yourself. + If the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, these functions don't do refcount operations on them either. .. _thread-specific-storage-api: @@ -1752,7 +1752,7 @@ Thread Specific Storage (TSS) API TSS API is introduced to supersede the use of the existing TLS API within the CPython interpreter. This API uses a new type :c:type:`Py_tss_t` instead of -:c:type:`int` to represent thread keys. +:c:expr:`int` to represent thread keys. .. versionadded:: 3.7 @@ -1838,14 +1838,14 @@ undefined if the given :c:type:`Py_tss_t` has not been initialized by .. c:function:: int PyThread_tss_set(Py_tss_t *key, void *value) - Return a zero value to indicate successfully associating a :c:type:`void*` + Return a zero value to indicate successfully associating a :c:expr:`void*` value with a TSS key in the current thread. Each thread has a distinct - mapping of the key to a :c:type:`void*` value. + mapping of the key to a :c:expr:`void*` value. .. c:function:: void* PyThread_tss_get(Py_tss_t *key) - Return the :c:type:`void*` value associated with a TSS key in the current + Return the :c:expr:`void*` value associated with a TSS key in the current thread. This returns ``NULL`` if no value is associated with the key in the current thread. diff --git a/Doc/c-api/intro.rst b/Doc/c-api/intro.rst index 4b91a4b74aaa60..ac2afa18b743ab 100644 --- a/Doc/c-api/intro.rst +++ b/Doc/c-api/intro.rst @@ -530,8 +530,8 @@ Types ----- There are few other data types that play a significant role in the Python/C -API; most are simple C types such as :c:type:`int`, :c:type:`long`, -:c:type:`double` and :c:type:`char*`. A few structure types are used to +API; most are simple C types such as :c:expr:`int`, :c:expr:`long`, +:c:expr:`double` and :c:expr:`char*`. A few structure types are used to describe static tables used to list the functions exported by a module or the data attributes of a new object type, and another is used to describe the value of a complex number. These will be discussed together with the functions that diff --git a/Doc/c-api/long.rst b/Doc/c-api/long.rst index 620344e71373b2..bd3d731d8464b0 100644 --- a/Doc/c-api/long.rst +++ b/Doc/c-api/long.rst @@ -47,7 +47,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. c:function:: PyObject* PyLong_FromUnsignedLong(unsigned long v) - Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long`, or + Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long`, or ``NULL`` on failure. @@ -65,13 +65,13 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. c:function:: PyObject* PyLong_FromLongLong(long long v) - Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or ``NULL`` + Return a new :c:type:`PyLongObject` object from a C :c:expr:`long long`, or ``NULL`` on failure. .. c:function:: PyObject* PyLong_FromUnsignedLongLong(unsigned long long v) - Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long long`, + Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long long`, or ``NULL`` on failure. @@ -115,12 +115,12 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. single: LONG_MAX single: OverflowError (built-in exception) - Return a C :c:type:`long` representation of *obj*. If *obj* is not an + Return a C :c:expr:`long` representation of *obj*. If *obj* is not an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method (if present) to convert it to a :c:type:`PyLongObject`. Raise :exc:`OverflowError` if the value of *obj* is out of range for a - :c:type:`long`. + :c:expr:`long`. Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate. @@ -133,7 +133,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. c:function:: long PyLong_AsLongAndOverflow(PyObject *obj, int *overflow) - Return a C :c:type:`long` representation of *obj*. If *obj* is not an + Return a C :c:expr:`long` representation of *obj*. If *obj* is not an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method (if present) to convert it to a :c:type:`PyLongObject`. @@ -156,12 +156,12 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. index:: single: OverflowError (built-in exception) - Return a C :c:type:`long long` representation of *obj*. If *obj* is not an + Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method (if present) to convert it to a :c:type:`PyLongObject`. Raise :exc:`OverflowError` if the value of *obj* is out of range for a - :c:type:`long long`. + :c:expr:`long long`. Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate. @@ -174,7 +174,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. c:function:: long long PyLong_AsLongLongAndOverflow(PyObject *obj, int *overflow) - Return a C :c:type:`long long` representation of *obj*. If *obj* is not an + Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method (if present) to convert it to a :c:type:`PyLongObject`. @@ -215,11 +215,11 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. single: ULONG_MAX single: OverflowError (built-in exception) - Return a C :c:type:`unsigned long` representation of *pylong*. *pylong* + Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* must be an instance of :c:type:`PyLongObject`. Raise :exc:`OverflowError` if the value of *pylong* is out of range for a - :c:type:`unsigned long`. + :c:expr:`unsigned long`. Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate. @@ -246,11 +246,11 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. index:: single: OverflowError (built-in exception) - Return a C :c:type:`unsigned long long` representation of *pylong*. *pylong* + Return a C :c:expr:`unsigned long long` representation of *pylong*. *pylong* must be an instance of :c:type:`PyLongObject`. Raise :exc:`OverflowError` if the value of *pylong* is out of range for an - :c:type:`unsigned long long`. + :c:expr:`unsigned long long`. Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate. @@ -261,11 +261,11 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. c:function:: unsigned long PyLong_AsUnsignedLongMask(PyObject *obj) - Return a C :c:type:`unsigned long` representation of *obj*. If *obj* is not + Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method (if present) to convert it to a :c:type:`PyLongObject`. - If the value of *obj* is out of range for an :c:type:`unsigned long`, + If the value of *obj* is out of range for an :c:expr:`unsigned long`, return the reduction of that value modulo ``ULONG_MAX + 1``. Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to @@ -280,12 +280,12 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. c:function:: unsigned long long PyLong_AsUnsignedLongLongMask(PyObject *obj) - Return a C :c:type:`unsigned long long` representation of *obj*. If *obj* + Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* is not an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method (if present) to convert it to a :c:type:`PyLongObject`. - If the value of *obj* is out of range for an :c:type:`unsigned long long`, + If the value of *obj* is out of range for an :c:expr:`unsigned long long`, return the reduction of that value modulo ``ULLONG_MAX + 1``. Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` @@ -300,20 +300,20 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate. .. c:function:: double PyLong_AsDouble(PyObject *pylong) - Return a C :c:type:`double` representation of *pylong*. *pylong* must be + Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an instance of :c:type:`PyLongObject`. Raise :exc:`OverflowError` if the value of *pylong* is out of range for a - :c:type:`double`. + :c:expr:`double`. Returns ``-1.0`` on error. Use :c:func:`PyErr_Occurred` to disambiguate. .. c:function:: void* PyLong_AsVoidPtr(PyObject *pylong) - Convert a Python integer *pylong* to a C :c:type:`void` pointer. + Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong* cannot be converted, an :exc:`OverflowError` will be raised. This - is only assured to produce a usable :c:type:`void` pointer for values created + is only assured to produce a usable :c:expr:`void` pointer for values created with :c:func:`PyLong_FromVoidPtr`. Returns ``NULL`` on error. Use :c:func:`PyErr_Occurred` to disambiguate. diff --git a/Doc/c-api/marshal.rst b/Doc/c-api/marshal.rst index 1ba18beb3ea00f..8e25968c6909fd 100644 --- a/Doc/c-api/marshal.rst +++ b/Doc/c-api/marshal.rst @@ -21,9 +21,9 @@ unmarshalling. Version 2 uses a binary format for floating point numbers. .. c:function:: void PyMarshal_WriteLongToFile(long value, FILE *file, int version) - Marshal a :c:type:`long` integer, *value*, to *file*. This will only write + Marshal a :c:expr:`long` integer, *value*, to *file*. This will only write the least-significant 32 bits of *value*; regardless of the size of the - native :c:type:`long` type. *version* indicates the file format. + native :c:expr:`long` type. *version* indicates the file format. .. c:function:: void PyMarshal_WriteObjectToFile(PyObject *value, FILE *file, int version) @@ -43,9 +43,9 @@ The following functions allow marshalled values to be read back in. .. c:function:: long PyMarshal_ReadLongFromFile(FILE *file) - Return a C :c:type:`long` from the data stream in a :c:expr:`FILE*` opened + Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened for reading. Only a 32-bit value can be read in using this function, - regardless of the native size of :c:type:`long`. + regardless of the native size of :c:expr:`long`. On error, sets the appropriate exception (:exc:`EOFError`) and returns ``-1``. @@ -53,9 +53,9 @@ The following functions allow marshalled values to be read back in. .. c:function:: int PyMarshal_ReadShortFromFile(FILE *file) - Return a C :c:type:`short` from the data stream in a :c:expr:`FILE*` opened + Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened for reading. Only a 16-bit value can be read in using this function, - regardless of the native size of :c:type:`short`. + regardless of the native size of :c:expr:`short`. On error, sets the appropriate exception (:exc:`EOFError`) and returns ``-1``. diff --git a/Doc/c-api/memory.rst b/Doc/c-api/memory.rst index 4abbf340c5f420..f726cd48663b1c 100644 --- a/Doc/c-api/memory.rst +++ b/Doc/c-api/memory.rst @@ -141,7 +141,7 @@ zero bytes. .. c:function:: void* PyMem_RawMalloc(size_t n) - Allocates *n* bytes and returns a pointer of type :c:type:`void*` to the + Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if the request fails. Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, as @@ -152,7 +152,7 @@ zero bytes. .. c:function:: void* PyMem_RawCalloc(size_t nelem, size_t elsize) Allocates *nelem* elements each whose size in bytes is *elsize* and returns - a pointer of type :c:type:`void*` to the allocated memory, or ``NULL`` if the + a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if the request fails. The memory is initialized to zeros. Requesting zero elements or elements of size zero bytes returns a distinct @@ -212,7 +212,7 @@ The :ref:`default memory allocator ` uses the .. c:function:: void* PyMem_Malloc(size_t n) - Allocates *n* bytes and returns a pointer of type :c:type:`void*` to the + Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if the request fails. Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, as @@ -223,7 +223,7 @@ The :ref:`default memory allocator ` uses the .. c:function:: void* PyMem_Calloc(size_t nelem, size_t elsize) Allocates *nelem* elements each whose size in bytes is *elsize* and returns - a pointer of type :c:type:`void*` to the allocated memory, or ``NULL`` if the + a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if the request fails. The memory is initialized to zeros. Requesting zero elements or elements of size zero bytes returns a distinct @@ -320,7 +320,7 @@ The :ref:`default object allocator ` uses the .. c:function:: void* PyObject_Malloc(size_t n) - Allocates *n* bytes and returns a pointer of type :c:type:`void*` to the + Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if the request fails. Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, as @@ -331,7 +331,7 @@ The :ref:`default object allocator ` uses the .. c:function:: void* PyObject_Calloc(size_t nelem, size_t elsize) Allocates *nelem* elements each whose size in bytes is *elsize* and returns - a pointer of type :c:type:`void*` to the allocated memory, or ``NULL`` if the + a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if the request fails. The memory is initialized to zeros. Requesting zero elements or elements of size zero bytes returns a distinct diff --git a/Doc/c-api/sys.rst b/Doc/c-api/sys.rst index 7b714678444be1..517b57b14768bf 100644 --- a/Doc/c-api/sys.rst +++ b/Doc/c-api/sys.rst @@ -105,7 +105,7 @@ Operating System Utilities Return the current signal handler for signal *i*. This is a thin wrapper around either :c:func:`sigaction` or :c:func:`signal`. Do not call those functions - directly! :c:type:`PyOS_sighandler_t` is a typedef alias for :c:type:`void + directly! :c:type:`PyOS_sighandler_t` is a typedef alias for :c:expr:`void (\*)(int)`. @@ -114,7 +114,7 @@ Operating System Utilities Set the signal handler for signal *i* to be *h*; return the old signal handler. This is a thin wrapper around either :c:func:`sigaction` or :c:func:`signal`. Do not call those functions directly! :c:type:`PyOS_sighandler_t` is a typedef - alias for :c:type:`void (\*)(int)`. + alias for :c:expr:`void (\*)(int)`. .. c:function:: wchar_t* Py_DecodeLocale(const char* arg, size_t *size) @@ -377,7 +377,7 @@ accessible to C code. They all work with the current interpreter thread's silently abort the operation by raising an error subclassed from :class:`Exception` (other errors will not be silenced). - The hook function is of type :c:type:`int (*)(const char *event, PyObject + The hook function is of type :c:expr:`int (*)(const char *event, PyObject *args, void *userData)`, where *args* is guaranteed to be a :c:type:`PyTupleObject`. The hook function is always called with the GIL held by the Python interpreter that raised the event. diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst index d26bac83ec6d53..26d34052972ad4 100644 --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -58,7 +58,7 @@ Python: .. c:type:: Py_UNICODE - This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit type + This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit type depending on the platform. .. versionchanged:: 3.3 @@ -935,11 +935,11 @@ conversion function: wchar_t Support """"""""""""""" -:c:type:`wchar_t` support for platforms which support it: +:c:expr:`wchar_t` support for platforms which support it: .. c:function:: PyObject* PyUnicode_FromWideChar(const wchar_t *w, Py_ssize_t size) - Create a Unicode object from the :c:type:`wchar_t` buffer *w* of the given *size*. + Create a Unicode object from the :c:expr:`wchar_t` buffer *w* of the given *size*. Passing ``-1`` as the *size* indicates that the function must itself compute the length, using wcslen. Return ``NULL`` on failure. @@ -947,13 +947,13 @@ wchar_t Support .. c:function:: Py_ssize_t PyUnicode_AsWideChar(PyObject *unicode, wchar_t *w, Py_ssize_t size) - Copy the Unicode object contents into the :c:type:`wchar_t` buffer *w*. At most - *size* :c:type:`wchar_t` characters are copied (excluding a possibly trailing - null termination character). Return the number of :c:type:`wchar_t` characters - copied or ``-1`` in case of an error. Note that the resulting :c:type:`wchar_t*` + Copy the Unicode object contents into the :c:expr:`wchar_t` buffer *w*. At most + *size* :c:expr:`wchar_t` characters are copied (excluding a possibly trailing + null termination character). Return the number of :c:expr:`wchar_t` characters + copied or ``-1`` in case of an error. Note that the resulting :c:expr:`wchar_t*` string may or may not be null-terminated. It is the responsibility of the caller - to make sure that the :c:type:`wchar_t*` string is null-terminated in case this is - required by the application. Also, note that the :c:type:`wchar_t*` string + to make sure that the :c:expr:`wchar_t*` string is null-terminated in case this is + required by the application. Also, note that the :c:expr:`wchar_t*` string might contain null characters, which would cause the string to be truncated when used with most C functions. @@ -963,9 +963,9 @@ wchar_t Support Convert the Unicode object to a wide character string. The output string always ends with a null character. If *size* is not ``NULL``, write the number of wide characters (excluding the trailing null termination character) into - *\*size*. Note that the resulting :c:type:`wchar_t` string might contain + *\*size*. Note that the resulting :c:expr:`wchar_t` string might contain null characters, which would cause the string to be truncated when used with - most C functions. If *size* is ``NULL`` and the :c:type:`wchar_t*` string + most C functions. If *size* is ``NULL`` and the :c:expr:`wchar_t*` string contains null characters a :exc:`ValueError` is raised. Returns a buffer allocated by :c:func:`PyMem_Alloc` (use @@ -976,7 +976,7 @@ wchar_t Support .. versionadded:: 3.2 .. versionchanged:: 3.7 - Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:type:`wchar_t*` + Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` string contains null characters. diff --git a/Doc/extending/extending.rst b/Doc/extending/extending.rst index 0ef899f4c997b1..d9bf4fd6c7ae0e 100644 --- a/Doc/extending/extending.rst +++ b/Doc/extending/extending.rst @@ -298,7 +298,7 @@ In this case, it will return an integer object. (Yes, even integers are objects on the heap in Python!) If you have a C function that returns no useful argument (a function returning -:c:type:`void`), the corresponding Python function must return ``None``. You +:c:expr:`void`), the corresponding Python function must return ``None``. You need this idiom to do so (which is implemented by the :c:macro:`Py_RETURN_NONE` macro):: @@ -1171,7 +1171,7 @@ other extension modules must be exported in a different way. Python provides a special mechanism to pass C-level information (pointers) from one extension module to another one: Capsules. A Capsule is a Python data type -which stores a pointer (:c:type:`void \*`). Capsules can only be created and +which stores a pointer (:c:expr:`void \*`). Capsules can only be created and accessed via their C API, but they can be passed around like any other Python object. In particular, they can be assigned to a name in an extension module's namespace. Other extension modules can then import this module, retrieve the @@ -1185,7 +1185,7 @@ different ways between the module providing the code and the client modules. Whichever method you choose, it's important to name your Capsules properly. The function :c:func:`PyCapsule_New` takes a name parameter -(:c:type:`const char \*`); you're permitted to pass in a ``NULL`` name, but +(:c:expr:`const char \*`); you're permitted to pass in a ``NULL`` name, but we strongly encourage you to specify a name. Properly named Capsules provide a degree of runtime type-safety; there is no feasible way to tell one unnamed Capsule from another. @@ -1203,7 +1203,7 @@ of certainty that the Capsule they load contains the correct C API. The following example demonstrates an approach that puts most of the burden on the writer of the exporting module, which is appropriate for commonly used library modules. It stores all C API pointers (just one in the example!) in an -array of :c:type:`void` pointers which becomes the value of a Capsule. The header +array of :c:expr:`void` pointers which becomes the value of a Capsule. The header file corresponding to the module provides a macro that takes care of importing the module and retrieving its C API pointers; client modules only have to call this macro before accessing the C API. diff --git a/Doc/extending/newtypes.rst b/Doc/extending/newtypes.rst index c7c434e58bf04b..1eef7f6e8eb9fb 100644 --- a/Doc/extending/newtypes.rst +++ b/Doc/extending/newtypes.rst @@ -207,7 +207,7 @@ a special case, for which the new value passed to the handler is ``NULL``. Python supports two pairs of attribute handlers; a type that supports attributes only needs to implement the functions for one pair. The difference is that one -pair takes the name of the attribute as a :c:type:`char\*`, while the other +pair takes the name of the attribute as a :c:expr:`char\*`, while the other accepts a :c:type:`PyObject\*`. Each type can use whichever pair makes more sense for the implementation's convenience. :: @@ -339,8 +339,8 @@ of ``NULL`` is required. Type-specific Attribute Management ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For simplicity, only the :c:type:`char\*` version will be demonstrated here; the -type of the name parameter is the only difference between the :c:type:`char\*` +For simplicity, only the :c:expr:`char\*` version will be demonstrated here; the +type of the name parameter is the only difference between the :c:expr:`char\*` and :c:type:`PyObject\*` flavors of the interface. This example effectively does the same thing as the generic example above, but does not use the generic support added in Python 2.2. It explains how the handler functions are diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 0c341770a05b30..99c35a8e595f20 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -197,9 +197,9 @@ calls). ``None``, integers, bytes objects and (unicode) strings are the only native Python objects that can directly be used as parameters in these function calls. ``None`` is passed as a C ``NULL`` pointer, bytes objects and strings are passed -as pointer to the memory block that contains their data (:c:type:`char *` or -:c:type:`wchar_t *`). Python integers are passed as the platforms default C -:c:type:`int` type, their value is masked to fit into the C type. +as pointer to the memory block that contains their data (:c:expr:`char *` or +:c:expr:`wchar_t *`). Python integers are passed as the platforms default C +:c:expr:`int` type, their value is masked to fit into the C type. Before we move on calling functions with other parameter types, we have to learn more about :mod:`ctypes` data types. @@ -215,49 +215,49 @@ Fundamental data types +----------------------+------------------------------------------+----------------------------+ | ctypes type | C type | Python type | +======================+==========================================+============================+ -| :class:`c_bool` | :c:type:`_Bool` | bool (1) | +| :class:`c_bool` | :c:expr:`_Bool` | bool (1) | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_char` | :c:type:`char` | 1-character bytes object | +| :class:`c_char` | :c:expr:`char` | 1-character bytes object | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_wchar` | :c:type:`wchar_t` | 1-character string | +| :class:`c_wchar` | :c:expr:`wchar_t` | 1-character string | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_byte` | :c:type:`char` | int | +| :class:`c_byte` | :c:expr:`char` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_ubyte` | :c:type:`unsigned char` | int | +| :class:`c_ubyte` | :c:expr:`unsigned char` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_short` | :c:type:`short` | int | +| :class:`c_short` | :c:expr:`short` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_ushort` | :c:type:`unsigned short` | int | +| :class:`c_ushort` | :c:expr:`unsigned short` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_int` | :c:type:`int` | int | +| :class:`c_int` | :c:expr:`int` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_uint` | :c:type:`unsigned int` | int | +| :class:`c_uint` | :c:expr:`unsigned int` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_long` | :c:type:`long` | int | +| :class:`c_long` | :c:expr:`long` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_ulong` | :c:type:`unsigned long` | int | +| :class:`c_ulong` | :c:expr:`unsigned long` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_longlong` | :c:type:`__int64` or :c:type:`long long` | int | +| :class:`c_longlong` | :c:expr:`__int64` or :c:expr:`long long` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_ulonglong` | :c:type:`unsigned __int64` or | int | -| | :c:type:`unsigned long long` | | +| :class:`c_ulonglong` | :c:expr:`unsigned __int64` or | int | +| | :c:expr:`unsigned long long` | | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_size_t` | :c:type:`size_t` | int | +| :class:`c_size_t` | :c:expr:`size_t` | int | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_ssize_t` | :c:type:`ssize_t` or | int | -| | :c:type:`Py_ssize_t` | | +| :class:`c_ssize_t` | :c:expr:`ssize_t` or | int | +| | :c:expr:`Py_ssize_t` | | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_float` | :c:type:`float` | float | +| :class:`c_float` | :c:expr:`float` | float | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_double` | :c:type:`double` | float | +| :class:`c_double` | :c:expr:`double` | float | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_longdouble`| :c:type:`long double` | float | +| :class:`c_longdouble`| :c:expr:`long double` | float | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_char_p` | :c:type:`char *` (NUL terminated) | bytes object or ``None`` | +| :class:`c_char_p` | :c:expr:`char *` (NUL terminated) | bytes object or ``None`` | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_wchar_p` | :c:type:`wchar_t *` (NUL terminated) | string or ``None`` | +| :class:`c_wchar_p` | :c:expr:`wchar_t *` (NUL terminated) | string or ``None`` | +----------------------+------------------------------------------+----------------------------+ -| :class:`c_void_p` | :c:type:`void *` | int or ``None`` | +| :class:`c_void_p` | :c:expr:`void *` | int or ``None`` | +----------------------+------------------------------------------+----------------------------+ (1) @@ -332,7 +332,7 @@ property:: The :func:`create_string_buffer` function replaces the old :func:`c_buffer` function (which is still available as an alias). To create a mutable memory -block containing unicode characters of the C type :c:type:`wchar_t`, use the +block containing unicode characters of the C type :c:expr:`wchar_t`, use the :func:`create_unicode_buffer` function. @@ -443,7 +443,7 @@ integer, string, bytes, a :mod:`ctypes` instance, or an object with an Return types ^^^^^^^^^^^^ -By default functions are assumed to return the C :c:type:`int` type. Other +By default functions are assumed to return the C :c:expr:`int` type. Other return types can be specified by setting the :attr:`restype` attribute of the function object. @@ -1323,7 +1323,7 @@ way is to instantiate one of the following classes: Instances of this class represent loaded shared libraries. Functions in these libraries use the standard C calling convention, and are assumed to return - :c:type:`int`. + :c:expr:`int`. On Windows creating a :class:`CDLL` instance may fail even if the DLL name exists. When a dependent DLL of the loaded DLL is not found, a @@ -1358,7 +1358,7 @@ way is to instantiate one of the following classes: Windows only: Instances of this class represent loaded shared libraries, functions in these libraries use the ``stdcall`` calling convention, and are - assumed to return :c:type:`int` by default. + assumed to return :c:expr:`int` by default. The Python :term:`global interpreter lock` is released before calling any function exported by these libraries, and reacquired afterwards. @@ -1514,7 +1514,7 @@ object is available: An instance of :class:`PyDLL` that exposes Python C API functions as attributes. Note that all these functions are assumed to return C - :c:type:`int`, which is of course not always the truth, so you have to assign + :c:expr:`int`, which is of course not always the truth, so you have to assign the correct :attr:`restype` attribute to use these functions. .. audit-event:: ctypes.dlopen name ctypes.LibraryLoader @@ -1560,10 +1560,10 @@ They are instances of a private class: .. attribute:: restype Assign a ctypes type to specify the result type of the foreign function. - Use ``None`` for :c:type:`void`, a function not returning anything. + Use ``None`` for :c:expr:`void`, a function not returning anything. It is possible to assign a callable Python object that is not a ctypes - type, in this case the function is assumed to return a C :c:type:`int`, and + type, in this case the function is assumed to return a C :c:expr:`int`, and the callable will be called with this integer, allowing further processing or error checking. Using this is deprecated, for more flexible post processing or error checking use a ctypes data type as @@ -2176,21 +2176,21 @@ These are the fundamental ctypes data types: .. class:: c_byte - Represents the C :c:type:`signed char` datatype, and interprets the value as + Represents the C :c:expr:`signed char` datatype, and interprets the value as small integer. The constructor accepts an optional integer initializer; no overflow checking is done. .. class:: c_char - Represents the C :c:type:`char` datatype, and interprets the value as a single + Represents the C :c:expr:`char` datatype, and interprets the value as a single character. The constructor accepts an optional string initializer, the length of the string must be exactly one character. .. class:: c_char_p - Represents the C :c:type:`char *` datatype when it points to a zero-terminated + Represents the C :c:expr:`char *` datatype when it points to a zero-terminated string. For a general character pointer that may also point to binary data, ``POINTER(c_char)`` must be used. The constructor accepts an integer address, or a bytes object. @@ -2198,68 +2198,68 @@ These are the fundamental ctypes data types: .. class:: c_double - Represents the C :c:type:`double` datatype. The constructor accepts an + Represents the C :c:expr:`double` datatype. The constructor accepts an optional float initializer. .. class:: c_longdouble - Represents the C :c:type:`long double` datatype. The constructor accepts an + Represents the C :c:expr:`long double` datatype. The constructor accepts an optional float initializer. On platforms where ``sizeof(long double) == sizeof(double)`` it is an alias to :class:`c_double`. .. class:: c_float - Represents the C :c:type:`float` datatype. The constructor accepts an + Represents the C :c:expr:`float` datatype. The constructor accepts an optional float initializer. .. class:: c_int - Represents the C :c:type:`signed int` datatype. The constructor accepts an + Represents the C :c:expr:`signed int` datatype. The constructor accepts an optional integer initializer; no overflow checking is done. On platforms where ``sizeof(int) == sizeof(long)`` it is an alias to :class:`c_long`. .. class:: c_int8 - Represents the C 8-bit :c:type:`signed int` datatype. Usually an alias for + Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias for :class:`c_byte`. .. class:: c_int16 - Represents the C 16-bit :c:type:`signed int` datatype. Usually an alias for + Represents the C 16-bit :c:expr:`signed int` datatype. Usually an alias for :class:`c_short`. .. class:: c_int32 - Represents the C 32-bit :c:type:`signed int` datatype. Usually an alias for + Represents the C 32-bit :c:expr:`signed int` datatype. Usually an alias for :class:`c_int`. .. class:: c_int64 - Represents the C 64-bit :c:type:`signed int` datatype. Usually an alias for + Represents the C 64-bit :c:expr:`signed int` datatype. Usually an alias for :class:`c_longlong`. .. class:: c_long - Represents the C :c:type:`signed long` datatype. The constructor accepts an + Represents the C :c:expr:`signed long` datatype. The constructor accepts an optional integer initializer; no overflow checking is done. .. class:: c_longlong - Represents the C :c:type:`signed long long` datatype. The constructor accepts + Represents the C :c:expr:`signed long long` datatype. The constructor accepts an optional integer initializer; no overflow checking is done. .. class:: c_short - Represents the C :c:type:`signed short` datatype. The constructor accepts an + Represents the C :c:expr:`signed short` datatype. The constructor accepts an optional integer initializer; no overflow checking is done. @@ -2277,83 +2277,83 @@ These are the fundamental ctypes data types: .. class:: c_ubyte - Represents the C :c:type:`unsigned char` datatype, it interprets the value as + Represents the C :c:expr:`unsigned char` datatype, it interprets the value as small integer. The constructor accepts an optional integer initializer; no overflow checking is done. .. class:: c_uint - Represents the C :c:type:`unsigned int` datatype. The constructor accepts an + Represents the C :c:expr:`unsigned int` datatype. The constructor accepts an optional integer initializer; no overflow checking is done. On platforms where ``sizeof(int) == sizeof(long)`` it is an alias for :class:`c_ulong`. .. class:: c_uint8 - Represents the C 8-bit :c:type:`unsigned int` datatype. Usually an alias for + Represents the C 8-bit :c:expr:`unsigned int` datatype. Usually an alias for :class:`c_ubyte`. .. class:: c_uint16 - Represents the C 16-bit :c:type:`unsigned int` datatype. Usually an alias for + Represents the C 16-bit :c:expr:`unsigned int` datatype. Usually an alias for :class:`c_ushort`. .. class:: c_uint32 - Represents the C 32-bit :c:type:`unsigned int` datatype. Usually an alias for + Represents the C 32-bit :c:expr:`unsigned int` datatype. Usually an alias for :class:`c_uint`. .. class:: c_uint64 - Represents the C 64-bit :c:type:`unsigned int` datatype. Usually an alias for + Represents the C 64-bit :c:expr:`unsigned int` datatype. Usually an alias for :class:`c_ulonglong`. .. class:: c_ulong - Represents the C :c:type:`unsigned long` datatype. The constructor accepts an + Represents the C :c:expr:`unsigned long` datatype. The constructor accepts an optional integer initializer; no overflow checking is done. .. class:: c_ulonglong - Represents the C :c:type:`unsigned long long` datatype. The constructor + Represents the C :c:expr:`unsigned long long` datatype. The constructor accepts an optional integer initializer; no overflow checking is done. .. class:: c_ushort - Represents the C :c:type:`unsigned short` datatype. The constructor accepts + Represents the C :c:expr:`unsigned short` datatype. The constructor accepts an optional integer initializer; no overflow checking is done. .. class:: c_void_p - Represents the C :c:type:`void *` type. The value is represented as integer. + Represents the C :c:expr:`void *` type. The value is represented as integer. The constructor accepts an optional integer initializer. .. class:: c_wchar - Represents the C :c:type:`wchar_t` datatype, and interprets the value as a + Represents the C :c:expr:`wchar_t` datatype, and interprets the value as a single character unicode string. The constructor accepts an optional string initializer, the length of the string must be exactly one character. .. class:: c_wchar_p - Represents the C :c:type:`wchar_t *` datatype, which must be a pointer to a + Represents the C :c:expr:`wchar_t *` datatype, which must be a pointer to a zero-terminated wide character string. The constructor accepts an integer address, or a string. .. class:: c_bool - Represent the C :c:type:`bool` datatype (more accurately, :c:type:`_Bool` from + Represent the C :c:expr:`bool` datatype (more accurately, :c:expr:`_Bool` from C99). Its value can be ``True`` or ``False``, and the constructor accepts any object that has a truth value. diff --git a/Doc/library/posix.rst b/Doc/library/posix.rst index 90be191aa2f8d7..ec04b0dcfc162f 100644 --- a/Doc/library/posix.rst +++ b/Doc/library/posix.rst @@ -39,12 +39,12 @@ Large File Support Several operating systems (including AIX and Solaris) provide support for files that are larger than 2 GiB from a C programming model where -:c:type:`int` and :c:type:`long` are 32-bit values. This is typically accomplished +:c:expr:`int` and :c:expr:`long` are 32-bit values. This is typically accomplished by defining the relevant size and offset types as 64-bit values. Such files are sometimes referred to as :dfn:`large files`. Large file support is enabled in Python when the size of an :c:type:`off_t` is -larger than a :c:type:`long` and the :c:type:`long long` is at least as large +larger than a :c:expr:`long` and the :c:expr:`long long` is at least as large as an :c:type:`off_t`. It may be necessary to configure and compile Python with certain compiler flags to enable this mode. For example, with Solaris 2.6 and 2.7 you need to do diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst index 71d2c508c57fc8..b1c2ab07740f0f 100644 --- a/Doc/library/socket.rst +++ b/Doc/library/socket.rst @@ -1565,7 +1565,7 @@ to sockets. ancillary data, items of the form ``(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)``, where *fds* is a :class:`bytes` object representing the new file descriptors as a binary array of the - native C :c:type:`int` type. If :meth:`recvmsg` raises an + native C :c:expr:`int` type. If :meth:`recvmsg` raises an exception after the system call returns, it will first attempt to close any file descriptors received via this mechanism. diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index e92909125b320d..14d2a27a87bac9 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -215,7 +215,7 @@ Numeric Types --- :class:`int`, :class:`float`, :class:`complex` There are three distinct numeric types: :dfn:`integers`, :dfn:`floating point numbers`, and :dfn:`complex numbers`. In addition, Booleans are a subtype of integers. Integers have unlimited precision. Floating point -numbers are usually implemented using :c:type:`double` in C; information +numbers are usually implemented using :c:expr:`double` in C; information about the precision and internal representation of floating point numbers for the machine on which your program is running is available in :data:`sys.float_info`. Complex numbers have a real and imaginary diff --git a/Doc/library/struct.rst b/Doc/library/struct.rst index c1888d4a94fe0c..d12a5732fa4a0d 100644 --- a/Doc/library/struct.rst +++ b/Doc/library/struct.rst @@ -196,46 +196,46 @@ platform-dependent. +========+==========================+====================+================+============+ | ``x`` | pad byte | no value | | | +--------+--------------------------+--------------------+----------------+------------+ -| ``c`` | :c:type:`char` | bytes of length 1 | 1 | | +| ``c`` | :c:expr:`char` | bytes of length 1 | 1 | | +--------+--------------------------+--------------------+----------------+------------+ -| ``b`` | :c:type:`signed char` | integer | 1 | \(1), \(2) | +| ``b`` | :c:expr:`signed char` | integer | 1 | \(1), \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``B`` | :c:type:`unsigned char` | integer | 1 | \(2) | +| ``B`` | :c:expr:`unsigned char` | integer | 1 | \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``?`` | :c:type:`_Bool` | bool | 1 | \(1) | +| ``?`` | :c:expr:`_Bool` | bool | 1 | \(1) | +--------+--------------------------+--------------------+----------------+------------+ -| ``h`` | :c:type:`short` | integer | 2 | \(2) | +| ``h`` | :c:expr:`short` | integer | 2 | \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``H`` | :c:type:`unsigned short` | integer | 2 | \(2) | +| ``H`` | :c:expr:`unsigned short` | integer | 2 | \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``i`` | :c:type:`int` | integer | 4 | \(2) | +| ``i`` | :c:expr:`int` | integer | 4 | \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``I`` | :c:type:`unsigned int` | integer | 4 | \(2) | +| ``I`` | :c:expr:`unsigned int` | integer | 4 | \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``l`` | :c:type:`long` | integer | 4 | \(2) | +| ``l`` | :c:expr:`long` | integer | 4 | \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``L`` | :c:type:`unsigned long` | integer | 4 | \(2) | +| ``L`` | :c:expr:`unsigned long` | integer | 4 | \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``q`` | :c:type:`long long` | integer | 8 | \(2) | +| ``q`` | :c:expr:`long long` | integer | 8 | \(2) | +--------+--------------------------+--------------------+----------------+------------+ -| ``Q`` | :c:type:`unsigned long | integer | 8 | \(2) | +| ``Q`` | :c:expr:`unsigned long | integer | 8 | \(2) | | | long` | | | | +--------+--------------------------+--------------------+----------------+------------+ -| ``n`` | :c:type:`ssize_t` | integer | | \(3) | +| ``n`` | :c:expr:`ssize_t` | integer | | \(3) | +--------+--------------------------+--------------------+----------------+------------+ -| ``N`` | :c:type:`size_t` | integer | | \(3) | +| ``N`` | :c:expr:`size_t` | integer | | \(3) | +--------+--------------------------+--------------------+----------------+------------+ | ``e`` | \(6) | float | 2 | \(4) | +--------+--------------------------+--------------------+----------------+------------+ -| ``f`` | :c:type:`float` | float | 4 | \(4) | +| ``f`` | :c:expr:`float` | float | 4 | \(4) | +--------+--------------------------+--------------------+----------------+------------+ -| ``d`` | :c:type:`double` | float | 8 | \(4) | +| ``d`` | :c:expr:`double` | float | 8 | \(4) | +--------+--------------------------+--------------------+----------------+------------+ -| ``s`` | :c:type:`char[]` | bytes | | | +| ``s`` | :c:expr:`char[]` | bytes | | | +--------+--------------------------+--------------------+----------------+------------+ -| ``p`` | :c:type:`char[]` | bytes | | | +| ``p`` | :c:expr:`char[]` | bytes | | | +--------+--------------------------+--------------------+----------------+------------+ -| ``P`` | :c:type:`void \*` | integer | | \(5) | +| ``P`` | :c:expr:`void \*` | integer | | \(5) | +--------+--------------------------+--------------------+----------------+------------+ .. versionchanged:: 3.3 @@ -250,8 +250,8 @@ Notes: (1) .. index:: single: ? (question mark); in struct format strings - The ``'?'`` conversion code corresponds to the :c:type:`_Bool` type defined by - C99. If this type is not available, it is simulated using a :c:type:`char`. In + The ``'?'`` conversion code corresponds to the :c:expr:`_Bool` type defined by + C99. If this type is not available, it is simulated using a :c:expr:`char`. In standard mode, it is always represented by one byte. (2) diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 758f3aef3ee34d..f2465cdf40f6d5 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -316,7 +316,7 @@ Sequences A string is a sequence of values that represent Unicode code points. All the code points in the range ``U+0000 - U+10FFFF`` can be - represented in a string. Python doesn't have a :c:type:`char` type; + represented in a string. Python doesn't have a :c:expr:`char` type; instead, every code point in the string is represented as a string object with length ``1``. The built-in function :func:`ord` converts a code point from its string form to an integer in the diff --git a/Doc/whatsnew/2.2.rst b/Doc/whatsnew/2.2.rst index 9355c1badaa215..bfb2aacbc07747 100644 --- a/Doc/whatsnew/2.2.rst +++ b/Doc/whatsnew/2.2.rst @@ -983,7 +983,7 @@ New and Improved Modules Jun-ichiro "itojun" Hagino.) * Two new format characters were added to the :mod:`struct` module for 64-bit - integers on platforms that support the C :c:type:`long long` type. ``q`` is for + integers on platforms that support the C :c:expr:`long long` type. ``q`` is for a signed 64-bit integer, and ``Q`` is for an unsigned one. The value is returned in Python's long integer type. (Contributed by Tim Peters.) diff --git a/Doc/whatsnew/2.3.rst b/Doc/whatsnew/2.3.rst index 27a0756cbb849d..c6e2003e92f1b3 100644 --- a/Doc/whatsnew/2.3.rst +++ b/Doc/whatsnew/2.3.rst @@ -1905,8 +1905,8 @@ Changes to Python's build process and to the C API include: "")`` instead, but this will be slower than using :const:`METH_NOARGS`. * :c:func:`PyArg_ParseTuple` accepts new format characters for various sizes of - unsigned integers: ``B`` for :c:type:`unsigned char`, ``H`` for :c:type:`unsigned - short int`, ``I`` for :c:type:`unsigned int`, and ``K`` for :c:type:`unsigned + unsigned integers: ``B`` for :c:expr:`unsigned char`, ``H`` for :c:expr:`unsigned + short int`, ``I`` for :c:expr:`unsigned int`, and ``K`` for :c:expr:`unsigned long long`. * A new function, ``PyObject_DelItemString(mapping, char *key)`` was added diff --git a/Doc/whatsnew/2.4.rst b/Doc/whatsnew/2.4.rst index 61f9eb43243ceb..63e819876ce310 100644 --- a/Doc/whatsnew/2.4.rst +++ b/Doc/whatsnew/2.4.rst @@ -472,7 +472,7 @@ PEP 327: Decimal Data Type ========================== Python has always supported floating-point (FP) numbers, based on the underlying -C :c:type:`double` type, as a data type. However, while most programming +C :c:expr:`double` type, as a data type. However, while most programming languages provide a floating-point type, many people (even programmers) are unaware that floating-point numbers don't represent certain decimal fractions accurately. The new :class:`Decimal` type can represent these fractions @@ -501,7 +501,7 @@ mantissa is multiplied by 4 (2 to the power of the exponent 2); 1.25 \* 4 equals 5. Modern systems usually provide floating-point support that conforms to a -standard called IEEE 754. C's :c:type:`double` type is usually implemented as a +standard called IEEE 754. C's :c:expr:`double` type is usually implemented as a 64-bit IEEE 754 number, which uses 52 bits of space for the mantissa. This means that numbers can only be specified to 52 bits of precision. If you're trying to represent numbers whose expansion repeats endlessly, the expansion is @@ -750,10 +750,10 @@ The solution described in the PEP is to add three new functions to the Python API that perform ASCII-only conversions, ignoring the locale setting: * ``PyOS_ascii_strtod(str, ptr)`` and ``PyOS_ascii_atof(str, ptr)`` - both convert a string to a C :c:type:`double`. + both convert a string to a C :c:expr:`double`. * ``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts a - :c:type:`double` to an ASCII string. + :c:expr:`double` to an ASCII string. The code for these functions came from the GLib library (https://developer.gnome.org/glib/stable/), whose developers kindly diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst index dfa8f7e93f8177..0aca2fe697ccdb 100644 --- a/Doc/whatsnew/2.5.rst +++ b/Doc/whatsnew/2.5.rst @@ -872,18 +872,18 @@ PEP 353: Using ssize_t as the index type ======================================== A wide-ranging change to Python's C API, using a new :c:type:`Py_ssize_t` type -definition instead of :c:type:`int`, will permit the interpreter to handle more +definition instead of :c:expr:`int`, will permit the interpreter to handle more data on 64-bit platforms. This change doesn't affect Python's capacity on 32-bit platforms. -Various pieces of the Python interpreter used C's :c:type:`int` type to store +Various pieces of the Python interpreter used C's :c:expr:`int` type to store sizes or counts; for example, the number of items in a list or tuple were stored -in an :c:type:`int`. The C compilers for most 64-bit platforms still define -:c:type:`int` as a 32-bit type, so that meant that lists could only hold up to +in an :c:expr:`int`. The C compilers for most 64-bit platforms still define +:c:expr:`int` as a 32-bit type, so that meant that lists could only hold up to ``2**31 - 1`` = 2147483647 items. (There are actually a few different programming models that 64-bit C compilers can use -- see https://unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the -most commonly available model leaves :c:type:`int` as 32 bits.) +most commonly available model leaves :c:expr:`int` as 32 bits.) A limit of 2147483647 items doesn't really matter on a 32-bit platform because you'll run out of memory before hitting the length limit. Each list item @@ -895,7 +895,7 @@ It's possible to address that much memory on a 64-bit platform, however. The pointers for a list that size would only require 16 GiB of space, so it's not unreasonable that Python programmers might construct lists that large. Therefore, the Python interpreter had to be changed to use some type other than -:c:type:`int`, and this will be a 64-bit type on 64-bit platforms. The change +:c:expr:`int`, and this will be a 64-bit type on 64-bit platforms. The change will cause incompatibilities on 64-bit machines, so it was deemed worth making the transition now, while the number of 64-bit users is still relatively small. (In 5 or 10 years, we may *all* be on 64-bit machines, and the transition would @@ -909,7 +909,7 @@ may therefore need to have some variables changed to :c:type:`Py_ssize_t`. The :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` functions have a new conversion code, ``n``, for :c:type:`Py_ssize_t`. :c:func:`PyArg_ParseTuple`'s -``s#`` and ``t#`` still output :c:type:`int` by default, but you can define the +``s#`` and ``t#`` still output :c:expr:`int` by default, but you can define the macro :c:macro:`PY_SSIZE_T_CLEAN` before including :file:`Python.h` to make them return :c:type:`Py_ssize_t`. @@ -1695,7 +1695,7 @@ attributes of the :class:`CDLL` object. :: result = libc.printf("Line of output\n") Type constructors for the various C types are provided: :func:`c_int`, -:func:`c_float`, :func:`c_double`, :func:`c_char_p` (equivalent to :c:type:`char +:func:`c_float`, :func:`c_double`, :func:`c_char_p` (equivalent to :c:expr:`char \*`), and so forth. Unlike Python's types, the C versions are all mutable; you can assign to their :attr:`value` attribute to change the wrapped value. Python integers and strings will be automatically converted to the corresponding C @@ -2093,7 +2093,7 @@ Changes to Python's build process and to the C API include: * The largest change to the C API came from :pep:`353`, which modifies the interpreter to use a :c:type:`Py_ssize_t` type definition instead of - :c:type:`int`. See the earlier section :ref:`pep-353` for a discussion of this + :c:expr:`int`. See the earlier section :ref:`pep-353` for a discussion of this change. * The design of the bytecode compiler has changed a great deal, no longer @@ -2264,7 +2264,7 @@ code: Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables this path checking. -* C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:type:`int` to +* C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:expr:`int` to allow processing more data on 64-bit machines. Extension code may need to make the same change to avoid warnings and to support 64-bit machines. See the earlier section :ref:`pep-353` for a discussion of this change. diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst index 5a3c103f29a789..731ce6aac6919d 100644 --- a/Doc/whatsnew/2.6.rst +++ b/Doc/whatsnew/2.6.rst @@ -2389,7 +2389,7 @@ changes, or look through the Subversion logs for all the details. has been updated from version 2.3.2 in Python 2.5 to version 2.4.1. -* The :mod:`struct` module now supports the C99 :c:type:`_Bool` type, +* The :mod:`struct` module now supports the C99 :c:expr:`_Bool` type, using the format character ``'?'``. (Contributed by David Remahl.) diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst index d48a9f7c45f8b9..3df9f8a4798ffa 100644 --- a/Doc/whatsnew/2.7.rst +++ b/Doc/whatsnew/2.7.rst @@ -2144,7 +2144,7 @@ Changes to Python's build process and to the C API include: * New functions: :c:func:`PyLong_AsLongAndOverflow` and :c:func:`PyLong_AsLongLongAndOverflow` approximates a Python long - integer as a C :c:type:`long` or :c:type:`long long`. + integer as a C :c:expr:`long` or :c:expr:`long long`. If the number is too large to fit into the output type, an *overflow* flag is set and returned to the caller. (Contributed by Case Van Horsen; :issue:`7528` and :issue:`7767`.) @@ -2202,7 +2202,7 @@ Changes to Python's build process and to the C API include: * New format codes: the :c:func:`PyFormat_FromString`, :c:func:`PyFormat_FromStringV`, and :c:func:`PyErr_Format` functions now accept ``%lld`` and ``%llu`` format codes for displaying - C's :c:type:`long long` types. + C's :c:expr:`long long` types. (Contributed by Mark Dickinson; :issue:`7228`.) * The complicated interaction between threads and process forking has diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst index 609370bad274b6..fef1a8ac4c0101 100644 --- a/Doc/whatsnew/3.3.rst +++ b/Doc/whatsnew/3.3.rst @@ -932,7 +932,7 @@ it can now be used as a class decorator (:issue:`10868`). array ----- -The :mod:`array` module supports the :c:type:`long long` type using ``q`` and +The :mod:`array` module supports the :c:expr:`long long` type using ``q`` and ``Q`` type codes. (Contributed by Oren Tirosh and Hirokazu Yamamoto in :issue:`1172711`.) diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst index 3facd88994eb7e..5bb3d2a436b675 100644 --- a/Doc/whatsnew/3.7.rst +++ b/Doc/whatsnew/3.7.rst @@ -290,21 +290,21 @@ PEP 539: New C API for Thread-Local Storage While Python provides a C API for thread-local storage support; the existing :ref:`Thread Local Storage (TLS) API ` has used -:c:type:`int` to represent TLS keys across all platforms. This has not +:c:expr:`int` to represent TLS keys across all platforms. This has not generally been a problem for officially support platforms, but that is neither POSIX-compliant, nor portable in any practical sense. :pep:`539` changes this by providing a new :ref:`Thread Specific Storage (TSS) API ` to CPython which supersedes use of the existing TLS API within the CPython interpreter, while deprecating the existing -API. The TSS API uses a new type :c:type:`Py_tss_t` instead of :c:type:`int` +API. The TSS API uses a new type :c:type:`Py_tss_t` instead of :c:expr:`int` to represent TSS keys--an opaque type the definition of which may depend on the underlying TLS implementation. Therefore, this will allow to build CPython on platforms where the native TLS key is defined in a way that cannot be safely -cast to :c:type:`int`. +cast to :c:expr:`int`. Note that on platforms where the native TLS key is defined in a way that cannot -be safely cast to :c:type:`int`, all functions of the existing TLS API will be +be safely cast to :c:expr:`int`, all functions of the existing TLS API will be no-op and immediately return failure. This indicates clearly that the old API is not supported on platforms where it cannot be used reliably, and that no effort will be made to add such support. @@ -1708,12 +1708,12 @@ Contributed by Paul Ganssle in :issue:`10381`. The type of results of :c:func:`PyThread_start_new_thread` and :c:func:`PyThread_get_thread_ident`, and the *id* parameter of -:c:func:`PyThreadState_SetAsyncExc` changed from :c:type:`long` to -:c:type:`unsigned long`. +:c:func:`PyThreadState_SetAsyncExc` changed from :c:expr:`long` to +:c:expr:`unsigned long`. (Contributed by Serhiy Storchaka in :issue:`6532`.) :c:func:`PyUnicode_AsWideCharString` now raises a :exc:`ValueError` if the -second argument is ``NULL`` and the :c:type:`wchar_t*` string contains null +second argument is ``NULL`` and the :c:expr:`wchar_t*` string contains null characters. (Contributed by Serhiy Storchaka in :issue:`30708`.) Changes to the startup sequence and the management of dynamic memory diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst index 6deaede4953bdc..ff01a65772991f 100644 --- a/Doc/whatsnew/3.9.rst +++ b/Doc/whatsnew/3.9.rst @@ -773,7 +773,7 @@ Optimizations Stinner in :issue:`38061`.) * :c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that - fit into :c:type:`long`. + fit into :c:expr:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.) * A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, diff --git a/Misc/NEWS.d/3.5.0a1.rst b/Misc/NEWS.d/3.5.0a1.rst index 97bdef6c93213f..96e59206cb1291 100644 --- a/Misc/NEWS.d/3.5.0a1.rst +++ b/Misc/NEWS.d/3.5.0a1.rst @@ -3034,7 +3034,7 @@ by Phil Elson. .. nonce: LK_5S1 .. section: Library -os.read() now uses a :c:func:`Py_ssize_t` type instead of :c:type:`int` for +os.read() now uses a :c:func:`Py_ssize_t` type instead of :c:expr:`int` for the size to support reading more than 2 GB at once. On Windows, the size is truncated to INT_MAX. As any call to os.read(), the OS may read less bytes than the number of requested bytes. diff --git a/Misc/NEWS.d/3.9.0a1.rst b/Misc/NEWS.d/3.9.0a1.rst index 45f232f1948d5d..63d77fd3ac0c3d 100644 --- a/Misc/NEWS.d/3.9.0a1.rst +++ b/Misc/NEWS.d/3.9.0a1.rst @@ -1510,7 +1510,7 @@ asynchronous magic methods on a MagicMock now return an AsyncMock. .. section: Library Update the *length* parameter of :func:`os.pread` to accept -:c:type:`Py_ssize_t` instead of :c:type:`int`. +:c:type:`Py_ssize_t` instead of :c:expr:`int`. .. diff --git a/Misc/NEWS.d/3.9.0b1.rst b/Misc/NEWS.d/3.9.0b1.rst index 529be0eba586ac..a7f52f81a5cd3a 100644 --- a/Misc/NEWS.d/3.9.0b1.rst +++ b/Misc/NEWS.d/3.9.0b1.rst @@ -191,7 +191,7 @@ internal subinterpreters module. .. section: Core and Builtins Improve performance of :c:func:`PyLong_FromDouble` for values that fit into -:c:type:`long`. +:c:expr:`long`. .. From 3dc7bfee3e2791783c3d1be73c38452ba1b9b0f3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:50:46 -0700 Subject: [PATCH 141/494] [3.11] gh-97654: Add auto exception chaining example to tutorial (GH-97703) (#97885) gh-97654: Add auto exception chaining example to tutorial (GH-97703) Add auto exception chaining example to tutorial (cherry picked from commit 395b66a0ae5237eec195ca97daaaf8563706ed34) Co-authored-by: Shahriar Heidrich --- Doc/tutorial/errors.rst | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/Doc/tutorial/errors.rst b/Doc/tutorial/errors.rst index 57919e3bad132c..67bb19556681c0 100644 --- a/Doc/tutorial/errors.rst +++ b/Doc/tutorial/errors.rst @@ -284,8 +284,27 @@ re-raise the exception:: Exception Chaining ================== -The :keyword:`raise` statement allows an optional :keyword:`from` which enables -chaining exceptions. For example:: +If an unhandled exception occurs inside an :keyword:`except` section, it will +have the exception being handled attached to it and included in the error +message:: + + >>> try: + ... open("database.sqlite") + ... except OSError: + ... raise RuntimeError("unable to handle error") + ... + Traceback (most recent call last): + File "", line 2, in + FileNotFoundError: [Errno 2] No such file or directory: 'database.sqlite' + + During handling of the above exception, another exception occurred: + + Traceback (most recent call last): + File "", line 4, in + RuntimeError: unable to handle error + +To indicate that an exception is a direct consequence of another, the +:keyword:`raise` statement allows an optional :keyword:`from` clause:: # exc must be exception instance or None. raise RuntimeError from exc @@ -311,9 +330,8 @@ This can be useful when you are transforming exceptions. For example:: File "", line 4, in RuntimeError: Failed to open database -Exception chaining happens automatically when an exception is raised inside an -:keyword:`except` or :keyword:`finally` section. This can be -disabled by using ``from None`` idiom: +It also allows disabling automatic exception chaining using the ``from None`` +idiom:: >>> try: ... open('database.sqlite') From a8d50aeada9b6e2be1a4b6e498002c11b783a32a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 14:57:11 -0700 Subject: [PATCH 142/494] [3.11] Fix type annotation of `pstats.FunctionProfile.ncalls` (GH-96741) (#96835) This change aligns the type annotation of `pstats.FunctionProfile.ncalls` with its runtime type. (cherry picked from commit 8e9a37dde44c9fa0b961cb2db5dc8266e1f85d11) Co-authored-by: Ruan Comelli --- Lib/pstats.py | 2 +- .../next/Library/2022-09-15-00-37-33.gh-issue-96741.4b6czN.rst | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-15-00-37-33.gh-issue-96741.4b6czN.rst diff --git a/Lib/pstats.py b/Lib/pstats.py index 8e0743f2e5f29d..80408313e8b27f 100644 --- a/Lib/pstats.py +++ b/Lib/pstats.py @@ -57,7 +57,7 @@ def __new__(cls, *values): @dataclass(unsafe_hash=True) class FunctionProfile: - ncalls: int + ncalls: str tottime: float percall_tottime: float cumtime: float diff --git a/Misc/NEWS.d/next/Library/2022-09-15-00-37-33.gh-issue-96741.4b6czN.rst b/Misc/NEWS.d/next/Library/2022-09-15-00-37-33.gh-issue-96741.4b6czN.rst new file mode 100644 index 00000000000000..e7f53311e589f2 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-15-00-37-33.gh-issue-96741.4b6czN.rst @@ -0,0 +1 @@ +Corrected type annotation for dataclass attribute ``pstats.FunctionProfile.ncalls`` to be ``str``. From 8c6ced36abb9ccc5dc6c8def1b376484685255c5 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Thu, 6 Oct 2022 01:00:13 +0300 Subject: [PATCH 143/494] [3.11] gh-96587: Raise `SyntaxError` for PEP654 on older `feature_version` (GH-96588) (#96591) (cherry picked from commit 2c7d2e8d46164efb6e27a64081d8e949f6876515) Co-authored-by: Nikita Sobolev --- Grammar/python.gram | 4 +++- Lib/test/test_ast.py | 9 +++++++++ .../2022-09-05-19-20-44.gh-issue-96587.bVxhX2.rst | 2 ++ Parser/parser.c | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-09-05-19-20-44.gh-issue-96587.bVxhX2.rst diff --git a/Grammar/python.gram b/Grammar/python.gram index d4df78b679a4ac..51f846a57f404b 100644 --- a/Grammar/python.gram +++ b/Grammar/python.gram @@ -412,7 +412,9 @@ try_stmt[stmt_ty]: | invalid_try_stmt | 'try' &&':' b=block f=finally_block { _PyAST_Try(b, NULL, NULL, f, EXTRA) } | 'try' &&':' b=block ex[asdl_excepthandler_seq*]=except_block+ el=[else_block] f=[finally_block] { _PyAST_Try(b, ex, el, f, EXTRA) } - | 'try' &&':' b=block ex[asdl_excepthandler_seq*]=except_star_block+ el=[else_block] f=[finally_block] { _PyAST_TryStar(b, ex, el, f, EXTRA) } + | 'try' &&':' b=block ex[asdl_excepthandler_seq*]=except_star_block+ el=[else_block] f=[finally_block] { + CHECK_VERSION(stmt_ty, 11, "Exception groups are", + _PyAST_TryStar(b, ex, el, f, EXTRA)) } # Except statement diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py index 7275e1559e5bb1..90ad6af56fdb20 100644 --- a/Lib/test/test_ast.py +++ b/Lib/test/test_ast.py @@ -771,6 +771,15 @@ def test_assignment_expression_feature_version(self): with self.assertRaises(SyntaxError): ast.parse('(x := 0)', feature_version=(3, 7)) + def test_exception_groups_feature_version(self): + code = dedent(''' + try: ... + except* Exception: ... + ''') + ast.parse(code) + with self.assertRaises(SyntaxError): + ast.parse(code, feature_version=(3, 10)) + def test_constant_as_name(self): for constant in "True", "False", "None": expr = ast.Expression(ast.Name(constant, ast.Load())) diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-09-05-19-20-44.gh-issue-96587.bVxhX2.rst b/Misc/NEWS.d/next/Core and Builtins/2022-09-05-19-20-44.gh-issue-96587.bVxhX2.rst new file mode 100644 index 00000000000000..37e9dcbb11f030 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-09-05-19-20-44.gh-issue-96587.bVxhX2.rst @@ -0,0 +1,2 @@ +Correctly raise ``SyntaxError`` on exception groups (:pep:`654`) on python +versions prior to 3.11 diff --git a/Parser/parser.c b/Parser/parser.c index e13dbe04cf9806..3fc12e50833c56 100644 --- a/Parser/parser.c +++ b/Parser/parser.c @@ -6970,7 +6970,7 @@ try_stmt_rule(Parser *p) UNUSED(_end_lineno); // Only used by EXTRA macro int _end_col_offset = _token->end_col_offset; UNUSED(_end_col_offset); // Only used by EXTRA macro - _res = _PyAST_TryStar ( b , ex , el , f , EXTRA ); + _res = CHECK_VERSION ( stmt_ty , 11 , "Exception groups are" , _PyAST_TryStar ( b , ex , el , f , EXTRA ) ); if (_res == NULL && PyErr_Occurred()) { p->error_indicator = 1; p->level--; From c9eacc8d02a949b7539a24ce744786940864e270 Mon Sep 17 00:00:00 2001 From: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:02:06 -0700 Subject: [PATCH 144/494] [3.11] gh-95987: Fix `repr` of `Any` type subclasses (GH-96412) (#96451) (cherry picked from commit 4217393) Co-authored-by: Nikita Sobolev --- Lib/test/test_typing.py | 6 ++++++ Lib/typing.py | 4 +++- .../Library/2022-08-30-11-46-36.gh-issue-95987.CV7_u4.rst | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2022-08-30-11-46-36.gh-issue-95987.CV7_u4.rst diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index 1bcadf8753f951..71590449dc5639 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -109,6 +109,12 @@ def test_any_instance_type_error(self): def test_repr(self): self.assertEqual(repr(Any), 'typing.Any') + class Sub(Any): pass + self.assertEqual( + repr(Sub), + ".Sub'>", + ) + def test_errors(self): with self.assertRaises(TypeError): issubclass(42, Any) diff --git a/Lib/typing.py b/Lib/typing.py index 354976caaaa007..1e335bb7204d40 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -493,7 +493,9 @@ def __instancecheck__(self, obj): return super().__instancecheck__(obj) def __repr__(self): - return "typing.Any" + if self is Any: + return "typing.Any" + return super().__repr__() # respect to subclasses class Any(metaclass=_AnyMeta): diff --git a/Misc/NEWS.d/next/Library/2022-08-30-11-46-36.gh-issue-95987.CV7_u4.rst b/Misc/NEWS.d/next/Library/2022-08-30-11-46-36.gh-issue-95987.CV7_u4.rst new file mode 100644 index 00000000000000..232bba1b92440b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-08-30-11-46-36.gh-issue-95987.CV7_u4.rst @@ -0,0 +1 @@ +Fix ``repr`` of ``Any`` subclasses. From 19ec4d40a231f96870f728b4e2339410b86134ea Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:03:18 -0700 Subject: [PATCH 145/494] [3.11] gh-96197: Fix expression when :func:`sys.breakpointhook is missing (gh-96293) (#96294) (cherry picked from commit 47d406ffc4946b023e38322c5235bec25f068481) Co-authored-by: Dong-hee Na --- Doc/library/functions.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 41fda9d85597cc..26ee302d2eabc3 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -164,7 +164,7 @@ are always available. They are listed here in alphabetical order. :func:`sys.breakpointhook` can be set to some other function and :func:`breakpoint` will automatically call that, allowing you to drop into the debugger of choice. - If :func:`sys.breakpointhook` is not available to be called, this function will + If :func:`sys.breakpointhook` is not accessible, this function will raise :exc:`RuntimeError`. .. audit-event:: builtins.breakpoint breakpointhook breakpoint From eecbeec083ca55ea22e544edba431c9b9023f692 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Thu, 6 Oct 2022 00:05:27 +0200 Subject: [PATCH 146/494] [3.11] gh-96017: Fix some compiler warnings (GH-96018) (#96106) - only define recreate_gil with ifdef HAVE_FORK. (cherry picked from commit d9c1b746b5013f81d1724757bb3c6a1c87c4a8dc) Co-authored-by: Christian Heimes --- Python/ceval_gil.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Python/ceval_gil.h b/Python/ceval_gil.h index 23f6fb26580ece..476ed7f1a2dd4b 100644 --- a/Python/ceval_gil.h +++ b/Python/ceval_gil.h @@ -133,12 +133,14 @@ static void destroy_gil(struct _gil_runtime_state *gil) _Py_ANNOTATE_RWLOCK_DESTROY(&gil->locked); } +#ifdef HAVE_FORK static void recreate_gil(struct _gil_runtime_state *gil) { _Py_ANNOTATE_RWLOCK_DESTROY(&gil->locked); /* XXX should we destroy the old OS resources here? */ create_gil(gil); } +#endif static void drop_gil(struct _ceval_runtime_state *ceval, struct _ceval_state *ceval2, From c9480d5ad59b052ad3d3422fcf0ac8dd5fed7f6d Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 16:32:16 -0700 Subject: [PATCH 147/494] gh-96865: [Enum] fix Flag to use CONFORM boundary (GH-97528) (cherry picked from commit b44372e03c5461b6ad3d89763a9eb6cb82df07a4) Co-authored-by: Ethan Furman --- Lib/enum.py | 2 +- Lib/test/test_enum.py | 2 +- .../2022-09-24-18-56-23.gh-issue-96865.o9WUkW.rst | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-09-24-18-56-23.gh-issue-96865.o9WUkW.rst diff --git a/Lib/enum.py b/Lib/enum.py index dffb673f44f949..ae97334e220bf0 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -1292,7 +1292,7 @@ class FlagBoundary(StrEnum): STRICT, CONFORM, EJECT, KEEP = FlagBoundary -class Flag(Enum, boundary=STRICT): +class Flag(Enum, boundary=CONFORM): """ Support for flags """ diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index 3b1c77d688eca1..d2cfc7f7cd4b91 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -2878,7 +2878,7 @@ def test_bool(self): self.assertEqual(bool(f.value), bool(f)) def test_boundary(self): - self.assertIs(enum.Flag._boundary_, STRICT) + self.assertIs(enum.Flag._boundary_, CONFORM) class Iron(Flag, boundary=STRICT): ONE = 1 TWO = 2 diff --git a/Misc/NEWS.d/next/Library/2022-09-24-18-56-23.gh-issue-96865.o9WUkW.rst b/Misc/NEWS.d/next/Library/2022-09-24-18-56-23.gh-issue-96865.o9WUkW.rst new file mode 100644 index 00000000000000..b054fdeee0785c --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-09-24-18-56-23.gh-issue-96865.o9WUkW.rst @@ -0,0 +1,9 @@ +fix Flag to use boundary CONFORM + +This restores previous Flag behavior of allowing flags with non-sequential values to be combined; e.g. + + class Skip(Flag): + TWO = 2 + EIGHT = 8 + + Skip.TWO | Skip.EIGHT -> From 0c387bf978167ec8b90e6fe068803bb6165becf3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 16:54:21 -0700 Subject: [PATCH 148/494] GH-88968: Add notes about socket ownership transfers (GH-97936) (cherry picked from commit 74ea204634f8eb4745afd5cb75c3fe7749cf38b5) Co-authored-by: Guido van Rossum --- Doc/library/asyncio-eventloop.rst | 24 ++++++++++++++++++++++++ Doc/library/asyncio-stream.rst | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index b83e6ace5589c1..8125612de58a02 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -458,6 +458,12 @@ Opening network connections *happy_eyeballs_delay*, *interleave* and *local_addr* should be specified. + .. note:: + + The *sock* argument transfers ownership of the socket to the + transport created. To close the socket, call the transport's + :meth:`~asyncio.BaseTransport.close` method. + * *local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind the socket locally. The *local_host* and *local_port* are looked up using ``getaddrinfo()``, similarly to *host* and *port*. @@ -556,6 +562,12 @@ Opening network connections transport. If specified, *local_addr* and *remote_addr* should be omitted (must be :const:`None`). + .. note:: + + The *sock* argument transfers ownership of the socket to the + transport created. To close the socket, call the transport's + :meth:`~asyncio.BaseTransport.close` method. + See :ref:`UDP echo client protocol ` and :ref:`UDP echo server protocol ` examples. @@ -667,6 +679,12 @@ Creating network servers * *sock* can optionally be specified in order to use a preexisting socket object. If specified, *host* and *port* must not be specified. + .. note:: + + The *sock* argument transfers ownership of the socket to the + server created. To close the socket, call the server's + :meth:`~asyncio.Server.close` method. + * *backlog* is the maximum number of queued connections passed to :meth:`~socket.socket.listen` (defaults to 100). @@ -768,6 +786,12 @@ Creating network servers * *sock* is a preexisting socket object returned from :meth:`socket.accept `. + .. note:: + + The *sock* argument transfers ownership of the socket to the + transport created. To close the socket, call the transport's + :meth:`~asyncio.BaseTransport.close` method. + * *ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the accepted connections. diff --git a/Doc/library/asyncio-stream.rst b/Doc/library/asyncio-stream.rst index 9b468670a2521e..ce88d70d6607d9 100644 --- a/Doc/library/asyncio-stream.rst +++ b/Doc/library/asyncio-stream.rst @@ -67,6 +67,12 @@ and work with streams: The rest of the arguments are passed directly to :meth:`loop.create_connection`. + .. note:: + + The *sock* argument transfers ownership of the socket to the + :class:`StreamWriter` created. To close the socket, call its + :meth:`~asyncio.StreamWriter.close` method. + .. versionchanged:: 3.7 Added the *ssl_handshake_timeout* parameter. @@ -103,6 +109,12 @@ and work with streams: The rest of the arguments are passed directly to :meth:`loop.create_server`. + .. note:: + + The *sock* argument transfers ownership of the socket to the + server created. To close the socket, call the server's + :meth:`~asyncio.Server.close` method. + .. versionchanged:: 3.7 Added the *ssl_handshake_timeout* and *start_serving* parameters. @@ -123,6 +135,12 @@ and work with streams: See also the documentation of :meth:`loop.create_unix_connection`. + .. note:: + + The *sock* argument transfers ownership of the socket to the + :class:`StreamWriter` created. To close the socket, call its + :meth:`~asyncio.StreamWriter.close` method. + .. availability:: Unix. .. versionchanged:: 3.7 @@ -143,6 +161,12 @@ and work with streams: See also the documentation of :meth:`loop.create_unix_server`. + .. note:: + + The *sock* argument transfers ownership of the socket to the + server created. To close the socket, call the server's + :meth:`~asyncio.Server.close` method. + .. availability:: Unix. .. versionchanged:: 3.7 From 1144cf64d8d668bd6a6a8eebe5790eb47f654ec5 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 5 Oct 2022 17:21:55 -0700 Subject: [PATCH 149/494] [3.11] gh-95691: Doc BufferedWriter and BufferedReader (GH-95703) (#97947) gh-95691: Doc BufferedWriter and BufferedReader (GH-95703) (cherry picked from commit 0d68879104dfb392d31e52e25dcb0661801a0249) Co-authored-by: 180909 <734461790@qq.com> Co-authored-by: 180909 <734461790@qq.com> --- Doc/library/io.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/io.rst b/Doc/library/io.rst index 7ec990c3212a3e..8fd6b3537019aa 100644 --- a/Doc/library/io.rst +++ b/Doc/library/io.rst @@ -272,7 +272,7 @@ to provide an interface to files in the machine's file system. The :class:`BufferedIOBase` ABC extends :class:`IOBase`. It deals with buffering on a raw binary stream (:class:`RawIOBase`). Its subclasses, :class:`BufferedWriter`, :class:`BufferedReader`, and :class:`BufferedRWPair` -buffer raw binary streams that are readable, writable, and both readable and writable, +buffer raw binary streams that are writable, readable, and both readable and writable, respectively. :class:`BufferedRandom` provides a buffered interface to seekable streams. Another :class:`BufferedIOBase` subclass, :class:`BytesIO`, is a stream of in-memory bytes. From 4aa93afd6ef377c22cf9a8505a392f071ea4bc0e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 05:44:05 -0700 Subject: [PATCH 150/494] gh-94808: Cover `PyObject_PyBytes` case with custom `__bytes__` method (GH-96610) Co-authored-by: Jelle Zijlstra (cherry picked from commit e39ae6bef2c357a88e232dcab2e4b4c0f367544b) Co-authored-by: Nikita Sobolev --- Lib/test/test_long.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py index d092e0176c2616..b6407b5a7c881e 100644 --- a/Lib/test/test_long.py +++ b/Lib/test/test_long.py @@ -1518,6 +1518,22 @@ def __init__(self, value): self.assertEqual(i, 1) self.assertEqual(getattr(i, 'foo', 'none'), 'bar') + class ValidBytes: + def __bytes__(self): + return b'\x01' + class InvalidBytes: + def __bytes__(self): + return 'abc' + class MissingBytes: ... + class RaisingBytes: + def __bytes__(self): + 1 / 0 + + self.assertEqual(int.from_bytes(ValidBytes()), 1) + self.assertRaises(TypeError, int.from_bytes, InvalidBytes()) + self.assertRaises(TypeError, int.from_bytes, MissingBytes()) + self.assertRaises(ZeroDivisionError, int.from_bytes, RaisingBytes()) + @support.cpython_only def test_from_bytes_small(self): # bpo-46361 From 27a7fe319a46bb3e36f27a9efeaf061f2379dcd8 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 10:49:29 -0700 Subject: [PATCH 151/494] [3.11] gh-93738: Disallow pre-v3 syntax in the C domain (GH-97962) (#97976) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also, disable using invalid sphinx-lint 0.6.2. (cherry picked from commit f612565bd32d4ab0945798da775eea070f08b6fe) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Łukasz Langa --- Doc/c-api/unicode.rst | 12 ++++++------ Doc/conf.py | 25 ------------------------- Doc/extending/newtypes.rst | 8 ++++---- Doc/extending/newtypes_tutorial.rst | 2 +- Doc/howto/isolating-extensions.rst | 2 +- Doc/requirements.txt | 5 ++++- Doc/whatsnew/2.2.rst | 2 +- Doc/whatsnew/2.5.rst | 2 +- 8 files changed, 18 insertions(+), 40 deletions(-) diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst index 26d34052972ad4..e72f151510cbde 100644 --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -17,8 +17,8 @@ of Unicode characters while staying memory efficient. There are special cases for strings where all code points are below 128, 256, or 65536; otherwise, code points must be below 1114112 (which is the full Unicode range). -:c:type:`Py_UNICODE*` and UTF-8 representations are created on demand and cached -in the Unicode object. The :c:type:`Py_UNICODE*` representation is deprecated +:c:expr:`Py_UNICODE*` and UTF-8 representations are created on demand and cached +in the Unicode object. The :c:expr:`Py_UNICODE*` representation is deprecated and inefficient. Due to the transition between the old APIs and the new APIs, Unicode objects @@ -30,7 +30,7 @@ can internally be in two states depending on how they were created: * "legacy" Unicode objects have been created through one of the deprecated APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the - :c:type:`Py_UNICODE*` representation; you will have to call + :c:expr:`Py_UNICODE*` representation; you will have to call :c:func:`PyUnicode_READY` on them before calling any other API. .. note:: @@ -236,7 +236,7 @@ access to internal read-only data of Unicode objects: returned buffer is always terminated with an extra null code point. It may also contain embedded null code points, which would cause the string to be truncated when used in most C functions. The ``AS_DATA`` form - casts the pointer to :c:type:`const char *`. The *o* argument has to be + casts the pointer to :c:expr:`const char *`. The *o* argument has to be a Unicode object (not checked). .. versionchanged:: 3.3 @@ -714,7 +714,7 @@ Extension modules can continue using them, as they will not be removed in Python Return a read-only pointer to the Unicode object's internal :c:type:`Py_UNICODE` buffer, or ``NULL`` on error. This will create the - :c:type:`Py_UNICODE*` representation of the object if it is not yet + :c:expr:`Py_UNICODE*` representation of the object if it is not yet available. The buffer is always terminated with an extra null code point. Note that the resulting :c:type:`Py_UNICODE` string may also contain embedded null code points, which would cause the string to be truncated when @@ -730,7 +730,7 @@ Extension modules can continue using them, as they will not be removed in Python Like :c:func:`PyUnicode_AsUnicode`, but also saves the :c:func:`Py_UNICODE` array length (excluding the extra null terminator) in *size*. - Note that the resulting :c:type:`Py_UNICODE*` string + Note that the resulting :c:expr:`Py_UNICODE*` string may contain embedded null code points, which would cause the string to be truncated when used in most C functions. diff --git a/Doc/conf.py b/Doc/conf.py index e5c989da0b360d..fd4ee2d5eee811 100644 --- a/Doc/conf.py +++ b/Doc/conf.py @@ -234,28 +234,3 @@ # Relative filename of the data files refcount_file = 'data/refcounts.dat' stable_abi_file = 'data/stable_abi.dat' - -# Sphinx 2 and Sphinx 3 compatibility -# ----------------------------------- - -# bpo-40204: Allow Sphinx 2 syntax in the C domain -c_allow_pre_v3 = True - -# bpo-40204: Disable warnings on Sphinx 2 syntax of the C domain since the -# documentation is built with -W (warnings treated as errors). -c_warn_on_allowed_pre_v3 = False - -# Fix '!' not working with C domain when pre_v3 is enabled -import sphinx - -if sphinx.version_info[:2] < (5, 3): - from sphinx.domains.c import CXRefRole - - original_run = CXRefRole.run - - def new_run(self): - if self.disabled: - return super(CXRefRole, self).run() - return original_run(self) - - CXRefRole.run = new_run diff --git a/Doc/extending/newtypes.rst b/Doc/extending/newtypes.rst index 1eef7f6e8eb9fb..5ba6383640cc73 100644 --- a/Doc/extending/newtypes.rst +++ b/Doc/extending/newtypes.rst @@ -208,7 +208,7 @@ a special case, for which the new value passed to the handler is ``NULL``. Python supports two pairs of attribute handlers; a type that supports attributes only needs to implement the functions for one pair. The difference is that one pair takes the name of the attribute as a :c:expr:`char\*`, while the other -accepts a :c:type:`PyObject\*`. Each type can use whichever pair makes more +accepts a :c:expr:`PyObject*`. Each type can use whichever pair makes more sense for the implementation's convenience. :: getattrfunc tp_getattr; /* char * version */ @@ -219,7 +219,7 @@ sense for the implementation's convenience. :: If accessing attributes of an object is always a simple operation (this will be explained shortly), there are generic implementations which can be used to -provide the :c:type:`PyObject\*` version of the attribute management functions. +provide the :c:expr:`PyObject*` version of the attribute management functions. The actual need for type-specific attribute handlers almost completely disappeared starting with Python 2.2, though there are many examples which have not been updated to use some of the new generic mechanism that is available. @@ -341,7 +341,7 @@ Type-specific Attribute Management For simplicity, only the :c:expr:`char\*` version will be demonstrated here; the type of the name parameter is the only difference between the :c:expr:`char\*` -and :c:type:`PyObject\*` flavors of the interface. This example effectively does +and :c:expr:`PyObject*` flavors of the interface. This example effectively does the same thing as the generic example above, but does not use the generic support added in Python 2.2. It explains how the handler functions are called, so that if you do need to extend their functionality, you'll understand @@ -572,7 +572,7 @@ performance-critical objects (such as numbers). For an object to be weakly referencable, the extension type must do two things: -#. Include a :c:type:`PyObject\*` field in the C object structure dedicated to +#. Include a :c:expr:`PyObject*` field in the C object structure dedicated to the weak reference mechanism. The object's constructor should leave it ``NULL`` (which is automatic when using the default :c:member:`~PyTypeObject.tp_alloc`). diff --git a/Doc/extending/newtypes_tutorial.rst b/Doc/extending/newtypes_tutorial.rst index 34c25d1f6f199c..5d4a3f06dd5402 100644 --- a/Doc/extending/newtypes_tutorial.rst +++ b/Doc/extending/newtypes_tutorial.rst @@ -24,7 +24,7 @@ The Basics ========== The :term:`CPython` runtime sees all Python objects as variables of type -:c:type:`PyObject\*`, which serves as a "base type" for all Python objects. +:c:expr:`PyObject*`, which serves as a "base type" for all Python objects. The :c:type:`PyObject` structure itself only contains the object's :term:`reference count` and a pointer to the object's "type object". This is where the action is; the type object determines which (C) functions diff --git a/Doc/howto/isolating-extensions.rst b/Doc/howto/isolating-extensions.rst index 8ee7e5e28479a5..2657b4ec6aaf9f 100644 --- a/Doc/howto/isolating-extensions.rst +++ b/Doc/howto/isolating-extensions.rst @@ -411,7 +411,7 @@ that subclass, which may be defined in different module than yours. pass For a method to get its "defining class", it must use the -:c:data:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS` +:data:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS` :c:type:`calling convention ` and the corresponding :c:type:`PyCMethod` signature:: diff --git a/Doc/requirements.txt b/Doc/requirements.txt index f8a7f9db144c21..be058733fcf4d7 100644 --- a/Doc/requirements.txt +++ b/Doc/requirements.txt @@ -7,7 +7,10 @@ sphinx==4.5.0 blurb -sphinx-lint<1 +# sphinx-lint 0.6.2 yields many default role errors due to the new regular +# expression used for default role detection, so we don't use the version +# until the errors are fixed. +sphinx-lint<1,!=0.6.2 # The theme used by the documentation is stored separately, so we need # to install that as well. diff --git a/Doc/whatsnew/2.2.rst b/Doc/whatsnew/2.2.rst index bfb2aacbc07747..39997661bb96c4 100644 --- a/Doc/whatsnew/2.2.rst +++ b/Doc/whatsnew/2.2.rst @@ -1102,7 +1102,7 @@ code, none of the changes described here will affect you very much. * A different argument parsing function, :c:func:`PyArg_UnpackTuple`, has been added that's simpler and presumably faster. Instead of specifying a format string, the caller simply gives the minimum and maximum number of arguments - expected, and a set of pointers to :c:type:`PyObject\*` variables that will be + expected, and a set of pointers to :c:expr:`PyObject*` variables that will be filled in with argument values. * Two new flags :const:`METH_NOARGS` and :const:`METH_O` are available in method diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst index 0aca2fe697ccdb..dcfaef6ed29494 100644 --- a/Doc/whatsnew/2.5.rst +++ b/Doc/whatsnew/2.5.rst @@ -1725,7 +1725,7 @@ attribute of the function object to change this:: ``ctypes.pythonapi`` object. This object does *not* release the global interpreter lock before calling a function, because the lock must be held when calling into the interpreter's code. There's a :class:`py_object()` type -constructor that will create a :c:type:`PyObject \*` pointer. A simple usage:: +constructor that will create a :c:expr:`PyObject *` pointer. A simple usage:: import ctypes From 1cd19f7ebfc2df2f4052e5dba0d548c4eb9caa45 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 12:06:49 -0700 Subject: [PATCH 152/494] [3.11] gh-94808: Coverage: Test that maximum indentation level is handled (GH-95926) (#97979) gh-94808: Coverage: Test that maximum indentation level is handled (GH-95926) * gh-94808: Coverage: Test that maximum indentation level is handled * Use "compile" rather than "exec" (cherry picked from commit 23e83a84651bbcf1f3778baf3ab0b4cbfead75e3) Co-authored-by: Michael Droettboom Co-authored-by: Michael Droettboom --- Lib/test/test_tokenize.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_tokenize.py b/Lib/test/test_tokenize.py index 1272e1e9be002e..47f2c06685bcaa 100644 --- a/Lib/test/test_tokenize.py +++ b/Lib/test/test_tokenize.py @@ -3,7 +3,7 @@ from tokenize import (tokenize, _tokenize, untokenize, NUMBER, NAME, OP, STRING, ENDMARKER, ENCODING, tok_name, detect_encoding, open as tokenize_open, Untokenizer, generate_tokens, - NEWLINE, _generate_tokens_from_c_tokenizer) + NEWLINE, _generate_tokens_from_c_tokenizer, DEDENT) from io import BytesIO, StringIO import unittest from textwrap import dedent @@ -2512,6 +2512,26 @@ def get_tokens(string): self.assertRaises(SyntaxError, get_tokens, "("*1000+"a"+")"*1000) self.assertRaises(SyntaxError, get_tokens, "]") + def test_max_indent(self): + MAXINDENT = 100 + + def generate_source(indents): + source = ''.join((' ' * x) + 'if True:\n' for x in range(indents)) + source += ' ' * indents + 'pass\n' + return source + + valid = generate_source(MAXINDENT - 1) + tokens = list(_generate_tokens_from_c_tokenizer(valid)) + self.assertEqual(tokens[-1].type, DEDENT) + compile(valid, "", "exec") + + invalid = generate_source(MAXINDENT) + tokens = list(_generate_tokens_from_c_tokenizer(invalid)) + self.assertEqual(tokens[-1].type, NEWLINE) + self.assertRaises( + IndentationError, compile, invalid, "", "exec" + ) + def test_continuation_lines_indentation(self): def get_tokens(string): return [(kind, string) for (kind, string, *_) in _generate_tokens_from_c_tokenizer(string)] From bd3dcb3549e9c1c26495bc3cc1a45197079bdcaf Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 12:09:50 -0700 Subject: [PATCH 153/494] [3.11] GH-88050: fix race in closing subprocess pipe in asyncio (GH-97951) (#97978) Check for None when iterating over `self._pipes.values()`. (cherry picked from commit e2e6b95c0342247ed1a761b6e149ac579a8722dd) Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> --- Lib/asyncio/base_subprocess.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Lib/asyncio/base_subprocess.py b/Lib/asyncio/base_subprocess.py index c2ca4a2792f666..e15bb4141fc02a 100644 --- a/Lib/asyncio/base_subprocess.py +++ b/Lib/asyncio/base_subprocess.py @@ -216,7 +216,9 @@ def _process_exited(self, returncode): self._proc.returncode = returncode self._call(self._protocol.process_exited) for p in self._pipes.values(): - p.pipe.close() + if p is not None: + p.pipe.close() + self._try_finish() async def _wait(self): From 60570303e419a2c9185f219fb3265e3ca2f14d9d Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 12:13:46 -0700 Subject: [PATCH 154/494] [3.11] gh-97897: Prevent os.mkfifo and os.mknod segfaults with macOS 13 SDK (GH-97944) (#97969) The macOS 13 SDK includes support for the `mkfifoat` and `mknodat` system calls. Using the `dir_fd` option with either `os.mkfifo` or `os.mknod` could result in a segfault if cpython is built with the macOS 13 SDK but run on an earlier version of macOS. Prevent this by adding runtime support for detection of these system calls ("weaklinking") as is done for other newer syscalls on macOS. (cherry picked from commit 6d0a0191a4e5477bd843e62c24d7f3bcad4fd5fc) Co-authored-by: Ned Deily --- Lib/test/test_posix.py | 22 +++++++ ...2-10-05-15-26-58.gh-issue-97897.Rf-C6u.rst | 6 ++ Modules/posixmodule.c | 60 ++++++++++++++++--- 3 files changed, 80 insertions(+), 8 deletions(-) create mode 100644 Misc/NEWS.d/next/macOS/2022-10-05-15-26-58.gh-issue-97897.Rf-C6u.rst diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index ae25ef55885dd6..e643d8e5a4ce63 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -2090,6 +2090,28 @@ def test_mkdir(self): with self.assertRaisesRegex(NotImplementedError, "dir_fd unavailable"): os.mkdir("dir", dir_fd=0) + def test_mkfifo(self): + self._verify_available("HAVE_MKFIFOAT") + if self.mac_ver >= (13, 0): + self.assertIn("HAVE_MKFIFOAT", posix._have_functions) + + else: + self.assertNotIn("HAVE_MKFIFOAT", posix._have_functions) + + with self.assertRaisesRegex(NotImplementedError, "dir_fd unavailable"): + os.mkfifo("path", dir_fd=0) + + def test_mknod(self): + self._verify_available("HAVE_MKNODAT") + if self.mac_ver >= (13, 0): + self.assertIn("HAVE_MKNODAT", posix._have_functions) + + else: + self.assertNotIn("HAVE_MKNODAT", posix._have_functions) + + with self.assertRaisesRegex(NotImplementedError, "dir_fd unavailable"): + os.mknod("path", dir_fd=0) + def test_rename_replace(self): self._verify_available("HAVE_RENAMEAT") if self.mac_ver >= (10, 10): diff --git a/Misc/NEWS.d/next/macOS/2022-10-05-15-26-58.gh-issue-97897.Rf-C6u.rst b/Misc/NEWS.d/next/macOS/2022-10-05-15-26-58.gh-issue-97897.Rf-C6u.rst new file mode 100644 index 00000000000000..0d21e98b37c5a3 --- /dev/null +++ b/Misc/NEWS.d/next/macOS/2022-10-05-15-26-58.gh-issue-97897.Rf-C6u.rst @@ -0,0 +1,6 @@ +The macOS 13 SDK includes support for the ``mkfifoat`` and ``mknodat`` system calls. +Using the ``dir_fd`` option with either :func:`os.mkfifo` or :func:`os.mknod` could result in a +segfault if cpython is built with the macOS 13 SDK but run on an earlier +version of macOS. Prevent this by adding runtime support for detection of +these system calls ("weaklinking") as is done for other newer syscalls on +macOS. diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 378032501f9e87..309982af824ccf 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -91,6 +91,8 @@ # define HAVE_FUTIMENS_RUNTIME __builtin_available(macOS 10.13, iOS 11.0, tvOS 11.0, watchOS 4.0, *) # define HAVE_UTIMENSAT_RUNTIME __builtin_available(macOS 10.13, iOS 11.0, tvOS 11.0, watchOS 4.0, *) # define HAVE_PWRITEV_RUNTIME __builtin_available(macOS 11.0, iOS 14.0, tvOS 14.0, watchOS 7.0, *) +# define HAVE_MKFIFOAT_RUNTIME __builtin_available(macOS 13.0, iOS 16.0, tvOS 16.0, watchOS 9.0, *) +# define HAVE_MKNODAT_RUNTIME __builtin_available(macOS 13.0, iOS 16.0, tvOS 16.0, watchOS 9.0, *) # define HAVE_POSIX_SPAWN_SETSID_RUNTIME __builtin_available(macOS 10.15, *) @@ -175,6 +177,8 @@ # define HAVE_FUTIMENS_RUNTIME 1 # define HAVE_UTIMENSAT_RUNTIME 1 # define HAVE_PWRITEV_RUNTIME 1 +# define HAVE_MKFIFOAT_RUNTIME 1 +# define HAVE_MKNODAT_RUNTIME 1 #endif @@ -10644,18 +10648,35 @@ os_mkfifo_impl(PyObject *module, path_t *path, int mode, int dir_fd) { int result; int async_err = 0; +#ifdef HAVE_MKFIFOAT + int mkfifoat_unavailable = 0; +#endif do { Py_BEGIN_ALLOW_THREADS #ifdef HAVE_MKFIFOAT - if (dir_fd != DEFAULT_DIR_FD) - result = mkfifoat(dir_fd, path->narrow, mode); - else + if (dir_fd != DEFAULT_DIR_FD) { + if (HAVE_MKFIFOAT_RUNTIME) { + result = mkfifoat(dir_fd, path->narrow, mode); + + } else { + mkfifoat_unavailable = 1; + result = 0; + } + } else #endif result = mkfifo(path->narrow, mode); Py_END_ALLOW_THREADS } while (result != 0 && errno == EINTR && !(async_err = PyErr_CheckSignals())); + +#ifdef HAVE_MKFIFOAT + if (mkfifoat_unavailable) { + argument_unavailable_error(NULL, "dir_fd"); + return NULL; + } +#endif + if (result != 0) return (!async_err) ? posix_error() : NULL; @@ -10696,18 +10717,33 @@ os_mknod_impl(PyObject *module, path_t *path, int mode, dev_t device, { int result; int async_err = 0; +#ifdef HAVE_MKNODAT + int mknodat_unavailable = 0; +#endif do { Py_BEGIN_ALLOW_THREADS #ifdef HAVE_MKNODAT - if (dir_fd != DEFAULT_DIR_FD) - result = mknodat(dir_fd, path->narrow, mode, device); - else + if (dir_fd != DEFAULT_DIR_FD) { + if (HAVE_MKNODAT_RUNTIME) { + result = mknodat(dir_fd, path->narrow, mode, device); + + } else { + mknodat_unavailable = 1; + result = 0; + } + } else #endif result = mknod(path->narrow, mode, device); Py_END_ALLOW_THREADS } while (result != 0 && errno == EINTR && !(async_err = PyErr_CheckSignals())); +#ifdef HAVE_MKNODAT + if (mknodat_unavailable) { + argument_unavailable_error(NULL, "dir_fd"); + return NULL; + } +#endif if (result != 0) return (!async_err) ? posix_error() : NULL; @@ -15576,6 +15612,14 @@ PROBE(probe_fdopendir, HAVE_FDOPENDIR_RUNTIME) PROBE(probe_mkdirat, HAVE_MKDIRAT_RUNTIME) #endif +#ifdef HAVE_MKFIFOAT +PROBE(probe_mkfifoat, HAVE_MKFIFOAT_RUNTIME) +#endif + +#ifdef HAVE_MKNODAT +PROBE(probe_mknodat, HAVE_MKNODAT_RUNTIME) +#endif + #ifdef HAVE_RENAMEAT PROBE(probe_renameat, HAVE_RENAMEAT_RUNTIME) #endif @@ -15709,11 +15753,11 @@ static const struct have_function { #endif #ifdef HAVE_MKFIFOAT - { "HAVE_MKFIFOAT", NULL }, + { "HAVE_MKFIFOAT", probe_mkfifoat }, #endif #ifdef HAVE_MKNODAT - { "HAVE_MKNODAT", NULL }, + { "HAVE_MKNODAT", probe_mknodat }, #endif #ifdef HAVE_OPENAT From 4aa2ebc01e63cf53c2c152eb4e0ea82bc932c3d5 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 12:32:39 -0700 Subject: [PATCH 155/494] gh-86482: Document assignment expression need for ()s (GH-23291) Co-authored-by: Jelle Zijlstra (cherry picked from commit 2b5f1360ead9aa72ae00de59edfd6c229d13933f) Co-authored-by: Terry Jan Reedy --- Doc/reference/expressions.rst | 7 +++++++ .../2020-11-15-02-08-43.bpo-42316.LqdkWK.rst | 1 + 2 files changed, 8 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index 6d23e473cdcd41..fd43e6c161f789 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -1755,6 +1755,13 @@ Or, when processing a file stream in chunks: while chunk := file.read(9000): process(chunk) +Assignment expressions must be surrounded by parentheses when used +as sub-expressions in slicing, conditional, lambda, +keyword-argument, and comprehension-if expressions +and in ``assert`` and ``with`` statements. +In all other places where they can be used, parentheses are not required, +including in ``if`` and ``while`` statements. + .. versionadded:: 3.8 See :pep:`572` for more details about assignment expressions. diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst b/Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst new file mode 100644 index 00000000000000..ea997800bf076e --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst @@ -0,0 +1 @@ +Document some places where an assignment expression needs parentheses. From 33cf0a604c111fc291dffaa0fb104336cb7d0add Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 13:03:32 -0700 Subject: [PATCH 156/494] gh-97943: PyFunction_GetAnnotations should return a borrowed reference. (GH-97949) (cherry picked from commit 6bfb0be80486c614cd60dce44c9fe7b3e6c76e3b) Co-authored-by: larryhastings --- .../2022-10-05-17-02-22.gh-issue-97943.LYAWlE.rst | 2 ++ Objects/funcobject.c | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-10-05-17-02-22.gh-issue-97943.LYAWlE.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-05-17-02-22.gh-issue-97943.LYAWlE.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-05-17-02-22.gh-issue-97943.LYAWlE.rst new file mode 100644 index 00000000000000..9b4a421a9d475a --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-05-17-02-22.gh-issue-97943.LYAWlE.rst @@ -0,0 +1,2 @@ +Bugfix: :func:`PyFunction_GetAnnotations` should return a borrowed +reference. It was returning a new reference. diff --git a/Objects/funcobject.c b/Objects/funcobject.c index 32b4155c03e6ae..63074634747fa2 100644 --- a/Objects/funcobject.c +++ b/Objects/funcobject.c @@ -300,7 +300,6 @@ func_get_annotation_dict(PyFunctionObject *op) } Py_SETREF(op->func_annotations, ann_dict); } - Py_INCREF(op->func_annotations); assert(PyDict_Check(op->func_annotations)); return op->func_annotations; } @@ -532,7 +531,11 @@ func_get_annotations(PyFunctionObject *op, void *Py_UNUSED(ignored)) if (op->func_annotations == NULL) return NULL; } - return func_get_annotation_dict(op); + PyObject *d = func_get_annotation_dict(op); + if (d) { + Py_INCREF(d); + } + return d; } static int From 930adfa503e93134551f0e32b5abcf580e6285a5 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Thu, 6 Oct 2022 13:47:33 -0700 Subject: [PATCH 157/494] [3.11] Backport effc25f 3.11 (#97991) * Add Pynche's move to the What's new in 3.11 (#97974) * Add Pynche's move to the What's new in 3.11 * Update Doc/whatsnew/3.11.rst Co-authored-by: Ezio Melotti Co-authored-by: Ezio Melotti (cherry picked from commit effc25f7f25ae1ac053415addc584b050c022dcb) * [3.11] Add Pynche's move to the What's new in 3.11 (GH-97974) * Add Pynche's move to the What's new in 3.11 * Update Doc/whatsnew/3.11.rst Co-authored-by: Ezio Melotti Co-authored-by: Ezio Melotti . (cherry picked from commit effc25f7f25ae1ac053415addc584b050c022dcb) Co-authored-by: Barry Warsaw --- Doc/whatsnew/3.11.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 1e8fb14b3cd4dd..24ee491d28e222 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -1682,6 +1682,9 @@ Removed (and corresponding ``EXPERIMENTAL_ISOLATED_SUBINTERPRETERS``) have been removed. +* Pynche --- The Pythonically Natural Color and Hue Editor --- has been moved out + of ``Tools/scripts`` and is `being developed independently + `_ from the Python source tree. Porting to Python 3.11 ====================== From cd05379a7dbabf17602eebdd4fab9e489fde7568 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 14:01:27 -0700 Subject: [PATCH 158/494] [3.11] Docs: pin sphinx-lint (GH-97992) (GH-97993) --- Doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/requirements.txt b/Doc/requirements.txt index be058733fcf4d7..960ac54d7b91ef 100644 --- a/Doc/requirements.txt +++ b/Doc/requirements.txt @@ -10,7 +10,7 @@ blurb # sphinx-lint 0.6.2 yields many default role errors due to the new regular # expression used for default role detection, so we don't use the version # until the errors are fixed. -sphinx-lint<1,!=0.6.2 +sphinx-lint==0.6.1 # The theme used by the documentation is stored separately, so we need # to install that as well. From ae2ab478205921cd2f006388c8300bc9272515f3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 14:10:06 -0700 Subject: [PATCH 159/494] [3.11] gh-97850: Remove the open issues section from the import reference (GH-97935) (GH-97994) Remove the open issues section from the import reference Tracking in https://github.com/python/cpython/issues/97850 instead. (cherry picked from commit f8edc6ff531bb98858185857513371f14519ed1d) Co-authored-by: Brett Cannon Automerge-Triggered-By: GH:brettcannon --- Doc/reference/import.rst | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/Doc/reference/import.rst b/Doc/reference/import.rst index 1e6b08f32a7aca..0d8c029550081c 100644 --- a/Doc/reference/import.rst +++ b/Doc/reference/import.rst @@ -1019,25 +1019,6 @@ and ``__main__.__spec__`` is set accordingly, they're still considered to populate the ``__main__`` namespace, and not during normal import. -Open issues -=========== - -XXX It would be really nice to have a diagram. - -XXX * (import_machinery.rst) how about a section devoted just to the -attributes of modules and packages, perhaps expanding upon or supplanting the -related entries in the data model reference page? - -XXX runpy, pkgutil, et al in the library manual should all get "See Also" -links at the top pointing to the new import system section. - -XXX Add more explanation regarding the different ways in which -``__main__`` is initialized? - -XXX Add more info on ``__main__`` quirks/pitfalls (i.e. copy from -:pep:`395`). - - References ========== From 89e9474327c372d84f465a6949d58a65f1e38719 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 17:36:39 -0700 Subject: [PATCH 160/494] [3.11] GH-97002: Prevent _PyInterpreterFrames from backing more than one PyFrameObject (GH-98002) (cherry picked from commit 21a2d9ff550977f2668e2cf1cc15793bf27fa109) --- Lib/test/test_frame.py | 65 +++++++++++++++++++ ...2-10-06-02-11-34.gh-issue-97002.Zvsk71.rst | 3 + Python/frame.c | 29 +++++++-- 3 files changed, 91 insertions(+), 6 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-10-06-02-11-34.gh-issue-97002.Zvsk71.rst diff --git a/Lib/test/test_frame.py b/Lib/test/test_frame.py index 5dda2fbfac374c..4b86a60d2f4c36 100644 --- a/Lib/test/test_frame.py +++ b/Lib/test/test_frame.py @@ -1,3 +1,4 @@ +import gc import re import sys import textwrap @@ -261,5 +262,69 @@ def gen(): """) assert_python_ok("-c", code) + @support.cpython_only + def test_sneaky_frame_object(self): + + def trace(frame, event, arg): + """ + Don't actually do anything, just force a frame object to be created. + """ + + def callback(phase, info): + """ + Yo dawg, I heard you like frames, so I'm allocating a frame while + you're allocating a frame, so you can have a frame while you have a + frame! + """ + nonlocal sneaky_frame_object + sneaky_frame_object = sys._getframe().f_back + # We're done here: + gc.callbacks.remove(callback) + + def f(): + while True: + yield + + old_threshold = gc.get_threshold() + old_callbacks = gc.callbacks[:] + old_enabled = gc.isenabled() + old_trace = sys.gettrace() + try: + # Stop the GC for a second while we set things up: + gc.disable() + # Create a paused generator: + g = f() + next(g) + # Move all objects to the oldest generation, and tell the GC to run + # on the *very next* allocation: + gc.collect() + gc.set_threshold(1, 0, 0) + # Okay, so here's the nightmare scenario: + # - We're tracing the resumption of a generator, which creates a new + # frame object. + # - The allocation of this frame object triggers a collection + # *before* the frame object is actually created. + # - During the collection, we request the exact same frame object. + # This test does it with a GC callback, but in real code it would + # likely be a trace function, weakref callback, or finalizer. + # - The collection finishes, and the original frame object is + # created. We now have two frame objects fighting over ownership + # of the same interpreter frame! + sys.settrace(trace) + gc.callbacks.append(callback) + sneaky_frame_object = None + gc.enable() + next(g) + # g.gi_frame should be the the frame object from the callback (the + # one that was *requested* second, but *created* first): + self.assertIs(g.gi_frame, sneaky_frame_object) + finally: + gc.set_threshold(*old_threshold) + gc.callbacks[:] = old_callbacks + sys.settrace(old_trace) + if old_enabled: + gc.enable() + + if __name__ == "__main__": unittest.main() diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-06-02-11-34.gh-issue-97002.Zvsk71.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-06-02-11-34.gh-issue-97002.Zvsk71.rst new file mode 100644 index 00000000000000..1f577e02e1fd8a --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-06-02-11-34.gh-issue-97002.Zvsk71.rst @@ -0,0 +1,3 @@ +Fix an issue where several frame objects could be backed by the same +interpreter frame, possibly leading to corrupted memory and hard crashes of +the interpreter. diff --git a/Python/frame.c b/Python/frame.c index 9f58c20d4fa25d..d8f2f801f38c72 100644 --- a/Python/frame.c +++ b/Python/frame.c @@ -35,14 +35,31 @@ _PyFrame_MakeAndSetFrameObject(_PyInterpreterFrame *frame) Py_XDECREF(error_type); Py_XDECREF(error_value); Py_XDECREF(error_traceback); + return NULL; } - else { - assert(frame->owner != FRAME_OWNED_BY_FRAME_OBJECT); - assert(frame->owner != FRAME_CLEARED); - f->f_frame = frame; - frame->frame_obj = f; - PyErr_Restore(error_type, error_value, error_traceback); + PyErr_Restore(error_type, error_value, error_traceback); + if (frame->frame_obj) { + // GH-97002: How did we get into this horrible situation? Most likely, + // allocating f triggered a GC collection, which ran some code that + // *also* created the same frame... while we were in the middle of + // creating it! See test_sneaky_frame_object in test_frame.py for a + // concrete example. + // + // Regardless, just throw f away and use that frame instead, since it's + // already been exposed to user code. It's actually a bit tricky to do + // this, since we aren't backed by a real _PyInterpreterFrame anymore. + // Just pretend that we have an owned, cleared frame so frame_dealloc + // doesn't make the situation worse: + f->f_frame = (_PyInterpreterFrame *)f->_f_frame_data; + f->f_frame->owner = FRAME_CLEARED; + f->f_frame->frame_obj = f; + Py_DECREF(f); + return frame->frame_obj; } + assert(frame->owner != FRAME_OWNED_BY_FRAME_OBJECT); + assert(frame->owner != FRAME_CLEARED); + f->f_frame = frame; + frame->frame_obj = f; return f; } From c9d0a7a6bc2f5d5521452790fb4885bb21deca15 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 17:56:24 -0700 Subject: [PATCH 161/494] [3.11] Remove extra spaces in custom openSSL documentation. (GH-93568) (#98007) Remove extra spaces in custom openSSL documentation. (GH-93568) (cherry picked from commit 4875433682ffec2694647ac43f1b21f5ad73fd25) Co-authored-by: Xiao Chen Co-authored-by: Xiao Chen --- Doc/using/unix.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Doc/using/unix.rst b/Doc/using/unix.rst index 3f9f1364c8ae87..061cfa5be88f29 100644 --- a/Doc/using/unix.rst +++ b/Doc/using/unix.rst @@ -158,16 +158,16 @@ Custom OpenSSL .. code-block:: shell-session $ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz - $ tar xzf openssl-VERSION - $ pushd openssl-VERSION - $ ./config \ - --prefix=/usr/local/custom-openssl \ - --libdir=lib \ - --openssldir=/etc/ssl - $ make -j1 depend - $ make -j8 - $ make install_sw - $ popd + $ tar xzf openssl-VERSION + $ pushd openssl-VERSION + $ ./config \ + --prefix=/usr/local/custom-openssl \ + --libdir=lib \ + --openssldir=/etc/ssl + $ make -j1 depend + $ make -j8 + $ make install_sw + $ popd 3. Build Python with custom OpenSSL (see the configure `--with-openssl` and `--with-openssl-rpath` options) From d163d5976dbb07ed7bc157260ab29452f940b567 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 18:50:25 -0700 Subject: [PATCH 162/494] GH-90985: Revert "Deprecate passing a message into cancel()" (GH-97999) Reason: we were too hasty in deprecating this. We shouldn't deprecate it before we have a replacement. (cherry picked from commit 09de8d7aafece264720afbca3052a63eee413b73) Co-authored-by: Guido van Rossum --- Doc/library/asyncio-future.rst | 10 ---- Doc/library/asyncio-task.rst | 6 +-- Lib/asyncio/futures.py | 6 --- Lib/asyncio/tasks.py | 5 -- Lib/test/test_asyncio/test_futures.py | 12 +---- Lib/test/test_asyncio/test_tasks.py | 54 +++---------------- ...2-10-06-23-42-00.gh-issue-90985.s280JY.rst | 1 + Modules/_asynciomodule.c | 20 ------- 8 files changed, 12 insertions(+), 102 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-10-06-23-42-00.gh-issue-90985.s280JY.rst diff --git a/Doc/library/asyncio-future.rst b/Doc/library/asyncio-future.rst index 8e60877f0e4c7d..70cec9b2f90248 100644 --- a/Doc/library/asyncio-future.rst +++ b/Doc/library/asyncio-future.rst @@ -197,11 +197,6 @@ Future Object .. versionchanged:: 3.9 Added the *msg* parameter. - .. deprecated-removed:: 3.11 3.14 - *msg* parameter is ambiguous when multiple :meth:`cancel` - are called with different cancellation messages. - The argument will be removed. - .. method:: exception() Return the exception that was set on this Future. @@ -282,8 +277,3 @@ the Future has a result:: - :meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :func:`concurrent.futures.cancel` does not. - - .. deprecated-removed:: 3.11 3.14 - *msg* parameter is ambiguous when multiple :meth:`cancel` - are called with different cancellation messages. - The argument will be removed. diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index ade969220ea701..c6b8716073feba 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -1137,10 +1137,8 @@ Task Object .. versionchanged:: 3.9 Added the *msg* parameter. - .. deprecated-removed:: 3.11 3.14 - *msg* parameter is ambiguous when multiple :meth:`cancel` - are called with different cancellation messages. - The argument will be removed. + .. versionchanged:: 3.11 + The ``msg`` parameter is propagated from cancelled task to its awaiter. .. _asyncio_example_task_cancel: diff --git a/Lib/asyncio/futures.py b/Lib/asyncio/futures.py index 39776e3c2cce48..3a6b44a0910869 100644 --- a/Lib/asyncio/futures.py +++ b/Lib/asyncio/futures.py @@ -8,7 +8,6 @@ import contextvars import logging import sys -import warnings from types import GenericAlias from . import base_futures @@ -151,11 +150,6 @@ def cancel(self, msg=None): change the future's state to cancelled, schedule the callbacks and return True. """ - if msg is not None: - warnings.warn("Passing 'msg' argument to Future.cancel() " - "is deprecated since Python 3.11, and " - "scheduled for removal in Python 3.14.", - DeprecationWarning, stacklevel=2) self.__log_traceback = False if self._state != _PENDING: return False diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index e48da0f2008829..3e07ce5294c8dd 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -207,11 +207,6 @@ def cancel(self, msg=None): This also increases the task's count of cancellation requests. """ - if msg is not None: - warnings.warn("Passing 'msg' argument to Task.cancel() " - "is deprecated since Python 3.11, and " - "scheduled for removal in Python 3.14.", - DeprecationWarning, stacklevel=2) self._log_traceback = False if self.done(): return False diff --git a/Lib/test/test_asyncio/test_futures.py b/Lib/test/test_asyncio/test_futures.py index c4c934f547b42a..f8fe2e76b6226a 100644 --- a/Lib/test/test_asyncio/test_futures.py +++ b/Lib/test/test_asyncio/test_futures.py @@ -228,22 +228,14 @@ def test_future_cancel_message_getter(self): self.assertTrue(hasattr(f, '_cancel_message')) self.assertEqual(f._cancel_message, None) - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - f.cancel('my message') + f.cancel('my message') with self.assertRaises(asyncio.CancelledError): self.loop.run_until_complete(f) self.assertEqual(f._cancel_message, 'my message') def test_future_cancel_message_setter(self): f = self._new_future(loop=self.loop) - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - f.cancel('my message') + f.cancel('my message') f._cancel_message = 'my new message' self.assertEqual(f._cancel_message, 'my new message') diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py index 1cc20609bebc4d..7585768073e6ab 100644 --- a/Lib/test/test_asyncio/test_tasks.py +++ b/Lib/test/test_asyncio/test_tasks.py @@ -113,11 +113,7 @@ async def coro(): self.assertTrue(hasattr(t, '_cancel_message')) self.assertEqual(t._cancel_message, None) - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - t.cancel('my message') + t.cancel('my message') self.assertEqual(t._cancel_message, 'my message') with self.assertRaises(asyncio.CancelledError) as cm: @@ -129,11 +125,7 @@ def test_task_cancel_message_setter(self): async def coro(): pass t = self.new_task(self.loop, coro()) - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - t.cancel('my message') + t.cancel('my message') t._cancel_message = 'my new message' self.assertEqual(t._cancel_message, 'my new message') @@ -710,14 +702,7 @@ async def sleep(): async def coro(): task = self.new_task(loop, sleep()) await asyncio.sleep(0) - if cancel_args not in ((), (None,)): - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - task.cancel(*cancel_args) - else: - task.cancel(*cancel_args) + task.cancel(*cancel_args) done, pending = await asyncio.wait([task]) task.result() @@ -751,14 +736,7 @@ async def sleep(): async def coro(): task = self.new_task(loop, sleep()) await asyncio.sleep(0) - if cancel_args not in ((), (None,)): - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - task.cancel(*cancel_args) - else: - task.cancel(*cancel_args) + task.cancel(*cancel_args) done, pending = await asyncio.wait([task]) task.exception() @@ -781,17 +759,10 @@ async def sleep(): fut.set_result(None) await asyncio.sleep(10) - def cancel(task, msg): - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - task.cancel(msg) - async def coro(): inner_task = self.new_task(loop, sleep()) await fut - loop.call_soon(cancel, inner_task, 'msg') + loop.call_soon(inner_task.cancel, 'msg') try: await inner_task except asyncio.CancelledError as ex: @@ -817,11 +788,7 @@ async def sleep(): async def coro(): task = self.new_task(loop, sleep()) # We deliberately leave out the sleep here. - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - task.cancel('my message') + task.cancel('my message') done, pending = await asyncio.wait([task]) task.exception() @@ -2183,14 +2150,7 @@ async def test(): async def main(): qwe = self.new_task(loop, test()) await asyncio.sleep(0.2) - if cancel_args not in ((), (None,)): - with self.assertWarnsRegex( - DeprecationWarning, - "Passing 'msg' argument" - ): - qwe.cancel(*cancel_args) - else: - qwe.cancel(*cancel_args) + qwe.cancel(*cancel_args) await qwe try: diff --git a/Misc/NEWS.d/next/Library/2022-10-06-23-42-00.gh-issue-90985.s280JY.rst b/Misc/NEWS.d/next/Library/2022-10-06-23-42-00.gh-issue-90985.s280JY.rst new file mode 100644 index 00000000000000..964aa3986331a2 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-10-06-23-42-00.gh-issue-90985.s280JY.rst @@ -0,0 +1 @@ +Earlier in 3.11 we deprecated ``asyncio.Task.cancel("message")``. We realized we were too harsh, and have undeprecated it. diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index 49f1ce33dc72d7..d503018ea6c3ec 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -1116,16 +1116,6 @@ static PyObject * _asyncio_Future_cancel_impl(FutureObj *self, PyObject *msg) /*[clinic end generated code: output=3edebbc668e5aba3 input=925eb545251f2c5a]*/ { - if (msg != Py_None) { - if (PyErr_WarnEx(PyExc_DeprecationWarning, - "Passing 'msg' argument to Future.cancel() " - "is deprecated since Python 3.11, and " - "scheduled for removal in Python 3.14.", - 2)) - { - return NULL; - } - } ENSURE_FUTURE_ALIVE(self) return future_cancel(self, msg); } @@ -2206,16 +2196,6 @@ static PyObject * _asyncio_Task_cancel_impl(TaskObj *self, PyObject *msg) /*[clinic end generated code: output=c66b60d41c74f9f1 input=7bb51bf25974c783]*/ { - if (msg != Py_None) { - if (PyErr_WarnEx(PyExc_DeprecationWarning, - "Passing 'msg' argument to Task.cancel() " - "is deprecated since Python 3.11, and " - "scheduled for removal in Python 3.14.", - 2)) - { - return NULL; - } - } self->task_log_tb = 0; if (self->task_state != STATE_PENDING) { From e39b511c2bfa98935e6ff81046d64d342fcff298 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 6 Oct 2022 21:50:56 -0700 Subject: [PATCH 163/494] fixes gh-96078: os.sched_yield release the GIL while calling sched_yield(2). (gh-97965) (cherry picked from commit b9d2e8171696514e9226164005f7bf24bf69e66d) Co-authored-by: Dong-hee Na --- .../2022-10-06-15-45-57.gh-issue-96078.fS-6mU.rst | 2 ++ Modules/posixmodule.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-10-06-15-45-57.gh-issue-96078.fS-6mU.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-06-15-45-57.gh-issue-96078.fS-6mU.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-06-15-45-57.gh-issue-96078.fS-6mU.rst new file mode 100644 index 00000000000000..d1f949c6e13adc --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-06-15-45-57.gh-issue-96078.fS-6mU.rst @@ -0,0 +1,2 @@ +:func:`os.sched_yield` now release the GIL while calling sched_yield(2). +Patch by Dong-hee Na. diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 309982af824ccf..4bebbbd06c19b9 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -7096,8 +7096,13 @@ static PyObject * os_sched_yield_impl(PyObject *module) /*[clinic end generated code: output=902323500f222cac input=e54d6f98189391d4]*/ { - if (sched_yield()) + int result; + Py_BEGIN_ALLOW_THREADS + result = sched_yield(); + Py_END_ALLOW_THREADS + if (result < 0) { return posix_error(); + } Py_RETURN_NONE; } From d7547fc6fbf3397095c1ea5a7ac1b51d22f3f10a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 01:46:31 -0700 Subject: [PATCH 164/494] Misc updates to the itertools recipes and tests (GH-98018) (cherry picked from commit e500cc04517bd65668f2e203c1e37b0cc5b1cf1b) Co-authored-by: Raymond Hettinger --- Doc/library/itertools.rst | 46 ++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 13fb80a29154f9..844972e5cd4ff1 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -775,10 +775,7 @@ which incur interpreter overhead. return sum(map(pred, iterable)) def pad_none(iterable): - """Returns the sequence elements and then returns None indefinitely. - - Useful for emulating the behavior of the built-in map() function. - """ + "Returns the sequence elements and then returns None indefinitely." return chain(iterable, repeat(None)) def ncycles(iterable, n): @@ -850,6 +847,13 @@ which incur interpreter overhead. else: raise ValueError('Expected fill, strict, or ignore') + def batched(iterable, n): + "Batch data into lists of length n. The last batch may be shorter." + # batched('ABCDEFG', 3) --> ABC DEF G + it = iter(iterable) + while (batch := list(islice(it, n))): + yield batch + def triplewise(iterable): "Return overlapping triplets from an iterable" # triplewise('ABCDEFG') --> ABC BCD CDE DEF EFG @@ -1168,8 +1172,8 @@ which incur interpreter overhead. >>> list(sieve(30)) [2, 3, 5, 7, 11, 13, 17, 19, 23, 29] - >>> small_primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59] - >>> all(list(sieve(n)) == [p for p in small_primes if p < n] for n in range(60)) + >>> small_primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] + >>> all(list(sieve(n)) == [p for p in small_primes if p < n] for n in range(101)) True >>> len(list(sieve(100))) 25 @@ -1212,6 +1216,36 @@ which incur interpreter overhead. >>> list(grouper('abcdefg', n=3, incomplete='ignore')) [('a', 'b', 'c'), ('d', 'e', 'f')] + >>> list(batched('ABCDEFG', 3)) + [['A', 'B', 'C'], ['D', 'E', 'F'], ['G']] + >>> list(batched('ABCDEF', 3)) + [['A', 'B', 'C'], ['D', 'E', 'F']] + >>> list(batched('ABCDE', 3)) + [['A', 'B', 'C'], ['D', 'E']] + >>> list(batched('ABCD', 3)) + [['A', 'B', 'C'], ['D']] + >>> list(batched('ABC', 3)) + [['A', 'B', 'C']] + >>> list(batched('AB', 3)) + [['A', 'B']] + >>> list(batched('A', 3)) + [['A']] + >>> list(batched('', 3)) + [] + >>> list(batched('ABCDEFG', 2)) + [['A', 'B'], ['C', 'D'], ['E', 'F'], ['G']] + >>> list(batched('ABCDEFG', 1)) + [['A'], ['B'], ['C'], ['D'], ['E'], ['F'], ['G']] + >>> list(batched('ABCDEFG', 0)) + [] + >>> list(batched('ABCDEFG', -1)) + Traceback (most recent call last): + ... + ValueError: Stop argument for islice() must be None or an integer: 0 <= x <= sys.maxsize. + >>> s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + >>> all(list(flatten(batched(s[:n], 5))) == list(s[:n]) for n in range(len(s))) + True + >>> list(triplewise('ABCDEFG')) [('A', 'B', 'C'), ('B', 'C', 'D'), ('C', 'D', 'E'), ('D', 'E', 'F'), ('E', 'F', 'G')] From 245ea1f5007735c2d6e28a84f23e294880e0dec4 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 07:10:46 -0700 Subject: [PATCH 165/494] gh-71316: Update dis documentation to include changes to jump arguments (GH-95798) (cherry picked from commit 6592a62ec2939323b895c85780da7fd73a640da3) Co-authored-by: Christopher Chianelli --- Doc/library/dis.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst index f7989ea43dacc3..d2925929c6c90e 100644 --- a/Doc/library/dis.rst +++ b/Doc/library/dis.rst @@ -30,6 +30,10 @@ interpreter. Use 2 bytes for each instruction. Previously the number of bytes varied by instruction. + .. versionchanged:: 3.10 + The argument of jump, exception handling and loop instructions is now + the instruction offset rather than the byte offset. + .. versionchanged:: 3.11 Some instructions are accompanied by one or more inline cache entries, which take the form of :opcode:`CACHE` instructions. These instructions From 69029bd2ca454b1b49d1974da2e47567833c55a5 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 10:55:26 -0700 Subject: [PATCH 166/494] Add note on capture_output arg to subprocess.run() docstring (GH-98012) add note on capture_output arg to the docstring (cherry picked from commit 80b3e32d6242c27094dd04c4c3d0c3d3b2889a01) Co-authored-by: andrei kulakov --- Lib/subprocess.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/subprocess.py b/Lib/subprocess.py index 760b93b47ebba6..9cadd1bf8e622c 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -509,7 +509,8 @@ def run(*popenargs, The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes - will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them. + will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, + or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code From 3dc8eb41bcd2eda2704037886172a35e0839b892 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 11:21:01 -0700 Subject: [PATCH 167/494] gh-64921: Clarify wording for open()'s newline arg (GH-96171) (cherry picked from commit 4a74e6ab3885e7906cc5e0b15addc7779bc76249) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/functions.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 26ee302d2eabc3..93c9f4ad2bc23a 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -1254,8 +1254,8 @@ are always available. They are listed here in alphabetical order. .. _open-newline-parameter: - *newline* controls how :term:`universal newlines` mode works (it only - applies to text mode). It can be ``None``, ``''``, ``'\n'``, ``'\r'``, and + *newline* determines how to parse newline characters from the stream. + It can be ``None``, ``''``, ``'\n'``, ``'\r'``, and ``'\r\n'``. It works as follows: * When reading input from the stream, if *newline* is ``None``, universal From a421c87b54facbbc223c7539172a5871e1a75edb Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 12:02:51 -0700 Subject: [PATCH 168/494] [3.11] gh-96959: Update HTTP links which are redirected to HTTPS (GH-98039) (#98049) (cherry picked from commit c81c64ca58822156beba79dfd3035bf2a5b7354e) Co-authored-by: 180909 <734461790@qq.com> --- Doc/faq/library.rst | 2 +- Doc/includes/tzinfo_examples.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst index f79cf485712274..a9cde456575020 100644 --- a/Doc/faq/library.rst +++ b/Doc/faq/library.rst @@ -609,7 +609,7 @@ use ``p.read(n)``. substituted for standard input and output. You will have to use pseudo ttys ("ptys") instead of pipes. Or you can use a Python interface to Don Libes' "expect" library. A Python extension that interfaces to expect is called - "expy" and available from http://expectpy.sourceforge.net. A pure Python + "expy" and available from https://expectpy.sourceforge.net. A pure Python solution that works like expect is `pexpect `_. diff --git a/Doc/includes/tzinfo_examples.py b/Doc/includes/tzinfo_examples.py index 9b9e32a553e7d8..1fa6e615e46a76 100644 --- a/Doc/includes/tzinfo_examples.py +++ b/Doc/includes/tzinfo_examples.py @@ -71,7 +71,7 @@ def first_sunday_on_or_after(dt): # DST start and end times. For a complete and up-to-date set of DST rules # and timezone definitions, visit the Olson Database (or try pytz): # http://www.twinsun.com/tz/tz-link.htm -# http://sourceforge.net/projects/pytz/ (might not be up-to-date) +# https://sourceforge.net/projects/pytz/ (might not be up-to-date) # # In the US, since 2007, DST starts at 2am (standard time) on the second # Sunday in March, which is the first Sunday on or after Mar 8. From 107ba927cf60d26c1f6302a8c953de5ed136dd35 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 12:56:16 -0700 Subject: [PATCH 169/494] GH-96073: Fix wild replacement in inspect.formatannotation (GH-96074) Co-authored-by: Jelle Zijlstra (cherry picked from commit d5fea01d9d439b1638cd8e5db19c33909841d86f) Co-authored-by: Anh71me --- Lib/inspect.py | 5 ++++- Lib/test/test_inspect.py | 7 +++++++ Lib/test/typinganndata/__init__.py | 0 Lib/test/typinganndata/ann_module9.py | 14 ++++++++++++++ .../2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst | 1 + 5 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 Lib/test/typinganndata/__init__.py create mode 100644 Lib/test/typinganndata/ann_module9.py create mode 100644 Misc/NEWS.d/next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst diff --git a/Lib/inspect.py b/Lib/inspect.py index cbc0632484b832..5f7574c194ff2b 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -1448,7 +1448,10 @@ def getargvalues(frame): def formatannotation(annotation, base_module=None): if getattr(annotation, '__module__', None) == 'typing': - return repr(annotation).replace('typing.', '') + def repl(match): + text = match.group() + return text.removeprefix('typing.') + return re.sub(r'[\w\.]+', repl, repr(annotation)) if isinstance(annotation, types.GenericAlias): return str(annotation) if isinstance(annotation, type): diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py index be9f29e04ae110..c030be77e80fb5 100644 --- a/Lib/test/test_inspect.py +++ b/Lib/test/test_inspect.py @@ -1421,6 +1421,13 @@ def wrapper(a, b): self.assertEqual(inspect.get_annotations(isa.MyClassWithLocalAnnotations, eval_str=True), {'x': int}) +class TestFormatAnnotation(unittest.TestCase): + def test_typing_replacement(self): + from test.typinganndata.ann_module9 import ann, ann1 + self.assertEqual(inspect.formatannotation(ann), 'Union[List[str], int]') + self.assertEqual(inspect.formatannotation(ann1), 'Union[List[testModule.typing.A], int]') + + class TestIsDataDescriptor(unittest.TestCase): def test_custom_descriptors(self): diff --git a/Lib/test/typinganndata/__init__.py b/Lib/test/typinganndata/__init__.py new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/Lib/test/typinganndata/ann_module9.py b/Lib/test/typinganndata/ann_module9.py new file mode 100644 index 00000000000000..952217393e1ff7 --- /dev/null +++ b/Lib/test/typinganndata/ann_module9.py @@ -0,0 +1,14 @@ +# Test ``inspect.formatannotation`` +# https://github.com/python/cpython/issues/96073 + +from typing import Union, List + +ann = Union[List[str], int] + +# mock typing._type_repr behaviour +class A: ... + +A.__module__ = 'testModule.typing' +A.__qualname__ = 'A' + +ann1 = Union[List[A], int] diff --git a/Misc/NEWS.d/next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst b/Misc/NEWS.d/next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst new file mode 100644 index 00000000000000..0e6dd8d360cbc9 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst @@ -0,0 +1 @@ +In :mod:`inspect`, fix overeager replacement of "`typing.`" in formatting annotations. From 0a84b7aa4d89c9af7fa10dcb9943490669da4db6 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 13:26:46 -0700 Subject: [PATCH 170/494] Add a warning message about PyOS_snprintf (GH-95993) (cherry picked from commit c7b220499662f0c7a4cae51e33372f92ca7b1ee9) Co-authored-by: Eric Wieser --- Doc/c-api/conversion.rst | 3 ++- Python/mysnprintf.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Doc/c-api/conversion.rst b/Doc/c-api/conversion.rst index 9b9c4ffa4d0343..fdb321fe7ab3f2 100644 --- a/Doc/c-api/conversion.rst +++ b/Doc/c-api/conversion.rst @@ -28,7 +28,8 @@ not. The wrappers ensure that ``str[size-1]`` is always ``'\0'`` upon return. They never write more than *size* bytes (including the trailing ``'\0'``) into str. Both functions require that ``str != NULL``, ``size > 0``, ``format != NULL`` -and ``size < INT_MAX``. +and ``size < INT_MAX``. Note that this means there is no equivalent to the C99 +``n = snprintf(NULL, 0, ...)`` which would determine the necessary buffer size. The return value (*rv*) for these functions should be interpreted as follows: diff --git a/Python/mysnprintf.c b/Python/mysnprintf.c index cd69198011e3c9..2a505d14f82c99 100644 --- a/Python/mysnprintf.c +++ b/Python/mysnprintf.c @@ -9,6 +9,7 @@ would have been written had the buffer not been too small, and to set the last byte of the buffer to \0. At least MS _vsnprintf returns a negative value instead, and fills the entire buffer with non-\0 data. + Unlike C99, our wrappers do not support passing a null buffer. The wrappers ensure that str[size-1] is always \0 upon return. From 40d5e89d3bbd92f7340c67ae5c60c28a2d11bde3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 13:53:15 -0700 Subject: [PATCH 171/494] [3.11] gh-91708: Revert params note in urllib.parse.urlparse table (GH-96699) (#98052) Revert params note in urllib.parse.urlparse table (cherry picked from commit eed80458e8e776d15fa862da71dcce58c47e2ca7) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/urllib.parse.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/library/urllib.parse.rst b/Doc/library/urllib.parse.rst index 1478b34bc95514..96b396510794b4 100644 --- a/Doc/library/urllib.parse.rst +++ b/Doc/library/urllib.parse.rst @@ -113,7 +113,8 @@ or on combining URL components into a URL string. +------------------+-------+-------------------------+------------------------+ | :attr:`path` | 2 | Hierarchical path | empty string | +------------------+-------+-------------------------+------------------------+ - | :attr:`params` | 3 | No longer used | always an empty string | + | :attr:`params` | 3 | Parameters for last | empty string | + | | | path element | | +------------------+-------+-------------------------+------------------------+ | :attr:`query` | 4 | Query component | empty string | +------------------+-------+-------------------------+------------------------+ From 9dea4e218f61b4c97db0099d70f9f59a93e9e371 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 15:39:54 -0700 Subject: [PATCH 172/494] gh-96073: fix backticks in NEWS entry (GH-98056) Automerge-Triggered-By: GH:JelleZijlstra (cherry picked from commit 0f111f53c1815766583ca9d5c06671ad89abcb77) Co-authored-by: Jelle Zijlstra --- .../next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst b/Misc/NEWS.d/next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst index 0e6dd8d360cbc9..8f20588c4c585e 100644 --- a/Misc/NEWS.d/next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst +++ b/Misc/NEWS.d/next/Library/2022-08-29-12-35-28.gh-issue-96073.WaGstf.rst @@ -1 +1 @@ -In :mod:`inspect`, fix overeager replacement of "`typing.`" in formatting annotations. +In :mod:`inspect`, fix overeager replacement of "``typing.``" in formatting annotations. From 17c9ce112fd80300afc446d1a67efefdf97faf68 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 16:05:52 -0700 Subject: [PATCH 173/494] gh-61105: Add default param, note on using cookiejar subclass (GH-95427) (cherry picked from commit 5eaf4d610147a3b9adc91a55790096d05bbe01d4) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/http.cookiejar.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Doc/library/http.cookiejar.rst b/Doc/library/http.cookiejar.rst index eb31315438f66a..87ef156a0bed57 100644 --- a/Doc/library/http.cookiejar.rst +++ b/Doc/library/http.cookiejar.rst @@ -61,7 +61,7 @@ The following classes are provided: responsible for storing and retrieving cookies from a file or database. -.. class:: FileCookieJar(filename, delayload=None, policy=None) +.. class:: FileCookieJar(filename=None, delayload=None, policy=None) *policy* is an object implementing the :class:`CookiePolicy` interface. For the other arguments, see the documentation for the corresponding attributes. @@ -71,6 +71,8 @@ The following classes are provided: :meth:`load` or :meth:`revert` method is called. Subclasses of this class are documented in section :ref:`file-cookie-jar-classes`. + This should not be initialized directly – use its subclasses below instead. + .. versionchanged:: 3.8 The filename parameter supports a :term:`path-like object`. @@ -317,7 +319,7 @@ FileCookieJar subclasses and co-operation with web browsers The following :class:`CookieJar` subclasses are provided for reading and writing. -.. class:: MozillaCookieJar(filename, delayload=None, policy=None) +.. class:: MozillaCookieJar(filename=None, delayload=None, policy=None) A :class:`FileCookieJar` that can load from and save cookies to disk in the Mozilla ``cookies.txt`` file format (which is also used by curl and the Lynx @@ -338,7 +340,7 @@ writing. Mozilla. -.. class:: LWPCookieJar(filename, delayload=None, policy=None) +.. class:: LWPCookieJar(filename=None, delayload=None, policy=None) A :class:`FileCookieJar` that can load from and save cookies to disk in format compatible with the libwww-perl library's ``Set-Cookie3`` file format. This is From c2f21af42a50b36e0ef2fce9caaf3a36e946431c Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 16:45:53 -0700 Subject: [PATCH 174/494] gh-65496: Correct wording on csv's skipinitialspace argument (GH-96170) (cherry picked from commit 676d8ef3806758bcd1d3fd84a746c8a9b64480d0) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/csv.rst | 2 +- Lib/test/test_csv.py | 5 +++++ Modules/_csv.c | 8 ++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Doc/library/csv.rst b/Doc/library/csv.rst index 9dec7240d9c50f..f7e85f2baa73e8 100644 --- a/Doc/library/csv.rst +++ b/Doc/library/csv.rst @@ -416,7 +416,7 @@ Dialects support the following attributes: .. attribute:: Dialect.skipinitialspace - When :const:`True`, whitespace immediately following the *delimiter* is ignored. + When :const:`True`, spaces immediately following the *delimiter* are ignored. The default is :const:`False`. diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py index ff2a668c422ffe..834217bf6030dc 100644 --- a/Lib/test/test_csv.py +++ b/Lib/test/test_csv.py @@ -362,6 +362,11 @@ def test_read_quoting(self): self._read_test(['1,@,3,@,5'], [['1', ',3,', '5']], quotechar='@') self._read_test(['1,\0,3,\0,5'], [['1', ',3,', '5']], quotechar='\0') + def test_read_skipinitialspace(self): + self._read_test(['no space, space, spaces,\ttab'], + [['no space', 'space', 'spaces', '\ttab']], + skipinitialspace=True) + def test_read_bigfield(self): # This exercises the buffer realloc functionality and field size # limits. diff --git a/Modules/_csv.c b/Modules/_csv.c index cbf4c5de51968e..7519da6807fe3e 100644 --- a/Modules/_csv.c +++ b/Modules/_csv.c @@ -704,7 +704,7 @@ parse_process_char(ReaderObj *self, _csvstate *module_state, Py_UCS4 c) self->state = ESCAPED_CHAR; } else if (c == ' ' && dialect->skipinitialspace) - /* ignore space at start of field */ + /* ignore spaces at start of field */ ; else if (c == dialect->delimiter) { /* save empty field */ @@ -1647,9 +1647,9 @@ PyDoc_STRVAR(csv_module_doc, " quoting character. It defaults to '\"'.\n" " * delimiter - specifies a one-character string to use as the\n" " field separator. It defaults to ','.\n" -" * skipinitialspace - specifies how to interpret whitespace which\n" -" immediately follows a delimiter. It defaults to False, which\n" -" means that whitespace immediately following a delimiter is part\n" +" * skipinitialspace - specifies how to interpret spaces which\n" +" immediately follow a delimiter. It defaults to False, which\n" +" means that spaces immediately following a delimiter is part\n" " of the following field.\n" " * lineterminator - specifies the character sequence which should\n" " terminate rows.\n" From 46aa5d2c2dc60da50291dfdfc00126b14cd92676 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 17:09:53 -0700 Subject: [PATCH 175/494] [3.11] gh-94808: Cover `%p` in `PyUnicode_FromFormat` (GH-96677) (#98033) Co-authored-by: Nikita Sobolev Co-authored-by: Jelle Zijlstra (cherry picked from commit 72c166add89a0cd992d66f75ce94eee5eb675a99) --- Lib/test/test_unicode.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index 90bd75f550dff6..9b0e4b230506a8 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -2809,6 +2809,25 @@ def check_format(expected, format, *args): check_format('repr=abc', b'repr=%V', 'abc', b'xyz') + # test %p + # We cannot test the exact result, + # because it returns a hex representation of a C pointer, + # which is going to be different each time. But, we can test the format. + p_format_regex = r'^0x[a-zA-Z0-9]{3,}$' + p_format1 = PyUnicode_FromFormat(b'%p', 'abc') + self.assertIsInstance(p_format1, str) + self.assertRegex(p_format1, p_format_regex) + + p_format2 = PyUnicode_FromFormat(b'%p %p', '123456', b'xyz') + self.assertIsInstance(p_format2, str) + self.assertRegex(p_format2, + r'0x[a-zA-Z0-9]{3,} 0x[a-zA-Z0-9]{3,}') + + # Extra args are ignored: + p_format3 = PyUnicode_FromFormat(b'%p', '123456', None, b'xyz') + self.assertIsInstance(p_format3, str) + self.assertRegex(p_format3, p_format_regex) + # Test string decode from parameter of %s using utf-8. # b'\xe4\xba\xba\xe6\xb0\x91' is utf-8 encoded byte sequence of # '\u4eba\u6c11' From 8d6591b593e05e9d00f74f444b3c040905450548 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 20:00:04 -0700 Subject: [PATCH 176/494] gh-57179: Add note on symlinks for os.walk (GH-94799) (cherry picked from commit 0f498f1a95306995ca1e287f552c5c3d856be02d) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/os.rst | 3 ++- Lib/os.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Doc/library/os.rst b/Doc/library/os.rst index fbfeeb2d7e1f18..83377916691069 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -3208,7 +3208,8 @@ features: filenames)``. *dirpath* is a string, the path to the directory. *dirnames* is a list of the - names of the subdirectories in *dirpath* (excluding ``'.'`` and ``'..'``). + names of the subdirectories in *dirpath* (including symlinks to directories, + and excluding ``'.'`` and ``'..'``). *filenames* is a list of the names of the non-directory files in *dirpath*. Note that the names in the lists contain no path components. To get a full path (which begins with *top*) to a file or directory in *dirpath*, do diff --git a/Lib/os.py b/Lib/os.py index 648188e0f13490..fd1e774fdcbcfa 100644 --- a/Lib/os.py +++ b/Lib/os.py @@ -288,7 +288,8 @@ def walk(top, topdown=True, onerror=None, followlinks=False): dirpath, dirnames, filenames dirpath is a string, the path to the directory. dirnames is a list of - the names of the subdirectories in dirpath (excluding '.' and '..'). + the names of the subdirectories in dirpath (including symlinks to directories, + and excluding '.' and '..'). filenames is a list of the names of the non-directory files in dirpath. Note that the names in the lists are just names, with no path components. To get a full path (which begins with top) to a file or directory in From 52dab90500abe30eedfb908ee3881a68b8bd2c17 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Fri, 7 Oct 2022 20:59:18 -0700 Subject: [PATCH 177/494] [3.11] gh-96073: Fix installed tests by adding to Makefile.pre.in (#98071) [3.11] Fix installed tests by adding to Makefile.pre.in This was broken in #98045 but already fixed on main. --- Makefile.pre.in | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.pre.in b/Makefile.pre.in index d23976ff80fbbb..e837a64a3c7c5b 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -2004,6 +2004,7 @@ TESTSUBDIRS= ctypes/test \ test/test_warnings test/test_warnings/data \ test/test_zoneinfo test/test_zoneinfo/data \ test/tracedmodules \ + test/typinganndata \ test/xmltestdata test/xmltestdata/c14n-20 \ test/ziptestdata \ tkinter/test tkinter/test/test_tkinter \ From 15732114b8a110668baf982e00ffb26081a8bac9 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Fri, 7 Oct 2022 21:00:00 -0700 Subject: [PATCH 178/494] [3.11] gh-96288: Add a sentence to `os.mkdir`'s docstring. (GH-96271). (#98065) (cherry picked from commit 1523c9e9d47e7d67e4889987ff0f38eb7b881fdd) Co-authored-by: Hagai Helman Tov --- Modules/clinic/posixmodule.c.h | 5 +++-- Modules/posixmodule.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index e636f8b94ff7fe..b66cd857e44963 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1360,7 +1360,8 @@ PyDoc_STRVAR(os_mkdir__doc__, "dir_fd may not be implemented on your platform.\n" " If it is unavailable, using it will raise a NotImplementedError.\n" "\n" -"The mode argument is ignored on Windows."); +"The mode argument is ignored on Windows. Where it is used, the current umask\n" +"value is first masked out."); #define OS_MKDIR_METHODDEF \ {"mkdir", _PyCFunction_CAST(os_mkdir), METH_FASTCALL|METH_KEYWORDS, os_mkdir__doc__}, @@ -9378,4 +9379,4 @@ os_waitstatus_to_exitcode(PyObject *module, PyObject *const *args, Py_ssize_t na #ifndef OS_WAITSTATUS_TO_EXITCODE_METHODDEF #define OS_WAITSTATUS_TO_EXITCODE_METHODDEF #endif /* !defined(OS_WAITSTATUS_TO_EXITCODE_METHODDEF) */ -/*[clinic end generated code: output=836be9d51f01140e input=a9049054013a1b77]*/ +/*[clinic end generated code: output=8dd784bf1e41b881 input=a9049054013a1b77]*/ diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 4bebbbd06c19b9..a45179f6a1fafc 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4560,12 +4560,13 @@ If dir_fd is not None, it should be a file descriptor open to a directory, dir_fd may not be implemented on your platform. If it is unavailable, using it will raise a NotImplementedError. -The mode argument is ignored on Windows. +The mode argument is ignored on Windows. Where it is used, the current umask +value is first masked out. [clinic start generated code]*/ static PyObject * os_mkdir_impl(PyObject *module, path_t *path, int mode, int dir_fd) -/*[clinic end generated code: output=a70446903abe821f input=e965f68377e9b1ce]*/ +/*[clinic end generated code: output=a70446903abe821f input=a61722e1576fab03]*/ { int result; #ifdef HAVE_MKDIRAT From 72a23d8f0641fc30b3182000a91a546f8b24ea31 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 21:24:02 -0700 Subject: [PATCH 179/494] gh-92886: make test_coroutines pass with -O (assertions off) (GH-98060) Automerge-Triggered-By: GH:iritkatriel (cherry picked from commit 45f21472daad3934baf364c3100063ecc51c6e04) Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> --- Lib/test/test_coroutines.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_coroutines.py b/Lib/test/test_coroutines.py index 8fff2d47c10fd5..a15736e9f94553 100644 --- a/Lib/test/test_coroutines.py +++ b/Lib/test/test_coroutines.py @@ -1280,7 +1280,7 @@ async def __aexit__(self, *exc): async def func(): async with CM(): - assert (1, ) == 1 + self.assertEqual((1, ), 1) with self.assertRaises(AssertionError): run_async(func()) From e4937926122a3b12b0b747a727424271e6c30bd5 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 22:02:38 -0700 Subject: [PATCH 180/494] gh-92886: make test_ast pass with -O (assertions off) (GH-98058) -O does not strip docstrings. Automerge-Triggered-By: GH:iritkatriel (cherry picked from commit 27ce45d8e105d0c9f9286c3cab830590d4c7cea3) Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> --- Lib/test/test_dis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_dis.py b/Lib/test/test_dis.py index 6d16021a612051..6a0a2d92796703 100644 --- a/Lib/test/test_dis.py +++ b/Lib/test/test_dis.py @@ -1076,7 +1076,7 @@ def get_disassembly(self, func, lasti=-1, wrapper=True, **kwargs): return output.getvalue() -if sys.flags.optimize: +if dis.code_info.__doc__ is None: code_info_consts = "0: None" else: code_info_consts = "0: 'Formatted details of methods, functions, or code.'" From b5196faff3588ef374b7ee68d803d1727237727d Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Oct 2022 22:07:06 -0700 Subject: [PATCH 181/494] gh-97822: Fix http.server documentation reference to test() function (GH-98027) Co-authored-by: Jelle Zijlstra (cherry picked from commit 6b485629d2e3e232460db7da3f8b18b67d4f4da8) Co-authored-by: JasonYZ --- Doc/library/http.server.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/library/http.server.rst b/Doc/library/http.server.rst index 48f952daae12f5..81b6bf5373b495 100644 --- a/Doc/library/http.server.rst +++ b/Doc/library/http.server.rst @@ -392,8 +392,8 @@ provides three different variants: contents of the file are output. If the file's MIME type starts with ``text/`` the file is opened in text mode; otherwise binary mode is used. - For example usage, see the implementation of the :func:`test` function - invocation in the :mod:`http.server` module. + For example usage, see the implementation of the ``test`` function + in :source:`Lib/http/server.py`. .. versionchanged:: 3.7 Support of the ``'If-Modified-Since'`` header. From 9828ccb63bb53311381d8ee08ef447d0048e4189 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 8 Oct 2022 00:01:27 -0700 Subject: [PATCH 182/494] gh-97913 Docs: Add walrus operator to the index (GH-97921) * Add walrus operator to the index * Add named expression to the index Co-authored-by: Mariatta Wijaya * Fix indentation and add missing newline Co-authored-by: Ezio Melotti Co-authored-by: Mariatta Wijaya Co-authored-by: Ezio Melotti (cherry picked from commit 296313002fde56f52d6c81f17d7ba5c2eb57d098) Co-authored-by: Hugo van Kemenade --- Doc/reference/expressions.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index fd43e6c161f789..6b5e0e1628f143 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -1730,6 +1730,12 @@ returns a boolean value regardless of the type of its argument (for example, ``not 'foo'`` produces ``False`` rather than ``''``.) +.. index:: + single: := (colon equals) + single: assignment expression + single: walrus operator + single: named expression + Assignment expressions ====================== From bdc108772495e67c3add0d742169e0df4effadb2 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 8 Oct 2022 01:01:42 -0700 Subject: [PATCH 183/494] Add `@ezio-melotti` as codeowner for `.github/`. (GH-98079) (cherry picked from commit 531ffaa7cdc58c5df2abe505803394dbd5293602) Co-authored-by: Ezio Melotti --- .github/CODEOWNERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0aea3983fa600d..227fd2bc7702d1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -4,6 +4,9 @@ # It uses the same pattern rule for gitignore file # https://git-scm.com/docs/gitignore#_pattern_format +# GitHub +.github/** @ezio-melotti + # asyncio **/*asyncio* @1st1 @asvetlov From f6e50b82f68f48323fcee5800396760e4f7833af Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sat, 8 Oct 2022 22:22:26 +0300 Subject: [PATCH 184/494] [3.11] Add more syslog tests (GH-97953). (GH-98096) (cherry picked from commit cae7d1d7a713f8267daf5e4f2fff5cb1dad02c7c) --- Lib/test/audit-tests.py | 21 ++++++++++++++++ Lib/test/test_audit.py | 25 ++++++++++++++++++ Lib/test/test_syslog.py | 56 ++++++++++++++++++++++++++++++++++++----- Modules/syslogmodule.c | 2 +- 4 files changed, 97 insertions(+), 7 deletions(-) diff --git a/Lib/test/audit-tests.py b/Lib/test/audit-tests.py index 00333cc9036a3c..fea2f217749484 100644 --- a/Lib/test/audit-tests.py +++ b/Lib/test/audit-tests.py @@ -419,6 +419,27 @@ def hook(event, args): sys._getframe() +def test_syslog(): + import syslog + + def hook(event, args): + if event.startswith("syslog."): + print(event, *args) + + sys.addaudithook(hook) + syslog.openlog('python') + syslog.syslog('test') + syslog.setlogmask(syslog.LOG_DEBUG) + syslog.closelog() + # implicit open + syslog.syslog('test2') + # open with default ident + syslog.openlog(logoption=syslog.LOG_NDELAY, facility=syslog.LOG_LOCAL0) + sys.argv = None + syslog.openlog() + syslog.closelog() + + if __name__ == "__main__": from test.support import suppress_msvcrt_asserts diff --git a/Lib/test/test_audit.py b/Lib/test/test_audit.py index 18426f27a2e32f..7cfb1d0d44f71d 100644 --- a/Lib/test/test_audit.py +++ b/Lib/test/test_audit.py @@ -16,6 +16,7 @@ class AuditTest(unittest.TestCase): + maxDiff = None @support.requires_subprocess() def do_test(self, *args): @@ -185,5 +186,29 @@ def test_sys_getframe(self): self.assertEqual(actual, expected) + def test_syslog(self): + syslog = import_helper.import_module("syslog") + + returncode, events, stderr = self.run_python("test_syslog") + if returncode: + self.fail(stderr) + + if support.verbose: + print('Events:', *events, sep='\n ') + + self.assertSequenceEqual( + events, + [('syslog.openlog', ' ', f'python 0 {syslog.LOG_USER}'), + ('syslog.syslog', ' ', f'{syslog.LOG_INFO} test'), + ('syslog.setlogmask', ' ', f'{syslog.LOG_DEBUG}'), + ('syslog.closelog', '', ''), + ('syslog.syslog', ' ', f'{syslog.LOG_INFO} test2'), + ('syslog.openlog', ' ', f'audit-tests.py 0 {syslog.LOG_USER}'), + ('syslog.openlog', ' ', f'audit-tests.py {syslog.LOG_NDELAY} {syslog.LOG_LOCAL0}'), + ('syslog.openlog', ' ', f'None 0 {syslog.LOG_USER}'), + ('syslog.closelog', '', '')] + ) + + if __name__ == "__main__": unittest.main() diff --git a/Lib/test/test_syslog.py b/Lib/test/test_syslog.py index fe09bd39f8b7fd..2125ec58d87e03 100644 --- a/Lib/test/test_syslog.py +++ b/Lib/test/test_syslog.py @@ -1,5 +1,9 @@ -from test.support import import_helper +from test.support import import_helper, threading_helper syslog = import_helper.import_module("syslog") #skip if not supported +from test import support +import sys +import threading +import time import unittest # XXX(nnorwitz): This test sucks. I don't know of a platform independent way @@ -8,6 +12,9 @@ class Test(unittest.TestCase): + def tearDown(self): + syslog.closelog() + def test_openlog(self): syslog.openlog('python') # Issue #6697. @@ -18,22 +25,59 @@ def test_syslog(self): syslog.syslog('test message from python test_syslog') syslog.syslog(syslog.LOG_ERR, 'test error from python test_syslog') + def test_syslog_implicit_open(self): + syslog.closelog() # Make sure log is closed + syslog.syslog('test message from python test_syslog') + syslog.syslog(syslog.LOG_ERR, 'test error from python test_syslog') + def test_closelog(self): syslog.openlog('python') syslog.closelog() + syslog.closelog() # idempotent operation def test_setlogmask(self): - syslog.setlogmask(syslog.LOG_DEBUG) + mask = syslog.LOG_UPTO(syslog.LOG_WARNING) + oldmask = syslog.setlogmask(mask) + self.assertEqual(syslog.setlogmask(0), mask) + self.assertEqual(syslog.setlogmask(oldmask), mask) def test_log_mask(self): - syslog.LOG_MASK(syslog.LOG_INFO) - - def test_log_upto(self): - syslog.LOG_UPTO(syslog.LOG_INFO) + mask = syslog.LOG_UPTO(syslog.LOG_WARNING) + self.assertTrue(mask & syslog.LOG_MASK(syslog.LOG_WARNING)) + self.assertTrue(mask & syslog.LOG_MASK(syslog.LOG_ERR)) + self.assertFalse(mask & syslog.LOG_MASK(syslog.LOG_INFO)) def test_openlog_noargs(self): syslog.openlog() syslog.syslog('test message from python test_syslog') + @threading_helper.requires_working_threading() + def test_syslog_threaded(self): + start = threading.Event() + stop = False + def opener(): + start.wait(10) + i = 1 + while not stop: + syslog.openlog(f'python-test-{i}') # new string object + i += 1 + def logger(): + start.wait(10) + while not stop: + syslog.syslog('test message from python test_syslog') + + orig_si = sys.getswitchinterval() + support.setswitchinterval(1e-9) + try: + threads = [threading.Thread(target=opener)] + threads += [threading.Thread(target=logger) for k in range(10)] + with threading_helper.start_threads(threads): + start.set() + time.sleep(0.1) + stop = True + finally: + sys.setswitchinterval(orig_si) + + if __name__ == "__main__": unittest.main() diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c index c409fe968f8894..1593eea94a62bf 100644 --- a/Modules/syslogmodule.c +++ b/Modules/syslogmodule.c @@ -235,7 +235,7 @@ syslog_setlogmask(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "l;mask for priority", &maskpri)) return NULL; - if (PySys_Audit("syslog.setlogmask", "(O)", args ? args : Py_None) < 0) { + if (PySys_Audit("syslog.setlogmask", "l", maskpri) < 0) { return NULL; } omaskpri = setlogmask(maskpri); From afed44897804019f2601de2cf63d79be5d071d0e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 8 Oct 2022 15:19:48 -0700 Subject: [PATCH 185/494] Fix link to Lifecycle of a Pull Request in CONTRIBUTING (GH-98102) * Fix link to Lifecycle of a Pull Request in CONTRIBUTING * Remove trailing backslash. Co-authored-by: Ezio Melotti (cherry picked from commit 3378ebb933b00e1b95f1112511aa2cfb597a4ebf) Co-authored-by: Jacob Walls --- .github/CONTRIBUTING.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.rst b/.github/CONTRIBUTING.rst index 627f57070d200b..f4affee76e1d44 100644 --- a/.github/CONTRIBUTING.rst +++ b/.github/CONTRIBUTING.rst @@ -38,7 +38,7 @@ also suggestions on how you can most effectively help the project. Please be aware that our workflow does deviate slightly from the typical GitHub project. Details on how to properly submit a pull request are covered in -`Lifecycle of a Pull Request `_. +`Lifecycle of a Pull Request `_. We utilize various bots and status checks to help with this, so do follow the comments they leave and their "Details" links, respectively. The key points of our workflow that are not covered by a bot or status check are: From 6554598236a8267c9ab9cb6802a9e99e68f3c750 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 8 Oct 2022 19:03:25 -0700 Subject: [PATCH 186/494] Minor edits to the Descriptor HowTo Guide (GH-24901) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Raymond Hettinger (cherry picked from commit 2d2e01aa4cb72db8dabcd04e87f1e60b3597267e) Co-authored-by: Géry Ogam --- Doc/howto/descriptor.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Doc/howto/descriptor.rst b/Doc/howto/descriptor.rst index 91a6c31c33b8bd..74710d9b3fc2ed 100644 --- a/Doc/howto/descriptor.rst +++ b/Doc/howto/descriptor.rst @@ -847,7 +847,7 @@ afterwards, :meth:`__set_name__` will need to be called manually. ORM example ----------- -The following code is simplified skeleton showing how data descriptors could +The following code is a simplified skeleton showing how data descriptors could be used to implement an `object relational mapping `_. @@ -1535,6 +1535,8 @@ by member descriptors: def __get__(self, obj, objtype=None): 'Emulate member_get() in Objects/descrobject.c' # Also see PyMember_GetOne() in Python/structmember.c + if obj is None: + return self value = obj._slotvalues[self.offset] if value is null: raise AttributeError(self.name) @@ -1563,13 +1565,13 @@ variables: class Type(type): 'Simulate how the type metaclass adds member objects for slots' - def __new__(mcls, clsname, bases, mapping): + def __new__(mcls, clsname, bases, mapping, **kwargs): 'Emulate type_new() in Objects/typeobject.c' # type_new() calls PyTypeReady() which calls add_methods() slot_names = mapping.get('slot_names', []) for offset, name in enumerate(slot_names): mapping[name] = Member(name, clsname, offset) - return type.__new__(mcls, clsname, bases, mapping) + return type.__new__(mcls, clsname, bases, mapping, **kwargs) The :meth:`object.__new__` method takes care of creating instances that have slots instead of an instance dictionary. Here is a rough simulation in pure @@ -1580,7 +1582,7 @@ Python: class Object: 'Simulate how object.__new__() allocates memory for __slots__' - def __new__(cls, *args): + def __new__(cls, *args, **kwargs): 'Emulate object_new() in Objects/typeobject.c' inst = super().__new__(cls) if hasattr(cls, 'slot_names'): @@ -1593,7 +1595,7 @@ Python: cls = type(self) if hasattr(cls, 'slot_names') and name not in cls.slot_names: raise AttributeError( - f'{type(self).__name__!r} object has no attribute {name!r}' + f'{cls.__name__!r} object has no attribute {name!r}' ) super().__setattr__(name, value) @@ -1602,7 +1604,7 @@ Python: cls = type(self) if hasattr(cls, 'slot_names') and name not in cls.slot_names: raise AttributeError( - f'{type(self).__name__!r} object has no attribute {name!r}' + f'{cls.__name__!r} object has no attribute {name!r}' ) super().__delattr__(name) From 6211bb2cf876a05c7b77239d4af39039b0459b8e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 9 Oct 2022 18:02:00 -0700 Subject: [PATCH 187/494] gh-56133: copyreg docs: Clarify function/constructor parameter (GH-95497) (cherry picked from commit 281a3f18cc2afac0fa92c75e807775971e531711) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/copyreg.rst | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/Doc/library/copyreg.rst b/Doc/library/copyreg.rst index dc35965be3e40d..866b180f4bc3b8 100644 --- a/Doc/library/copyreg.rst +++ b/Doc/library/copyreg.rst @@ -25,20 +25,17 @@ Such constructors may be factory functions or class instances. hence not valid as a constructor), raises :exc:`TypeError`. -.. function:: pickle(type, function, constructor=None) +.. function:: pickle(type, function, constructor_ob=None) Declares that *function* should be used as a "reduction" function for objects of type *type*. *function* should return either a string or a tuple - containing two or three elements. + containing two or three elements. See the :attr:`~pickle.Pickler.dispatch_table` + for more details on the interface of *function*. - The optional *constructor* parameter, if provided, is a callable object which - can be used to reconstruct the object when called with the tuple of arguments - returned by *function* at pickling time. A :exc:`TypeError` is raised if the - *constructor* is not callable. + The *constructor_ob* parameter is a legacy feature and is now ignored, but if + passed it must be a callable. - See the :mod:`pickle` module for more details on the interface - expected of *function* and *constructor*. Note that the - :attr:`~pickle.Pickler.dispatch_table` attribute of a pickler + Note that the :attr:`~pickle.Pickler.dispatch_table` attribute of a pickler object or subclass of :class:`pickle.Pickler` can also be used for declaring reduction functions. From 4172e09c3a93f95874cccd3d008e9d036472d859 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 9 Oct 2022 18:03:53 -0700 Subject: [PATCH 188/494] Fix types in buffer/memoryview docs (GH-98118) The definition of obj in the `Py_buffer` struct is as a PyObject* https://github.com/python/cpython/blob/ec091bd47e2f968b0d1631b9a8104283a7beeb1b/Include/pybuffer.hGH-L22 PyMemoryView_GET_BASE returns `.obj` - thus its return type should be a PyObject* (or at least a void*). It definitely doesn't return `Py_buffer` (cherry picked from commit c459fedf7cfd5dadf72e088d789c7375b3a6e093) Co-authored-by: da-woods --- Doc/c-api/buffer.rst | 2 +- Doc/c-api/memoryview.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/c-api/buffer.rst b/Doc/c-api/buffer.rst index 05e131d06b909d..a04062fb2a68f1 100644 --- a/Doc/c-api/buffer.rst +++ b/Doc/c-api/buffer.rst @@ -99,7 +99,7 @@ a buffer, see :c:func:`PyObject_GetBuffer`. For :term:`contiguous` arrays, the value points to the beginning of the memory block. - .. c:member:: void *obj + .. c:member:: PyObject *obj A new reference to the exporting object. The reference is owned by the consumer and automatically decremented and set to ``NULL`` by diff --git a/Doc/c-api/memoryview.rst b/Doc/c-api/memoryview.rst index 4d94b3f545f327..ebd5c7760437bf 100644 --- a/Doc/c-api/memoryview.rst +++ b/Doc/c-api/memoryview.rst @@ -55,7 +55,7 @@ any other object. *mview* **must** be a memoryview instance; this macro doesn't check its type, you must do it yourself or you will risk crashes. -.. c:function:: Py_buffer *PyMemoryView_GET_BASE(PyObject *mview) +.. c:function:: PyObject *PyMemoryView_GET_BASE(PyObject *mview) Return either a pointer to the exporting object that the memoryview is based on or ``NULL`` if the memoryview has been created by one of the functions From 21b13c24ba4cf4aa990b1b5404992b179976a506 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 9 Oct 2022 18:33:59 -0700 Subject: [PATCH 189/494] gh-98083: Fix URLs in `README.rst` (GH-98082) (cherry picked from commit fc342c62e0debb194d60e79b37e346bf8d940d7a) Co-authored-by: Tiger --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 2e7eb04000d710..26239787b8362c 100644 --- a/README.rst +++ b/README.rst @@ -65,7 +65,7 @@ Building a complete Python installation requires the use of various additional third-party libraries, depending on your build platform and configure options. Not all standard library modules are buildable or useable on all platforms. Refer to the -`Install dependencies `_ +`Install dependencies `_ section of the `Developer Guide`_ for current detailed information on dependencies for various Linux distributions and macOS. @@ -135,7 +135,7 @@ What's New We have a comprehensive overview of the changes in the `What's New in Python 3.11 `_ document. For a more detailed change log, read `Misc/NEWS -`_, but a full +`_, but a full accounting of changes can only be gleaned from the `commit history `_. @@ -189,7 +189,7 @@ your environment, you can `file a bug report `_ and include relevant output from that command to show the issue. -See `Running & Writing Tests `_ +See `Running & Writing Tests `_ for more on running tests. Installing multiple versions From 1d05b58e83a05316b384e77ea6330d3c814ee4a4 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 9 Oct 2022 22:09:12 -0700 Subject: [PATCH 190/494] bpo-43564: preserve original exception in args of FTP URLError (GH-24938) * bpo-43564: preserve original error in args of FTP URLError * Add NEWS blurb Co-authored-by: Carl Meyer (cherry picked from commit ad817cd5c44416da3752ebf9baf16d650703275c) Co-authored-by: Carl Meyer --- Lib/urllib/request.py | 2 +- .../next/Library/2022-10-09-12-12-38.gh-issue-87730.ClgP3f.rst | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2022-10-09-12-12-38.gh-issue-87730.ClgP3f.rst diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py index 6d580a434a7bea..73ad0127ecc969 100644 --- a/Lib/urllib/request.py +++ b/Lib/urllib/request.py @@ -1579,7 +1579,7 @@ def ftp_open(self, req): headers = email.message_from_string(headers) return addinfourl(fp, headers, req.full_url) except ftplib.all_errors as exp: - raise URLError(f'ftp error: {exp}') from exp + raise URLError(exp) from exp def connect_ftp(self, user, passwd, host, port, dirs, timeout): return ftpwrapper(user, passwd, host, port, dirs, timeout, diff --git a/Misc/NEWS.d/next/Library/2022-10-09-12-12-38.gh-issue-87730.ClgP3f.rst b/Misc/NEWS.d/next/Library/2022-10-09-12-12-38.gh-issue-87730.ClgP3f.rst new file mode 100644 index 00000000000000..6c63fa4928c62e --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-10-09-12-12-38.gh-issue-87730.ClgP3f.rst @@ -0,0 +1,3 @@ +Wrap network errors consistently in urllib FTP support, so the test suite +doesn't fail when a network is available but the public internet is not +reachable. From a2f728038e79bfc90fa30821ab11ef9b46a5a3fd Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 10 Oct 2022 01:50:26 -0700 Subject: [PATCH 191/494] doc: remove a misleading statement. (GH-98093) (cherry picked from commit 571e23d99157ed7ad67ca2334a396fc9ddbe07ec) Co-authored-by: Julien Palard --- Doc/tutorial/introduction.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/tutorial/introduction.rst b/Doc/tutorial/introduction.rst index ba0f4770529783..558b1c3eec60ed 100644 --- a/Doc/tutorial/introduction.rst +++ b/Doc/tutorial/introduction.rst @@ -70,8 +70,8 @@ the ones with a fractional part (e.g. ``5.0``, ``1.6``) have type :class:`float`. We will see more about numeric types later in the tutorial. Division (``/``) always returns a float. To do :term:`floor division` and -get an integer result (discarding any fractional result) you can use the ``//`` -operator; to calculate the remainder you can use ``%``:: +get an integer result you can use the ``//`` operator; to calculate +the remainder you can use ``%``:: >>> 17 / 3 # classic division returns a float 5.666666666666667 From fc14f1a80d17385571516805603780601e7ed698 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 10 Oct 2022 07:01:05 -0700 Subject: [PATCH 192/494] gh-83940: os docs: Improve wording for getenv/getenvb (GH-98113) (cherry picked from commit 187e853690908ca2af19a0701ca7529b43d05df9) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/os.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 83377916691069..9311bf187f0b64 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -304,8 +304,8 @@ process and user. .. function:: getenv(key, default=None) - Return the value of the environment variable *key* if it exists, or - *default* if it doesn't. *key*, *default* and the result are str. Note that + Return the value of the environment variable *key* as a string if it exists, or + *default* if it doesn't. *key* is a string. Note that since :func:`getenv` uses :data:`os.environ`, the mapping of :func:`getenv` is similarly also captured on import, and the function may not reflect future environment changes. @@ -319,8 +319,8 @@ process and user. .. function:: getenvb(key, default=None) - Return the value of the environment variable *key* if it exists, or - *default* if it doesn't. *key*, *default* and the result are bytes. Note that + Return the value of the environment variable *key* as bytes if it exists, or + *default* if it doesn't. *key* must be bytes. Note that since :func:`getenvb` uses :data:`os.environb`, the mapping of :func:`getenvb` is similarly also captured on import, and the function may not reflect future environment changes. From 126929760a758748ebe1c71176c299ed888e8d10 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 10 Oct 2022 12:37:37 -0700 Subject: [PATCH 193/494] ci: add GitHub token permissions (GH-92999) (cherry picked from commit b96e20c1d9be4e6d5ea3e48c9c97e5ecd02f6055) Co-authored-by: Varun Sharma --- .github/workflows/build.yml | 3 +++ .github/workflows/build_msi.yml | 3 +++ .github/workflows/doc.yml | 3 +++ .github/workflows/new-bugs-announce-notifier.yml | 5 ++++- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bb08b2ff62d511..3576eff6e352ba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,6 +22,9 @@ on: - '3.8' - '3.7' +permissions: + contents: read + jobs: check_source: name: 'Check for source changes' diff --git a/.github/workflows/build_msi.yml b/.github/workflows/build_msi.yml index ec18735e9b9fa6..6044ae0f7c29b4 100644 --- a/.github/workflows/build_msi.yml +++ b/.github/workflows/build_msi.yml @@ -23,6 +23,9 @@ on: paths: - 'Tools/msi/**' +permissions: + contents: read + jobs: build_win32: name: 'Windows (x86) Installer' diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 73a6a50520e02d..e06f21671b5a5a 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -25,6 +25,9 @@ on: - 'Misc/**' - '.github/workflows/doc.yml' +permissions: + contents: read + jobs: build_doc: name: 'Docs' diff --git a/.github/workflows/new-bugs-announce-notifier.yml b/.github/workflows/new-bugs-announce-notifier.yml index 8cd834419f00bf..b2b63472d83421 100644 --- a/.github/workflows/new-bugs-announce-notifier.yml +++ b/.github/workflows/new-bugs-announce-notifier.yml @@ -5,6 +5,9 @@ on: types: - opened +permissions: + issues: read + jobs: notify-new-bugs-announce: runs-on: ubuntu-latest @@ -39,7 +42,7 @@ jobs: assignee : issue.data.assignees.map(assignee => { return assignee.login }), body : issue.data.body }; - + const data = { from: "CPython Issues ", to: "new-bugs-announce@python.org", From 5c0d4c261972b7be6099c944d058847685f25033 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 10 Oct 2022 13:10:04 -0700 Subject: [PATCH 194/494] [3.11] gh-88452: Add a warning about non-portability of environments. (GH-98155) (GH-98157) --- Doc/library/venv.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Doc/library/venv.rst b/Doc/library/venv.rst index 3fa1046ae979b6..3bed25645a9271 100644 --- a/Doc/library/venv.rst +++ b/Doc/library/venv.rst @@ -85,6 +85,19 @@ Creating virtual environments without there needing to be any reference to its virtual environment in ``PATH``. +.. warning:: Because scripts installed in environments should not expect the + environment to be activated, their shebang lines contain the absolute paths + to their environment's interpreters. Because of this, environments are + inherently non-portable, in the general case. You should always have a + simple means of recreating an environment (for example, if you have a + requirements file ``requirements.txt``, you can invoke ``pip install -r + requirements.txt`` using the environment's ``pip`` to install all of the + packages needed by the environment). If for any reason you need to move the + environment to a new location, you should recreate it at the desired + location and delete the one at the old location. If you move an environment + because you moved a parent directory of it, you should recreate the + environment in its new location. Otherwise, software installed into the + environment may not work as expected. .. _venv-api: From 9d44ca51830ea1ead1e6e5641f9dc22fa108e2dc Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 10 Oct 2022 13:16:32 -0700 Subject: [PATCH 195/494] Auto-cancel old builds when new commit pushed to branch (GH-98009) * Auto-cancel old builds when new commit pushed to branch * Add a fallback Co-authored-by: Ezio Melotti * Use the same group for all workflows. Co-authored-by: Ezio Melotti (cherry picked from commit 75751f4aa5d70f65856645a9128fd42d92d6692c) Co-authored-by: Hugo van Kemenade --- .github/workflows/build.yml | 4 ++++ .github/workflows/build_msi.yml | 4 ++++ .github/workflows/doc.yml | 4 ++++ .github/workflows/verify-ensurepip-wheels.yml | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3576eff6e352ba..8a535831a6054d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,10 @@ on: permissions: contents: read +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + jobs: check_source: name: 'Check for source changes' diff --git a/.github/workflows/build_msi.yml b/.github/workflows/build_msi.yml index 6044ae0f7c29b4..5243dbba5f6b3a 100644 --- a/.github/workflows/build_msi.yml +++ b/.github/workflows/build_msi.yml @@ -26,6 +26,10 @@ on: permissions: contents: read +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + jobs: build_win32: name: 'Windows (x86) Installer' diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index e06f21671b5a5a..af5c5d0ad2e209 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -28,6 +28,10 @@ on: permissions: contents: read +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + jobs: build_doc: name: 'Docs' diff --git a/.github/workflows/verify-ensurepip-wheels.yml b/.github/workflows/verify-ensurepip-wheels.yml index 61e3d1adf534d5..9f4754f912b09f 100644 --- a/.github/workflows/verify-ensurepip-wheels.yml +++ b/.github/workflows/verify-ensurepip-wheels.yml @@ -16,6 +16,10 @@ on: permissions: contents: read +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + jobs: verify: runs-on: ubuntu-latest From 9b12084aca1a2072f0333dbc562e52d8dc0235bd Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 11 Oct 2022 09:22:04 -0700 Subject: [PATCH 196/494] gh-98172: Fix formatting in `except*` docs (GH-98173) (cherry picked from commit 5ecf961640192a2192383aa20e1e93dcdf23c9b6) Co-authored-by: Jelle Zijlstra --- Doc/reference/compound_stmts.rst | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index d914686c0a1ad9..8963481836431b 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -363,18 +363,17 @@ one :keyword:`!except*` clause, the first that matches it. :: +-+---------------- 1 ---------------- | ValueError: 1 +------------------------------------ - >>> - - Any remaining exceptions that were not handled by any :keyword:`!except*` - clause are re-raised at the end, combined into an exception group along with - all exceptions that were raised from within :keyword:`!except*` clauses. - - An :keyword:`!except*` clause must have a matching type, - and this type cannot be a subclass of :exc:`BaseExceptionGroup`. - It is not possible to mix :keyword:`except` and :keyword:`!except*` - in the same :keyword:`try`. - :keyword:`break`, :keyword:`continue` and :keyword:`return` - cannot appear in an :keyword:`!except*` clause. + +Any remaining exceptions that were not handled by any :keyword:`!except*` +clause are re-raised at the end, combined into an exception group along with +all exceptions that were raised from within :keyword:`!except*` clauses. + +An :keyword:`!except*` clause must have a matching type, +and this type cannot be a subclass of :exc:`BaseExceptionGroup`. +It is not possible to mix :keyword:`except` and :keyword:`!except*` +in the same :keyword:`try`. +:keyword:`break`, :keyword:`continue` and :keyword:`return` +cannot appear in an :keyword:`!except*` clause. .. index:: From d22c35dfffe738eccb45244037407588328cf828 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 11 Oct 2022 19:45:44 -0700 Subject: [PATCH 197/494] gh-96130: Rephrase use of "typecheck" verb for clarity (GH-98144) I'm sympathetic to the issue report, especially in case this helps clarify to new users that Python itself does not do type checking at runtime (cherry picked from commit ed6344eed043eaaa41d11c1176c25aa79de64ef4) Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com> --- Doc/library/typing.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index b75aa333f73ed3..070f3006e20cc5 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -105,7 +105,7 @@ A type alias is defined by assigning the type to the alias. In this example, def scale(scalar: float, vector: Vector) -> Vector: return [scalar * num for num in vector] - # typechecks; a list of floats qualifies as a Vector. + # passes type checking; a list of floats qualifies as a Vector. new_vector = scale(2.0, [1.0, -4.2, 5.4]) Type aliases are useful for simplifying complex type signatures. For example:: @@ -147,10 +147,10 @@ of the original type. This is useful in helping catch logical errors:: def get_user_name(user_id: UserId) -> str: ... - # typechecks + # passes type checking user_a = get_user_name(UserId(42351)) - # does not typecheck; an int is not a UserId + # fails type checking; an int is not a UserId user_b = get_user_name(-1) You may still perform all ``int`` operations on a variable of type ``UserId``, @@ -176,7 +176,7 @@ It is invalid to create a subtype of ``Derived``:: UserId = NewType('UserId', int) - # Fails at runtime and does not typecheck + # Fails at runtime and does not pass type checking class AdminUserId(UserId): pass However, it is possible to create a :class:`NewType` based on a 'derived' ``NewType``:: @@ -463,12 +463,12 @@ value of type :data:`Any` and assign it to any variable:: s = a # OK def foo(item: Any) -> int: - # Typechecks; 'item' could be any type, + # Passes type checking; 'item' could be any type, # and that type might have a 'bar' method item.bar() ... -Notice that no typechecking is performed when assigning a value of type +Notice that no type checking is performed when assigning a value of type :data:`Any` to a more precise type. For example, the static type checker did not report an error when assigning ``a`` to ``s`` even though ``s`` was declared to be of type :class:`str` and receives an :class:`int` value at @@ -500,20 +500,20 @@ reject almost all operations on it, and assigning it to a variable (or using it as a return value) of a more specialized type is a type error. For example:: def hash_a(item: object) -> int: - # Fails; an object does not have a 'magic' method. + # Fails type checking; an object does not have a 'magic' method. item.magic() ... def hash_b(item: Any) -> int: - # Typechecks + # Passes type checking item.magic() ... - # Typechecks, since ints and strs are subclasses of object + # Passes type checking, since ints and strs are subclasses of object hash_a(42) hash_a("foo") - # Typechecks, since Any is compatible with all types + # Passes type checking, since Any is compatible with all types hash_b(42) hash_b("foo") From 9e666bc6402ef608d57a9bf1790d7768e916262b Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 11 Oct 2022 19:50:25 -0700 Subject: [PATCH 198/494] gh-95276: Add callable entry to the glossary (GH-95738) (cherry picked from commit e3bf125c81d5da0734429c1cb6ae75e6086e35ae) Co-authored-by: MonadChains --- Doc/glossary.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Doc/glossary.rst b/Doc/glossary.rst index 9385b8ddd13d10..59f9426f603172 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -210,6 +210,16 @@ Glossary A list of bytecode instructions can be found in the documentation for :ref:`the dis module `. + callable + A callable is an object that can be called, possibly with a set + of arguments (see :term:`argument`), with the following syntax:: + + callable(argument1, argument2, ...) + + A :term:`function`, and by extension a :term:`method`, is a callable. + An instance of a class that implements the :meth:`~object.__call__` + method is also a callable. + callback A subroutine function which is passed as an argument to be executed at some point in the future. From 59ddbc4ab6fbdc646d0f23c2f3a80fd2e71df0d8 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 11 Oct 2022 21:05:12 -0700 Subject: [PATCH 199/494] Formatting fixes in contextlib docs (GH-98111) (cherry picked from commit 3b33c2010aa00ef5877bc35b02ae658e3c9f27af) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/contextlib.rst | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/Doc/library/contextlib.rst b/Doc/library/contextlib.rst index 2d28fb35a9e316..1b55868c3aa62f 100644 --- a/Doc/library/contextlib.rst +++ b/Doc/library/contextlib.rst @@ -66,6 +66,8 @@ Functions and classes provided: # Code to release resource, e.g.: release_resource(resource) + The function can then be used like this:: + >>> with managed_resource(timeout=3600) as resource: ... # Resource is released at the end of this block, ... # even if code in the block raises an exception @@ -140,9 +142,9 @@ Functions and classes provided: finally: print(f'it took {time.monotonic() - now}s to run') - @timeit() - async def main(): - # ... async code ... + @timeit() + async def main(): + # ... async code ... When used as a decorator, a new generator instance is implicitly created on each function call. This allows the otherwise "one-shot" context managers @@ -249,15 +251,15 @@ Functions and classes provided: :ref:`asynchronous context managers `:: async def send_http(session=None): - if not session: - # If no http session, create it with aiohttp - cm = aiohttp.ClientSession() - else: - # Caller is responsible for closing the session - cm = nullcontext(session) + if not session: + # If no http session, create it with aiohttp + cm = aiohttp.ClientSession() + else: + # Caller is responsible for closing the session + cm = nullcontext(session) - async with cm as session: - # Send http requests with session + async with cm as session: + # Send http requests with session .. versionadded:: 3.7 @@ -396,6 +398,8 @@ Functions and classes provided: print('Finishing') return False + The class can then be used like this:: + >>> @mycontext() ... def function(): ... print('The bit in the middle') @@ -466,6 +470,8 @@ Functions and classes provided: print('Finishing') return False + The class can then be used like this:: + >>> @mycontext() ... async def function(): ... print('The bit in the middle') From 316590116a33978f029666c461970f51f6c36344 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 11 Oct 2022 21:51:13 -0700 Subject: [PATCH 200/494] gh-65046: Link to logging cookbook from asyncio docs (GH-98207) (cherry picked from commit c39a0c335486fa8eac0f3030930f9e8769118a4f) Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com> --- Doc/howto/logging-cookbook.rst | 2 ++ Doc/library/asyncio-dev.rst | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst index ff7ba0789608ff..d43ffb24085d64 100644 --- a/Doc/howto/logging-cookbook.rst +++ b/Doc/howto/logging-cookbook.rst @@ -332,6 +332,8 @@ configuration:: print('complete') +.. _blocking-handlers: + Dealing with handlers that block -------------------------------- diff --git a/Doc/library/asyncio-dev.rst b/Doc/library/asyncio-dev.rst index 14f2c3533c9712..921a394a59fec7 100644 --- a/Doc/library/asyncio-dev.rst +++ b/Doc/library/asyncio-dev.rst @@ -149,7 +149,8 @@ adjusted:: Network logging can block the event loop. It is recommended to use -a separate thread for handling logs or use non-blocking IO. +a separate thread for handling logs or use non-blocking IO. For example, +see :ref:`blocking-handlers`. .. _asyncio-coroutine-not-scheduled: From b2f037cce728117f134bba3a96a5d928fb73ae43 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 12 Oct 2022 09:08:56 -0700 Subject: [PATCH 201/494] tutorial: remove "with single quotes" (GH-98204) Closes GH-91856. On Windows double quotes are sometimes better, on Unix usually single quotes. It's not our place to explain that, so just don't. (cherry picked from commit 5f8ca1b7969f34ee09adb7b28337ebd920e6215a) Co-authored-by: Jelle Zijlstra --- Doc/tutorial/interpreter.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/tutorial/interpreter.rst b/Doc/tutorial/interpreter.rst index d7f300d93b021b..08851cb8fda012 100644 --- a/Doc/tutorial/interpreter.rst +++ b/Doc/tutorial/interpreter.rst @@ -52,7 +52,7 @@ A second way of starting the interpreter is ``python -c command [arg] ...``, which executes the statement(s) in *command*, analogous to the shell's :option:`-c` option. Since Python statements often contain spaces or other characters that are special to the shell, it is usually advised to quote -*command* in its entirety with single quotes. +*command* in its entirety. Some Python modules are also useful as scripts. These can be invoked using ``python -m module [arg] ...``, which executes the source file for *module* as From 450306ed6770d7ffd16cb9128e471677dda9b3d1 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 12 Oct 2022 09:13:24 -0700 Subject: [PATCH 202/494] gh-96265: Formatting changes for faq/general (GH-98129) * Some formatting changes for general faq * Use list for Python versioning Co-authored-by: Ezio Melotti * New line for list, list for a/b/rc * Line wrap for 80 chars * More line wrap * Remove PythonWin mention. Co-authored-by: C.A.M. Gerlach Co-authored-by: Ezio Melotti Co-authored-by: C.A.M. Gerlach (cherry picked from commit e9569ec43e2376aa77240cd630db4be07e8720f3) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/faq/general.rst | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst index 81842fce4303a6..489bca76432d85 100644 --- a/Doc/faq/general.rst +++ b/Doc/faq/general.rst @@ -125,11 +125,15 @@ find packages of interest to you. How does the Python version numbering scheme work? -------------------------------------------------- -Python versions are numbered A.B.C or A.B. A is the major version number -- it -is only incremented for really major changes in the language. B is the minor -version number, incremented for less earth-shattering changes. C is the -micro-level -- it is incremented for each bugfix release. See :pep:`6` for more -information about bugfix releases. +Python versions are numbered "A.B.C" or "A.B": + +* *A* is the major version number -- it is only incremented for really major + changes in the language. +* *B* is the minor version number -- it is incremented for less earth-shattering + changes. +* *C* is the micro version number -- it is incremented for each bugfix release. + +See :pep:`6` for more information about bugfix releases. Not all releases are bugfix releases. In the run-up to a new major release, a series of development releases are made, denoted as alpha, beta, or release @@ -139,12 +143,14 @@ Betas are more stable, preserving existing interfaces but possibly adding new modules, and release candidates are frozen, making no changes except as needed to fix critical bugs. -Alpha, beta and release candidate versions have an additional suffix. The -suffix for an alpha version is "aN" for some small number N, the suffix for a -beta version is "bN" for some small number N, and the suffix for a release -candidate version is "rcN" for some small number N. In other words, all versions -labeled 2.0aN precede the versions labeled 2.0bN, which precede versions labeled -2.0rcN, and *those* precede 2.0. +Alpha, beta and release candidate versions have an additional suffix: + +* The suffix for an alpha version is "aN" for some small number *N*. +* The suffix for a beta version is "bN" for some small number *N*. +* The suffix for a release candidate version is "rcN" for some small number *N*. + +In other words, all versions labeled *2.0aN* precede the versions labeled +*2.0bN*, which precede versions labeled *2.0rcN*, and *those* precede 2.0. You may also find version numbers with a "+" suffix, e.g. "2.2+". These are unreleased versions, built directly from the CPython development repository. In @@ -429,7 +435,7 @@ With the interpreter, documentation is never far from the student as they are programming. There are also good IDEs for Python. IDLE is a cross-platform IDE for Python -that is written in Python using Tkinter. PythonWin is a Windows-specific IDE. +that is written in Python using Tkinter. Emacs users will be happy to know that there is a very good Python mode for Emacs. All of these programming environments provide syntax highlighting, auto-indenting, and access to the interactive interpreter while coding. Consult From 0a67f82eb1daf0afaebc68f31ac7e4609f314353 Mon Sep 17 00:00:00 2001 From: Brandt Bucher Date: Wed, 12 Oct 2022 16:04:47 -0700 Subject: [PATCH 203/494] [3.11] GH-93354: Fix PRECALL's adaptive backoff (GH-98011) --- .../2022-10-06-05-41-01.gh-issue-93354.6BpHl2.rst | 2 ++ Python/ceval.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2022-10-06-05-41-01.gh-issue-93354.6BpHl2.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-06-05-41-01.gh-issue-93354.6BpHl2.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-06-05-41-01.gh-issue-93354.6BpHl2.rst new file mode 100644 index 00000000000000..4efc10da293a03 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-06-05-41-01.gh-issue-93354.6BpHl2.rst @@ -0,0 +1,2 @@ +Fix an issue that could delay the specialization of :opcode:`PRECALL` +instructions. diff --git a/Python/ceval.c b/Python/ceval.c index c5283ace43cfb1..c0d9c68de04b0c 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -4793,7 +4793,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int TARGET(PRECALL_ADAPTIVE) { _PyPrecallCache *cache = (_PyPrecallCache *)next_instr; - if (cache->counter == 0) { + if (ADAPTIVE_COUNTER_IS_ZERO(cache)) { next_instr--; int is_meth = is_method(stack_pointer, oparg); int nargs = oparg + is_meth; @@ -4807,7 +4807,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, _PyInterpreterFrame *frame, int } else { STAT_INC(PRECALL, deferred); - cache->counter--; + DECREMENT_ADAPTIVE_COUNTER(cache); JUMP_TO_INSTRUCTION(PRECALL); } } From c7761bbc3297539480d1e2799f7f67f0437c24b1 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 13 Oct 2022 04:59:23 -0700 Subject: [PATCH 204/494] gh-98178: syslog() is not thread-safe on macOS (GH-98213) On macOS, fix a crash in syslog.syslog() in multi-threaded applications. On macOS, the libc syslog() function is not thread-safe, so syslog.syslog() no longer releases the GIL to call it. (cherry picked from commit d4b91663857e85eab1f309cacec4d27b5f6657ec) Co-authored-by: Victor Stinner --- .../Library/2022-10-12-10-00-40.gh-issue-98178.hspH51.rst | 4 ++++ Modules/syslogmodule.c | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 Misc/NEWS.d/next/Library/2022-10-12-10-00-40.gh-issue-98178.hspH51.rst diff --git a/Misc/NEWS.d/next/Library/2022-10-12-10-00-40.gh-issue-98178.hspH51.rst b/Misc/NEWS.d/next/Library/2022-10-12-10-00-40.gh-issue-98178.hspH51.rst new file mode 100644 index 00000000000000..833a6e6bb3f775 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-10-12-10-00-40.gh-issue-98178.hspH51.rst @@ -0,0 +1,4 @@ +On macOS, fix a crash in :func:`syslog.syslog` in multi-threaded applications. +On macOS, the libc ``syslog()`` function is not thread-safe, so +:func:`syslog.syslog` no longer releases the GIL to call it. Patch by Victor +Stinner. diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c index 1593eea94a62bf..8416b6344ce4e0 100644 --- a/Modules/syslogmodule.c +++ b/Modules/syslogmodule.c @@ -207,9 +207,14 @@ syslog_syslog(PyObject * self, PyObject * args) */ PyObject *ident = S_ident_o; Py_XINCREF(ident); +#ifdef __APPLE__ + // gh-98178: On macOS, libc syslog() is not thread-safe + syslog(priority, "%s", message); +#else Py_BEGIN_ALLOW_THREADS; syslog(priority, "%s", message); Py_END_ALLOW_THREADS; +#endif Py_XDECREF(ident); Py_RETURN_NONE; } From 595ef03c7ceb25e63878e2a9231e1b54f9f0d125 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 13 Oct 2022 10:27:31 -0700 Subject: [PATCH 205/494] bpo-46364: Use sockets for stdin of asyncio only on AIX (GH-30596) Signed-off-by: Christoph Hamsen Co-authored-by: July Tikhonov (cherry picked from commit c9ed0327a9c741a1808926b409df29467baf303a) Co-authored-by: Christoph Hamsen <37963496+xopham@users.noreply.github.com> --- Lib/asyncio/unix_events.py | 7 +++---- Lib/test/test_asyncio/test_subprocess.py | 20 +++++++++++++++++++ .../2022-01-14-10-49-20.bpo-46364.SzhlU9.rst | 1 + 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-01-14-10-49-20.bpo-46364.SzhlU9.rst diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py index 96e6d73a759794..0495f332f3127a 100644 --- a/Lib/asyncio/unix_events.py +++ b/Lib/asyncio/unix_events.py @@ -800,12 +800,11 @@ class _UnixSubprocessTransport(base_subprocess.BaseSubprocessTransport): def _start(self, args, shell, stdin, stdout, stderr, bufsize, **kwargs): stdin_w = None - if stdin == subprocess.PIPE: - # Use a socket pair for stdin, since not all platforms + if stdin == subprocess.PIPE and sys.platform.startswith('aix'): + # Use a socket pair for stdin on AIX, since it does not # support selecting read events on the write end of a # socket (which we use in order to detect closing of the - # other end). Notably this is needed on AIX, and works - # just fine on other platforms. + # other end). stdin, stdin_w = socket.socketpair() try: self._proc = subprocess.Popen( diff --git a/Lib/test/test_asyncio/test_subprocess.py b/Lib/test/test_asyncio/test_subprocess.py index 9bc60b9dc2ae2e..7b7df400563133 100644 --- a/Lib/test/test_asyncio/test_subprocess.py +++ b/Lib/test/test_asyncio/test_subprocess.py @@ -427,6 +427,26 @@ async def empty_error(): self.assertEqual(output, None) self.assertEqual(exitcode, 0) + @unittest.skipIf(sys.platform != 'linux', "Don't have /dev/stdin") + def test_devstdin_input(self): + + async def devstdin_input(message): + code = 'file = open("/dev/stdin"); data = file.read(); print(len(data))' + proc = await asyncio.create_subprocess_exec( + sys.executable, '-c', code, + stdin=asyncio.subprocess.PIPE, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + close_fds=False, + ) + stdout, stderr = await proc.communicate(message) + exitcode = await proc.wait() + return (stdout, exitcode) + + output, exitcode = self.loop.run_until_complete(devstdin_input(b'abc')) + self.assertEqual(output.rstrip(), b'3') + self.assertEqual(exitcode, 0) + def test_cancel_process_wait(self): # Issue #23140: cancel Process.wait() diff --git a/Misc/NEWS.d/next/Library/2022-01-14-10-49-20.bpo-46364.SzhlU9.rst b/Misc/NEWS.d/next/Library/2022-01-14-10-49-20.bpo-46364.SzhlU9.rst new file mode 100644 index 00000000000000..d547ffc6f97e26 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-01-14-10-49-20.bpo-46364.SzhlU9.rst @@ -0,0 +1 @@ +Restrict use of sockets instead of pipes for stdin of subprocesses created by :mod:`asyncio` to AIX platform only. From 22ad9e5f3e267c48c238df9f83af224871926df6 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 14 Oct 2022 09:24:23 -0700 Subject: [PATCH 206/494] gh-98251: Allow venv to pass along PYTHON* variables to pip and ensurepip when they do not impact path resolution (GH-98259) (cherry picked from commit 2fe44f728afa2dd506c304641f0481d6813d1dbd) Co-authored-by: Steve Dower --- Lib/test/test_venv.py | 8 +++--- Lib/venv/__init__.py | 28 +++++++++++++------ ...2-10-14-11-46-31.gh-issue-98251.Uxc9al.rst | 2 ++ 3 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2022-10-14-11-46-31.gh-issue-98251.Uxc9al.rst diff --git a/Lib/test/test_venv.py b/Lib/test/test_venv.py index 74039f59f797e5..b0a86ee4abc541 100644 --- a/Lib/test/test_venv.py +++ b/Lib/test/test_venv.py @@ -216,7 +216,7 @@ def test_upgrade_dependencies(self): if sys.platform == 'win32': expect_exe = os.path.normcase(os.path.realpath(expect_exe)) - def pip_cmd_checker(cmd): + def pip_cmd_checker(cmd, **kwargs): cmd[0] = os.path.normcase(cmd[0]) self.assertEqual( cmd, @@ -232,7 +232,7 @@ def pip_cmd_checker(cmd): ) fake_context = builder.ensure_directories(fake_env_dir) - with patch('venv.subprocess.check_call', pip_cmd_checker): + with patch('venv.subprocess.check_output', pip_cmd_checker): builder.upgrade_dependencies(fake_context) @requireVenvCreate @@ -659,8 +659,8 @@ def nicer_error(self): try: yield except subprocess.CalledProcessError as exc: - out = exc.output.decode(errors="replace") - err = exc.stderr.decode(errors="replace") + out = (exc.output or b'').decode(errors="replace") + err = (exc.stderr or b'').decode(errors="replace") self.fail( f"{exc}\n\n" f"**Subprocess Output**\n{out}\n\n" diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py index f5570e8fcd7c09..fbb002ff27787c 100644 --- a/Lib/venv/__init__.py +++ b/Lib/venv/__init__.py @@ -338,14 +338,25 @@ def setup_python(self, context): shutil.copyfile(src, dst) break + def _call_new_python(self, context, *py_args, **kwargs): + """Executes the newly created Python using safe-ish options""" + # gh-98251: We do not want to just use '-I' because that masks + # legitimate user preferences (such as not writing bytecode). All we + # really need is to ensure that the path variables do not overrule + # normal venv handling. + args = [context.env_exec_cmd, *py_args] + kwargs['env'] = env = os.environ.copy() + env['VIRTUAL_ENV'] = context.env_dir + env.pop('PYTHONHOME', None) + env.pop('PYTHONPATH', None) + kwargs['cwd'] = context.env_dir + kwargs['executable'] = context.env_exec_cmd + subprocess.check_output(args, **kwargs) + def _setup_pip(self, context): """Installs or upgrades pip in a virtual environment""" - # We run ensurepip in isolated mode to avoid side effects from - # environment vars, the current directory and anything else - # intended for the global Python environment - cmd = [context.env_exec_cmd, '-Im', 'ensurepip', '--upgrade', - '--default-pip'] - subprocess.check_output(cmd, stderr=subprocess.STDOUT) + self._call_new_python(context, '-m', 'ensurepip', '--upgrade', + '--default-pip', stderr=subprocess.STDOUT) def setup_scripts(self, context): """ @@ -444,9 +455,8 @@ def upgrade_dependencies(self, context): logger.debug( f'Upgrading {CORE_VENV_DEPS} packages in {context.bin_path}' ) - cmd = [context.env_exec_cmd, '-m', 'pip', 'install', '--upgrade'] - cmd.extend(CORE_VENV_DEPS) - subprocess.check_call(cmd) + self._call_new_python(context, '-m', 'pip', 'install', '--upgrade', + *CORE_VENV_DEPS) def create(env_dir, system_site_packages=False, clear=False, diff --git a/Misc/NEWS.d/next/Library/2022-10-14-11-46-31.gh-issue-98251.Uxc9al.rst b/Misc/NEWS.d/next/Library/2022-10-14-11-46-31.gh-issue-98251.Uxc9al.rst new file mode 100644 index 00000000000000..1a2b6a2537b996 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-10-14-11-46-31.gh-issue-98251.Uxc9al.rst @@ -0,0 +1,2 @@ +Allow :mod:`venv` to pass along :envvar:`PYTHON*` variables to ``ensurepip`` and ``pip`` when +they do not impact path resolution From 42d536c1c7b9fcb2f85663a54f11f4a073211fef Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 07:32:37 -0700 Subject: [PATCH 207/494] gh-91485: Doc: Using Python syntax to document builtin Python functions. (GH-96579) (cherry picked from commit 3c4cbd177f36777a04e78eb07ce20367560a66d3) Co-authored-by: Julien Palard --- Doc/library/functions.rst | 149 +++++++++++++++++++++----------------- 1 file changed, 84 insertions(+), 65 deletions(-) diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 93c9f4ad2bc23a..8108c98332e964 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -54,14 +54,14 @@ are always available. They are listed here in alphabetical order. .. |func-bytearray| replace:: ``bytearray()`` .. |func-bytes| replace:: ``bytes()`` -.. function:: abs(x) +.. function:: abs(x, /) Return the absolute value of a number. The argument may be an integer, a floating point number, or an object implementing :meth:`__abs__`. If the argument is a complex number, its magnitude is returned. -.. function:: aiter(async_iterable) +.. function:: aiter(async_iterable, /) Return an :term:`asynchronous iterator` for an :term:`asynchronous iterable`. Equivalent to calling ``x.__aiter__()``. @@ -70,7 +70,7 @@ are always available. They are listed here in alphabetical order. .. versionadded:: 3.10 -.. function:: all(iterable) +.. function:: all(iterable, /) Return ``True`` if all elements of the *iterable* are true (or if the iterable is empty). Equivalent to:: @@ -82,7 +82,8 @@ are always available. They are listed here in alphabetical order. return True -.. awaitablefunction:: anext(async_iterator[, default]) +.. awaitablefunction:: anext(async_iterator, /) + anext(async_iterator, default, /) When awaited, return the next item from the given :term:`asynchronous iterator`, or *default* if given and the iterator is exhausted. @@ -97,7 +98,7 @@ are always available. They are listed here in alphabetical order. .. versionadded:: 3.10 -.. function:: any(iterable) +.. function:: any(iterable, /) Return ``True`` if any element of the *iterable* is true. If the iterable is empty, return ``False``. Equivalent to:: @@ -109,7 +110,7 @@ are always available. They are listed here in alphabetical order. return False -.. function:: ascii(object) +.. function:: ascii(object, /) As :func:`repr`, return a string containing a printable representation of an object, but escape the non-ASCII characters in the string returned by @@ -117,7 +118,7 @@ are always available. They are listed here in alphabetical order. similar to that returned by :func:`repr` in Python 2. -.. function:: bin(x) +.. function:: bin(x, /) Convert an integer number to a binary string prefixed with "0b". The result is a valid Python expression. If *x* is not a Python :class:`int` object, it @@ -139,7 +140,7 @@ are always available. They are listed here in alphabetical order. See also :func:`format` for more information. -.. class:: bool([x]) +.. class:: bool(x=False, /) Return a Boolean value, i.e. one of ``True`` or ``False``. *x* is converted using the standard :ref:`truth testing procedure `. If *x* is false @@ -172,7 +173,9 @@ are always available. They are listed here in alphabetical order. .. versionadded:: 3.7 .. _func-bytearray: -.. class:: bytearray([source[, encoding[, errors]]]) +.. class:: bytearray(source=b'') + bytearray(source, encoding) + bytearray(source, encoding, errors) :noindex: Return a new array of bytes. The :class:`bytearray` class is a mutable @@ -202,7 +205,9 @@ are always available. They are listed here in alphabetical order. .. _func-bytes: -.. class:: bytes([source[, encoding[, errors]]]) +.. class:: bytes(source=b'') + bytes(source, encoding) + bytes(source, encoding, errors) :noindex: Return a new "bytes" object which is an immutable sequence of integers in @@ -217,7 +222,7 @@ are always available. They are listed here in alphabetical order. See also :ref:`binaryseq`, :ref:`typebytes`, and :ref:`bytes-methods`. -.. function:: callable(object) +.. function:: callable(object, /) Return :const:`True` if the *object* argument appears callable, :const:`False` if not. If this returns ``True``, it is still possible that a @@ -230,7 +235,7 @@ are always available. They are listed here in alphabetical order. in Python 3.2. -.. function:: chr(i) +.. function:: chr(i, /) Return the string representing a character whose Unicode code point is the integer *i*. For example, ``chr(97)`` returns the string ``'a'``, while @@ -358,7 +363,8 @@ are always available. They are listed here in alphabetical order. support for top-level ``await``, ``async for``, and ``async with``. -.. class:: complex([real[, imag]]) +.. class:: complex(real=0, imag=0) + complex(string, /) Return a complex number with the value *real* + *imag*\*1j or convert a string or number to a complex number. If the first parameter is a string, it will @@ -391,7 +397,7 @@ are always available. They are listed here in alphabetical order. :meth:`__float__` are not defined. -.. function:: delattr(object, name) +.. function:: delattr(object, name, /) This is a relative of :func:`setattr`. The arguments are an object and a string. The string must be the name of one of the object's attributes. The @@ -402,8 +408,8 @@ are always available. They are listed here in alphabetical order. .. _func-dict: .. class:: dict(**kwarg) - dict(mapping, **kwarg) - dict(iterable, **kwarg) + dict(mapping, /, **kwarg) + dict(iterable, /, **kwarg) :noindex: Create a new dictionary. The :class:`dict` object is the dictionary class. @@ -413,7 +419,8 @@ are always available. They are listed here in alphabetical order. :class:`tuple` classes, as well as the :mod:`collections` module. -.. function:: dir([object]) +.. function:: dir() + dir(object, /) Without arguments, return the list of names in the current local scope. With an argument, attempt to return a list of valid attributes for that object. @@ -469,7 +476,7 @@ are always available. They are listed here in alphabetical order. class. -.. function:: divmod(a, b) +.. function:: divmod(a, b, /) Take two (non-complex) numbers as arguments and return a pair of numbers consisting of their quotient and remainder when using integer division. With @@ -505,7 +512,7 @@ are always available. They are listed here in alphabetical order. .. _func-eval: -.. function:: eval(expression[, globals[, locals]]) +.. function:: eval(expression, /, globals=None, locals=None) The arguments are a string and optional globals and locals. If provided, *globals* must be a dictionary. If provided, *locals* can be any mapping @@ -556,7 +563,7 @@ are always available. They are listed here in alphabetical order. .. index:: builtin: exec -.. function:: exec(object[, globals[, locals]], *, closure=None) +.. function:: exec(object, globals=None, locals=None, /, *, closure=None) This function supports dynamic execution of Python code. *object* must be either a string or a code object. If it is a string, the string is parsed as @@ -612,7 +619,7 @@ are always available. They are listed here in alphabetical order. Added the *closure* parameter. -.. function:: filter(function, iterable) +.. function:: filter(function, iterable, /) Construct an iterator from those elements of *iterable* for which *function* returns true. *iterable* may be either a sequence, a container which @@ -629,7 +636,7 @@ are always available. They are listed here in alphabetical order. elements of *iterable* for which *function* returns false. -.. class:: float([x]) +.. class:: float(x=0.0, /) .. index:: single: NaN @@ -697,7 +704,7 @@ are always available. They are listed here in alphabetical order. single: __format__ single: string; format() (built-in function) -.. function:: format(value[, format_spec]) +.. function:: format(value, format_spec="", /) Convert a *value* to a "formatted" representation, as controlled by *format_spec*. The interpretation of *format_spec* will depend on the type @@ -720,7 +727,7 @@ are always available. They are listed here in alphabetical order. .. _func-frozenset: -.. class:: frozenset([iterable]) +.. class:: frozenset(iterable=set(), /) :noindex: Return a new :class:`frozenset` object, optionally with elements taken from @@ -732,7 +739,8 @@ are always available. They are listed here in alphabetical order. module. -.. function:: getattr(object, name[, default]) +.. function:: getattr(object, name, /) + getattr(object, name, default, /) Return the value of the named attribute of *object*. *name* must be a string. If the string is the name of one of the object's attributes, the result is the @@ -756,7 +764,7 @@ are always available. They are listed here in alphabetical order. regardless of where the function is called. -.. function:: hasattr(object, name) +.. function:: hasattr(object, name, /) The arguments are an object and a string. The result is ``True`` if the string is the name of one of the object's attributes, ``False`` if not. (This @@ -764,7 +772,7 @@ are always available. They are listed here in alphabetical order. raises an :exc:`AttributeError` or not.) -.. function:: hash(object) +.. function:: hash(object, /) Return the hash value of the object (if it has one). Hash values are integers. They are used to quickly compare dictionary keys during a @@ -777,7 +785,8 @@ are always available. They are listed here in alphabetical order. truncates the return value based on the bit width of the host machine. See :meth:`__hash__` for details. -.. function:: help([object]) +.. function:: help() + help(request) Invoke the built-in help system. (This function is intended for interactive use.) If no argument is given, the interactive help system starts on the @@ -798,7 +807,7 @@ are always available. They are listed here in alphabetical order. signatures for callables are now more comprehensive and consistent. -.. function:: hex(x) +.. function:: hex(x, /) Convert an integer number to a lowercase hexadecimal string prefixed with "0x". If *x* is not a Python :class:`int` object, it has to define an @@ -830,7 +839,7 @@ are always available. They are listed here in alphabetical order. :meth:`float.hex` method. -.. function:: id(object) +.. function:: id(object, /) Return the "identity" of an object. This is an integer which is guaranteed to be unique and constant for this object during its lifetime. @@ -842,7 +851,8 @@ are always available. They are listed here in alphabetical order. .. audit-event:: builtins.id id id -.. function:: input([prompt]) +.. function:: input() + input(prompt, /) If the *prompt* argument is present, it is written to standard output without a trailing newline. The function then reads a line from input, converts it @@ -868,8 +878,8 @@ are always available. They are listed here in alphabetical order. with the result after successfully reading input. -.. class:: int([x]) - int(x, base=10) +.. class:: int(x=0, /) + int(x, /, base=10) Return an integer object constructed from a number or string *x*, or return ``0`` if no arguments are given. If *x* defines :meth:`__int__`, @@ -920,7 +930,7 @@ are always available. They are listed here in alphabetical order. See the :ref:`integer string conversion length limitation ` documentation. -.. function:: isinstance(object, classinfo) +.. function:: isinstance(object, classinfo, /) Return ``True`` if the *object* argument is an instance of the *classinfo* argument, or of a (direct, indirect, or :term:`virtual `) of *classinfo*. A @@ -951,7 +961,8 @@ are always available. They are listed here in alphabetical order. *classinfo* can be a :ref:`types-union`. -.. function:: iter(object[, sentinel]) +.. function:: iter(object, /) + iter(object, sentinel, /) Return an :term:`iterator` object. The first argument is interpreted very differently depending on the presence of the second argument. Without a @@ -978,7 +989,7 @@ are always available. They are listed here in alphabetical order. process_block(block) -.. function:: len(s) +.. function:: len(s, /) Return the length (the number of items) of an object. The argument may be a sequence (such as a string, bytes, tuple, list, or range) or a collection @@ -991,7 +1002,8 @@ are always available. They are listed here in alphabetical order. .. _func-list: -.. class:: list([iterable]) +.. class:: list() + list(iterable, /) :noindex: Rather than being a function, :class:`list` is actually a mutable @@ -1009,18 +1021,19 @@ are always available. They are listed here in alphabetical order. The contents of this dictionary should not be modified; changes may not affect the values of local and free variables used by the interpreter. -.. function:: map(function, iterable, ...) +.. function:: map(function, iterable, /, *iterables) Return an iterator that applies *function* to every item of *iterable*, - yielding the results. If additional *iterable* arguments are passed, + yielding the results. If additional *iterables* arguments are passed, *function* must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted. For cases where the function inputs are already arranged into argument tuples, see :func:`itertools.starmap`\. -.. function:: max(iterable, *[, key, default]) - max(arg1, arg2, *args[, key]) +.. function:: max(iterable, /, *, key=None) + max(iterable, /, *, default, key=None) + max(arg1, arg2, /, *args, key=None) Return the largest item in an iterable or the largest of two or more arguments. @@ -1056,8 +1069,9 @@ are always available. They are listed here in alphabetical order. :ref:`typememoryview` for more information. -.. function:: min(iterable, *[, key, default]) - min(arg1, arg2, *args[, key]) +.. function:: min(iterable, /, *, key=None) + min(iterable, /, *, default, key=None) + min(arg1, arg2, /, *args, key=None) Return the smallest item in an iterable or the smallest of two or more arguments. @@ -1085,7 +1099,8 @@ are always available. They are listed here in alphabetical order. The *key* can be ``None``. -.. function:: next(iterator[, default]) +.. function:: next(iterator, /) + next(iterator, default, /) Retrieve the next item from the :term:`iterator` by calling its :meth:`~iterator.__next__` method. If *default* is given, it is returned @@ -1104,7 +1119,7 @@ are always available. They are listed here in alphabetical order. assign arbitrary attributes to an instance of the :class:`object` class. -.. function:: oct(x) +.. function:: oct(x, /) Convert an integer number to an octal string prefixed with "0o". The result is a valid Python expression. If *x* is not a Python :class:`int` object, it @@ -1356,7 +1371,7 @@ are always available. They are listed here in alphabetical order. .. versionchanged:: 3.11 The ``'U'`` mode has been removed. -.. function:: ord(c) +.. function:: ord(c, /) Given a string representing one Unicode character, return an integer representing the Unicode code point of that character. For example, @@ -1364,7 +1379,7 @@ are always available. They are listed here in alphabetical order. returns ``8364``. This is the inverse of :func:`chr`. -.. function:: pow(base, exp[, mod]) +.. function:: pow(base, exp, mod=None) Return *base* to the power *exp*; if *mod* is present, return *base* to the power *exp*, modulo *mod* (computed more efficiently than @@ -1507,15 +1522,15 @@ are always available. They are listed here in alphabetical order. .. _func-range: -.. class:: range(stop) - range(start, stop[, step]) +.. class:: range(stop, /) + range(start, stop, step=1, /) :noindex: Rather than being a function, :class:`range` is actually an immutable sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`. -.. function:: repr(object) +.. function:: repr(object, /) Return a string containing a printable representation of an object. For many types, this function makes an attempt to return a string that would yield an @@ -1528,7 +1543,7 @@ are always available. They are listed here in alphabetical order. :exc:`RuntimeError`. -.. function:: reversed(seq) +.. function:: reversed(seq, /) Return a reverse :term:`iterator`. *seq* must be an object which has a :meth:`__reversed__` method or supports the sequence protocol (the @@ -1536,7 +1551,7 @@ are always available. They are listed here in alphabetical order. arguments starting at ``0``). -.. function:: round(number[, ndigits]) +.. function:: round(number, ndigits=None) Return *number* rounded to *ndigits* precision after the decimal point. If *ndigits* is omitted or is ``None``, it returns the @@ -1564,7 +1579,8 @@ are always available. They are listed here in alphabetical order. .. _func-set: -.. class:: set([iterable]) +.. class:: set() + set(iterable, /) :noindex: Return a new :class:`set` object, optionally with elements taken from @@ -1576,7 +1592,7 @@ are always available. They are listed here in alphabetical order. module. -.. function:: setattr(object, name, value) +.. function:: setattr(object, name, value, /) This is the counterpart of :func:`getattr`. The arguments are an object, a string, and an arbitrary value. The string may name an existing attribute or a @@ -1598,8 +1614,8 @@ are always available. They are listed here in alphabetical order. :func:`setattr`. -.. class:: slice(stop) - slice(start, stop[, step]) +.. class:: slice(stop, /) + slice(start, stop, step=1, /) Return a :term:`slice` object representing the set of indices specified by ``range(start, stop, step)``. The *start* and *step* arguments default to @@ -1716,21 +1732,22 @@ are always available. They are listed here in alphabetical order. .. versionchanged:: 3.8 The *start* parameter can be specified as a keyword argument. -.. class:: super([type[, object-or-type]]) +.. class:: super() + super(type, object_or_type=None, /) Return a proxy object that delegates method calls to a parent or sibling class of *type*. This is useful for accessing inherited methods that have been overridden in a class. - The *object-or-type* determines the :term:`method resolution order` + The *object_or_type* determines the :term:`method resolution order` to be searched. The search starts from the class right after the *type*. - For example, if :attr:`~class.__mro__` of *object-or-type* is + For example, if :attr:`~class.__mro__` of *object_or_type* is ``D -> B -> C -> A -> object`` and the value of *type* is ``B``, then :func:`super` searches ``C -> A -> object``. - The :attr:`~class.__mro__` attribute of the *object-or-type* lists the method + The :attr:`~class.__mro__` attribute of the *object_or_type* lists the method resolution search order used by both :func:`getattr` and :func:`super`. The attribute is dynamic and can change whenever the inheritance hierarchy is updated. @@ -1786,15 +1803,16 @@ are always available. They are listed here in alphabetical order. .. _func-tuple: -.. class:: tuple([iterable]) +.. class:: tuple() + tuple(iterable, /) :noindex: Rather than being a function, :class:`tuple` is actually an immutable sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`. -.. class:: type(object) - type(name, bases, dict, **kwds) +.. class:: type(object, /) + type(name, bases, dict, /, **kwds) .. index:: object: type @@ -1834,7 +1852,8 @@ are always available. They are listed here in alphabetical order. Subclasses of :class:`type` which don't override ``type.__new__`` may no longer use the one-argument form to get the type of an object. -.. function:: vars([object]) +.. function:: vars() + vars(object, /) Return the :attr:`~object.__dict__` attribute for a module, class, instance, or any other object with a :attr:`~object.__dict__` attribute. From 232a9889128fb681f9c2767e1b22cb99fbad3ad3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 08:09:20 -0700 Subject: [PATCH 208/494] gh-85525: Indicate supported sound header formats (GH-21575) * Indicate supported sound header formats * modify file names Co-authored-by: Jelle Zijlstra (cherry picked from commit 05c042e70786bd2e3fcb274d185e1e0a54dab5a7) Co-authored-by: Joannah Nanjekye <33177550+nanjekyejoannah@users.noreply.github.com> --- Doc/library/sndhdr.rst | 49 ++++++++++++++++++++++++++++++++++++++++++ Lib/sndhdr.py | 8 +++++++ 2 files changed, 57 insertions(+) diff --git a/Doc/library/sndhdr.rst b/Doc/library/sndhdr.rst index e1dbe4a1a34483..8c5c0bfc617b79 100644 --- a/Doc/library/sndhdr.rst +++ b/Doc/library/sndhdr.rst @@ -54,3 +54,52 @@ be the sample size in bits or ``'A'`` for A-LAW or ``'U'`` for u-LAW. .. versionchanged:: 3.5 Result changed from a tuple to a namedtuple. +The following sound header types are recognized, as listed below with the return value +from :func:`whathdr`: and :func:`what`: + ++------------+------------------------------------+ +| Value | Sound header format | ++============+====================================+ +| ``'aifc'`` | Compressed Audio Interchange Files | ++------------+------------------------------------+ +| ``'aiff'`` | Audio Interchange Files | ++------------+------------------------------------+ +| ``'au'`` | Au Files | ++------------+------------------------------------+ +| ``'hcom'`` | HCOM Files | ++------------+------------------------------------+ ++------------+------------------------------------+ +| ``'sndt'`` | Sndtool Sound Files | ++------------+------------------------------------+ +| ``'voc'`` | Creative Labs Audio Files | ++------------+------------------------------------+ +| ``'wav'`` | Waveform Audio File Format Files | ++------------+------------------------------------+ +| ``'8svx'`` | 8-Bit Sampled Voice Files | ++------------+------------------------------------+ +| ``'sb'`` | Signed Byte Audio Data Files | ++------------+------------------------------------+ +| ``'ub'`` | UB Files | ++------------+------------------------------------+ +| ``'ul'`` | uLAW Audio Files | ++------------+------------------------------------+ + +.. data:: tests + + A list of functions performing the individual tests. Each function takes two + arguments: the byte-stream and an open file-like object. When :func:`what` is + called with a byte-stream, the file-like object will be ``None``. + + The test function should return a string describing the image type if the test + succeeded, or ``None`` if it failed. + +Example: + +.. code-block:: pycon + + >>> import sndhdr + >>> imghdr.what('bass.wav') + 'wav' + >>> imghdr.whathdr('bass.wav') + 'wav' + diff --git a/Lib/sndhdr.py b/Lib/sndhdr.py index 98a783448239a8..45def9ad16d32c 100644 --- a/Lib/sndhdr.py +++ b/Lib/sndhdr.py @@ -77,6 +77,7 @@ def whathdr(filename): tests = [] def test_aifc(h, f): + """AIFC and AIFF files""" with warnings.catch_warnings(): warnings.simplefilter('ignore', category=DeprecationWarning) import aifc @@ -100,6 +101,7 @@ def test_aifc(h, f): def test_au(h, f): + """AU and SND files""" if h.startswith(b'.snd'): func = get_long_be elif h[:4] in (b'\0ds.', b'dns.'): @@ -133,6 +135,7 @@ def test_au(h, f): def test_hcom(h, f): + """HCOM file""" if h[65:69] != b'FSSD' or h[128:132] != b'HCOM': return None divisor = get_long_be(h[144:148]) @@ -146,6 +149,7 @@ def test_hcom(h, f): def test_voc(h, f): + """VOC file""" if not h.startswith(b'Creative Voice File\032'): return None sbseek = get_short_le(h[20:22]) @@ -160,6 +164,7 @@ def test_voc(h, f): def test_wav(h, f): + """WAV file""" import wave # 'RIFF' 'WAVE' 'fmt ' if not h.startswith(b'RIFF') or h[8:12] != b'WAVE' or h[12:16] != b'fmt ': @@ -176,6 +181,7 @@ def test_wav(h, f): def test_8svx(h, f): + """8SVX file""" if not h.startswith(b'FORM') or h[8:12] != b'8SVX': return None # Should decode it to get #channels -- assume always 1 @@ -185,6 +191,7 @@ def test_8svx(h, f): def test_sndt(h, f): + """SNDT file""" if h.startswith(b'SOUND'): nsamples = get_long_le(h[8:12]) rate = get_short_le(h[20:22]) @@ -194,6 +201,7 @@ def test_sndt(h, f): def test_sndr(h, f): + """SNDR file""" if h.startswith(b'\0\0'): rate = get_short_le(h[2:4]) if 4000 <= rate <= 25000: From 4e78d9482a661d700ce889e0f4197e30cf98f32b Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 08:22:38 -0700 Subject: [PATCH 209/494] gh-95971: Turn @writes_bytecode_files to skip when not running (GH-95972) Co-authored-by: Jelle Zijlstra (cherry picked from commit 07b5c4699e64eb30c3bdcb1275c167e675d37423) Co-authored-by: Jeong YunWon <69878+youknowone@users.noreply.github.com> --- Lib/test/test_importlib/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_importlib/util.py b/Lib/test/test_importlib/util.py index c07ac2a64c289f..0b6dcc5eaf03d2 100644 --- a/Lib/test/test_importlib/util.py +++ b/Lib/test/test_importlib/util.py @@ -298,7 +298,7 @@ def writes_bytecode_files(fxn): """Decorator to protect sys.dont_write_bytecode from mutation and to skip tests that require it to be set to False.""" if sys.dont_write_bytecode: - return lambda *args, **kwargs: None + return unittest.skip("relies on writing bytecode")(fxn) @functools.wraps(fxn) def wrapper(*args, **kwargs): original = sys.dont_write_bytecode From c0083e6470940f4c049b4b4f52cfeb2bb96ef3c3 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 09:12:18 -0700 Subject: [PATCH 210/494] gh-98227: executionmodel.rst: except* can also bind names (GH-98256) Co-authored-by: Jelle Zijlstra (cherry picked from commit 146f168fbf5b239158922f4defd494088c381525) Co-authored-by: BiscuitCandy <70342294+BiscuitCandy@users.noreply.github.com> --- Doc/reference/executionmodel.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/reference/executionmodel.rst b/Doc/reference/executionmodel.rst index d9183561820b2b..3f01180e13f776 100644 --- a/Doc/reference/executionmodel.rst +++ b/Doc/reference/executionmodel.rst @@ -67,7 +67,7 @@ The following constructs bind names: + :keyword:`for` loop header, + after :keyword:`!as` in a :keyword:`with` statement, :keyword:`except` - clause or in the as-pattern in structural pattern matching, + clause, :keyword:`except* ` clause, or in the as-pattern in structural pattern matching, + in a capture pattern in structural pattern matching * :keyword:`import` statements. From 42511fc72d7dd9f4c5a57a5d88ae20262be2faf7 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 10:52:45 -0700 Subject: [PATCH 211/494] Faster sieve() recipe (GH-98287) (cherry picked from commit f4370318d67f1f2f686c1c3a4b217ccc461d31e5) Co-authored-by: Raymond Hettinger --- Doc/library/itertools.rst | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 844972e5cd4ff1..004dd19a7f3a93 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -809,15 +809,25 @@ which incur interpreter overhead. for k in range(len(roots) + 1) ] + def iter_index(seq, value, start=0): + "Return indices where a value occurs in a sequence." + # iter_index('AABCADEAF', 'A') --> 0 1 4 7 + i = start - 1 + try: + while True: + yield (i := seq.index(value, i+1)) + except ValueError: + pass + def sieve(n): - "Primes less than n" - # sieve(30) --> 2 3 5 7 11 13 17 19 23 29 - data = bytearray([1]) * n - data[:2] = 0, 0 - limit = math.isqrt(n) + 1 - for p in compress(range(limit), data): - data[p+p : n : p] = bytearray(len(range(p+p, n, p))) - return compress(count(), data) + "Primes less than n" + # sieve(30) --> 2 3 5 7 11 13 17 19 23 29 + data = bytearray([1]) * n + data[:2] = 0, 0 + limit = math.isqrt(n) + 1 + for p in compress(range(limit), data): + data[p*p : n : p] = bytearray(len(range(p*p, n, p))) + return iter_index(data, 1) def flatten(list_of_lists): "Flatten one level of nesting" @@ -1170,6 +1180,15 @@ which incur interpreter overhead. >>> all(factored(x) == expanded(x) for x in range(-10, 11)) True + >>> list(iter_index('AABCADEAF', 'A')) + [0, 1, 4, 7] + >>> list(iter_index('AABCADEAF', 'B')) + [2] + >>> list(iter_index('AABCADEAF', 'X')) + [] + >>> list(iter_index('', 'X')) + [] + >>> list(sieve(30)) [2, 3, 5, 7, 11, 13, 17, 19, 23, 29] >>> small_primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] From 099620b0ce964ffe85fc52a7595ece13a55ca81c Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 15 Oct 2022 13:11:04 -0500 Subject: [PATCH 212/494] [3.11] Backport docstring improvement from 3.12 (#98288) Backport docstring improvement from 3.12 --- Lib/random.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Lib/random.py b/Lib/random.py index 1f3530e880fce2..f94616e048c554 100644 --- a/Lib/random.py +++ b/Lib/random.py @@ -282,10 +282,10 @@ def randbytes(self, n): ## -------------------- integer methods ------------------- def randrange(self, start, stop=None, step=_ONE): - """Choose a random item from range(start, stop[, step]). + """Choose a random item from range(stop) or range(start, stop[, step]). - This fixes the problem with randint() which includes the - endpoint; in Python this is usually not what you want. + Roughly equivalent to ``choice(range(start, stop, step))`` but + supports arbitrarily large ranges and is optimized for common cases. """ From 93d0d9cfdd74b7ff80a75ce8887adef600f21c69 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Sat, 15 Oct 2022 11:48:48 -0700 Subject: [PATCH 213/494] [3.11] gh-94808: Cover `PyEval_GetFuncName` (GH-98246). (#98283) (cherry picked from commit f01b56c7bdec239abe0dae2706f8325f4336249c) Co-authored-by: Nikita Sobolev --- Lib/test/test_capi.py | 15 +++++++++++++++ Modules/_testcapimodule.c | 7 +++++++ 2 files changed, 22 insertions(+) diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py index e157d9fdc850b6..6e56016a47cc0a 100644 --- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -724,6 +724,21 @@ def test_export_symbols(self): with self.subTest(name=name): self.assertTrue(hasattr(ctypes.pythonapi, name)) + def test_eval_get_func_name(self): + def function_example(): ... + + class A: + def method_example(self): ... + + self.assertEqual(_testcapi.eval_get_func_name(function_example), + "function_example") + self.assertEqual(_testcapi.eval_get_func_name(A.method_example), + "method_example") + self.assertEqual(_testcapi.eval_get_func_name(A().method_example), + "method_example") + self.assertEqual(_testcapi.eval_get_func_name(sum), "sum") # c function + self.assertEqual(_testcapi.eval_get_func_name(A), "type") + class TestPendingCalls(unittest.TestCase): diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c index 43fec8138a0ebc..69703be186d11f 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -5935,6 +5935,12 @@ frame_getlasti(PyObject *self, PyObject *frame) return PyLong_FromLong(lasti); } +static PyObject * +eval_get_func_name(PyObject *self, PyObject *func) +{ + return PyUnicode_FromString(PyEval_GetFuncName(func)); +} + static PyObject * get_feature_macros(PyObject *self, PyObject *Py_UNUSED(args)) { @@ -6372,6 +6378,7 @@ static PyMethodDef TestMethods[] = { {"frame_getgenerator", frame_getgenerator, METH_O, NULL}, {"frame_getbuiltins", frame_getbuiltins, METH_O, NULL}, {"frame_getlasti", frame_getlasti, METH_O, NULL}, + {"eval_get_func_name", eval_get_func_name, METH_O, NULL}, {"get_feature_macros", get_feature_macros, METH_NOARGS, NULL}, {"test_code_api", test_code_api, METH_NOARGS, NULL}, {"settrace_to_record", settrace_to_record, METH_O, NULL}, From 91bcd2161f150548b247a3821af4eb18167c3fca Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 12:03:27 -0700 Subject: [PATCH 214/494] Upgrade ccache-action to one using Node 16 (GH-98166) Github Actions has deprecated the use of Node 12, and will be turning it off by summer 2023. https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/ (cherry picked from commit ad8e297b7297dfdc34fad53b589b31d0920150ab) Co-authored-by: Michael Droettboom --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8a535831a6054d..cba0eac83ca82a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,7 +107,7 @@ jobs: - name: Add ccache to PATH run: echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV - name: Configure ccache action - uses: hendrikmuhs/ccache-action@v1 + uses: hendrikmuhs/ccache-action@v1.2 - name: Check Autoconf version 2.69 and aclocal 1.16.3 run: | grep "Generated by GNU Autoconf 2.69" configure @@ -236,7 +236,7 @@ jobs: run: | echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV - name: Configure ccache action - uses: hendrikmuhs/ccache-action@v1 + uses: hendrikmuhs/ccache-action@v1.2 - name: Setup directory envs for out-of-tree builds run: | echo "CPYTHON_RO_SRCDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-ro-srcdir)" >> $GITHUB_ENV @@ -299,7 +299,7 @@ jobs: run: | echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV - name: Configure ccache action - uses: hendrikmuhs/ccache-action@v1 + uses: hendrikmuhs/ccache-action@v1.2 - name: Configure CPython run: ./configure --with-pydebug --with-openssl=$OPENSSL_DIR - name: Build CPython @@ -343,7 +343,7 @@ jobs: run: | echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV - name: Configure ccache action - uses: hendrikmuhs/ccache-action@v1 + uses: hendrikmuhs/ccache-action@v1.2 - name: Configure CPython run: ./configure --with-address-sanitizer --without-pymalloc - name: Build CPython From d3b57dc7291dee8adf276dee59d7654cad7942b4 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 12:25:58 -0700 Subject: [PATCH 215/494] docs(typing): harmonize "See PEP x for more details" (GH-97927) (cherry picked from commit 02389658a4751a0166e2ed22be112b646378a01b) Co-authored-by: Simon Legner --- Doc/library/typing.rst | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index 070f3006e20cc5..04f63f6f54bc77 100644 --- a/Doc/library/typing.rst +++ b/Doc/library/typing.rst @@ -248,7 +248,7 @@ respectively. .. versionchanged:: 3.10 ``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. - See :pep:`612` for more information. + See :pep:`612` for more details. .. seealso:: The documentation for :class:`ParamSpec` and :class:`Concatenate` provides @@ -723,7 +723,7 @@ These can be used as types in annotations and do not support ``[]``. of the ``cls`` parameter. - Annotating an :meth:`~object.__enter__` method which returns self. - For more information, see :pep:`673`. + See :pep:`673` for more details. .. versionadded:: 3.11 @@ -854,7 +854,7 @@ These can be used as types in annotations using ``[]``, each having a unique syn .. versionchanged:: 3.10 ``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. - See :pep:`612` for more information. + See :pep:`612` for more details. .. seealso:: The documentation for :class:`ParamSpec` and :class:`Concatenate` provide @@ -1040,8 +1040,7 @@ These can be used as types in annotations using ``[]``, each having a unique syn Special typing constructs that mark individual keys of a :class:`TypedDict` as either required or non-required respectively. - For more information, see :class:`TypedDict` and - :pep:`655` ("Marking individual TypedDict items as required or potentially missing"). + See :class:`TypedDict` and :pep:`655` for more details. .. versionadded:: 3.11 @@ -1192,8 +1191,7 @@ These can be used as types in annotations using ``[]``, each having a unique syn is not a subtype of the former, since ``list`` is invariant. The responsibility of writing type-safe type guards is left to the user. - ``TypeGuard`` also works with type variables. For more information, see - :pep:`647` (User-Defined Type Guards). + ``TypeGuard`` also works with type variables. See :pep:`647` for more details. .. versionadded:: 3.10 @@ -1393,7 +1391,7 @@ These are not used in annotations. They are building blocks for creating generic to ``call_soon`` match the types of the (positional) arguments of ``callback``. - For more details on type variable tuples, see :pep:`646`. + See :pep:`646` for more details on type variable tuples. .. versionadded:: 3.11 @@ -1556,7 +1554,7 @@ These are not used in annotations. They are building blocks for creating generic func(C()) # Passes static type check - See :pep:`544` for details. Protocol classes decorated with + See :pep:`544` for more details. Protocol classes decorated with :func:`runtime_checkable` (described later) act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. @@ -2626,7 +2624,7 @@ Functions and decorators def process(response): - See :pep:`484` for details and comparison with other typing semantics. + See :pep:`484` for more details and comparison with other typing semantics. .. versionchanged:: 3.11 Overloaded functions can now be introspected at runtime using From 79c0adeb1dd5a5af07398b5f4446fa2d86dddf1f Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Sat, 15 Oct 2022 21:51:58 +0100 Subject: [PATCH 216/494] =?UTF-8?q?[3.11]=20[doc]=20Update=20logging=20coo?= =?UTF-8?q?kbook=20with=20an=20example=20of=20custom=20handli=E2=80=A6=20(?= =?UTF-8?q?GH-98296)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jelle Zijlstra --- Doc/howto/logging-cookbook.rst | 210 ++++++++++++++++++++++++++++++++- 1 file changed, 206 insertions(+), 4 deletions(-) diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst index d43ffb24085d64..acbc708e2f5ca3 100644 --- a/Doc/howto/logging-cookbook.rst +++ b/Doc/howto/logging-cookbook.rst @@ -276,6 +276,211 @@ choose a different directory name for the log - just ensure that the directory e and that you have the permissions to create and update files in it. +.. _custom-level-handling: + +Custom handling of levels +------------------------- + +Sometimes, you might want to do something slightly different from the standard +handling of levels in handlers, where all levels above a threshold get +processed by a handler. To do this, you need to use filters. Let's look at a +scenario where you want to arrange things as follows: + +* Send messages of severity ``INFO`` and ``WARNING`` to ``sys.stdout`` +* Send messages of severity ``ERROR`` and above to ``sys.stderr`` +* Send messages of severity ``DEBUG`` and above to file ``app.log`` + +Suppose you configure logging with the following JSON: + +.. code-block:: json + + { + "version": 1, + "disable_existing_loggers": false, + "formatters": { + "simple": { + "format": "%(levelname)-8s - %(message)s" + } + }, + "handlers": { + "stdout": { + "class": "logging.StreamHandler", + "level": "INFO", + "formatter": "simple", + "stream": "ext://sys.stdout", + }, + "stderr": { + "class": "logging.StreamHandler", + "level": "ERROR", + "formatter": "simple", + "stream": "ext://sys.stderr" + }, + "file": { + "class": "logging.FileHandler", + "formatter": "simple", + "filename": "app.log", + "mode": "w" + } + }, + "root": { + "level": "DEBUG", + "handlers": [ + "stderr", + "stdout", + "file" + ] + } + } + +This configuration does *almost* what we want, except that ``sys.stdout`` would +show messages of severity ``ERROR`` and above as well as ``INFO`` and +``WARNING`` messages. To prevent this, we can set up a filter which excludes +those messages and add it to the relevant handler. This can be configured by +adding a ``filters`` section parallel to ``formatters`` and ``handlers``: + +.. code-block:: json + + "filters": { + "warnings_and_below": { + "()" : "__main__.filter_maker", + "level": "WARNING" + } + } + +and changing the section on the ``stdout`` handler to add it: + +.. code-block:: json + + "stdout": { + "class": "logging.StreamHandler", + "level": "INFO", + "formatter": "simple", + "stream": "ext://sys.stdout", + "filters": ["warnings_and_below"] + } + +A filter is just a function, so we can define the ``filter_maker`` (a factory +function) as follows: + +.. code-block:: python + + def filter_maker(level): + level = getattr(logging, level) + + def filter(record): + return record.levelno <= level + + return filter + +This converts the string argument passed in to a numeric level, and returns a +function which only returns ``True`` if the level of the passed in record is +at or below the specified level. Note that in this example I have defined the +``filter_maker`` in a test script ``main.py`` that I run from the command line, +so its module will be ``__main__`` - hence the ``__main__.filter_maker`` in the +filter configuration. You will need to change that if you define it in a +different module. + +With the filter added, we can run ``main.py``, which in full is: + +.. code-block:: python + + import json + import logging + import logging.config + + CONFIG = ''' + { + "version": 1, + "disable_existing_loggers": false, + "formatters": { + "simple": { + "format": "%(levelname)-8s - %(message)s" + } + }, + "filters": { + "warnings_and_below": { + "()" : "__main__.filter_maker", + "level": "WARNING" + } + }, + "handlers": { + "stdout": { + "class": "logging.StreamHandler", + "level": "INFO", + "formatter": "simple", + "stream": "ext://sys.stdout", + "filters": ["warnings_and_below"] + }, + "stderr": { + "class": "logging.StreamHandler", + "level": "ERROR", + "formatter": "simple", + "stream": "ext://sys.stderr" + }, + "file": { + "class": "logging.FileHandler", + "formatter": "simple", + "filename": "app.log", + "mode": "w" + } + }, + "root": { + "level": "DEBUG", + "handlers": [ + "stderr", + "stdout", + "file" + ] + } + } + ''' + + def filter_maker(level): + level = getattr(logging, level) + + def filter(record): + return record.levelno <= level + + return filter + + logging.config.dictConfig(json.loads(CONFIG)) + logging.debug('A DEBUG message') + logging.info('An INFO message') + logging.warning('A WARNING message') + logging.error('An ERROR message') + logging.critical('A CRITICAL message') + +And after running it like this: + +.. code-block:: shell + + python main.py 2>stderr.log >stdout.log + +We can see the results are as expected: + +.. code-block:: shell + + $ more *.log + :::::::::::::: + app.log + :::::::::::::: + DEBUG - A DEBUG message + INFO - An INFO message + WARNING - A WARNING message + ERROR - An ERROR message + CRITICAL - A CRITICAL message + :::::::::::::: + stderr.log + :::::::::::::: + ERROR - An ERROR message + CRITICAL - A CRITICAL message + :::::::::::::: + stdout.log + :::::::::::::: + INFO - An INFO message + WARNING - A WARNING message + + Configuration server example ---------------------------- @@ -3503,7 +3708,7 @@ instance). Then, you'd get this kind of result: WARNING:demo:Bar >>> -Of course, these above examples show output according to the format used by +Of course, the examples above show output according to the format used by :func:`~logging.basicConfig`, but you can use a different formatter when you configure logging. @@ -3517,7 +3722,6 @@ need to do or deal with, it is worth mentioning some usage patterns which are *unhelpful*, and which should therefore be avoided in most cases. The following sections are in no particular order. - Opening the same log file multiple times ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -3566,7 +3770,6 @@ that in other languages such as Java and C#, loggers are often static class attributes. However, this pattern doesn't make sense in Python, where the module (and not the class) is the unit of software decomposition. - Adding handlers other than :class:`NullHandler` to a logger in a library ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -3575,7 +3778,6 @@ responsibility of the application developer, not the library developer. If you are maintaining a library, ensure that you don't add handlers to any of your loggers other than a :class:`~logging.NullHandler` instance. - Creating a lot of loggers ^^^^^^^^^^^^^^^^^^^^^^^^^ From a2ae35dfa4605f3f6a1777ce136b3872dcb97a8e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 14:24:05 -0700 Subject: [PATCH 217/494] [3.11] Improve speed. Reduce auxiliary memory to 16.6% of the main array. (GH-98294) (GH-98303) --- Doc/library/itertools.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 004dd19a7f3a93..49fb8407890c36 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -822,12 +822,13 @@ which incur interpreter overhead. def sieve(n): "Primes less than n" # sieve(30) --> 2 3 5 7 11 13 17 19 23 29 - data = bytearray([1]) * n - data[:2] = 0, 0 + data = bytearray((0, 1)) * (n // 2) + data[:3] = 0, 0, 0 limit = math.isqrt(n) + 1 for p in compress(range(limit), data): - data[p*p : n : p] = bytearray(len(range(p*p, n, p))) - return iter_index(data, 1) + data[p*p : n : p+p] = bytes(len(range(p*p, n, p+p))) + data[2] = 1 + return iter_index(data, 1) if n > 2 else iter([]) def flatten(list_of_lists): "Flatten one level of nesting" From b5874fae0a618e4b0815a54242b0703bd92482be Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 15 Oct 2022 21:15:17 -0700 Subject: [PATCH 218/494] [3.11] gh-95731: Fix module docstring extraction in pygettext (GH-95732) (#98281) gh-95731: Fix module docstring extraction in pygettext (GH-95732) (cherry picked from commit 120b4ab2b68aebf96ce0de243eab89a25fc2d282) Co-authored-by: Jakub Kuczys --- Lib/test/test_tools/test_i18n.py | 20 +++++++++++++++++++ ...2-08-05-23-25-59.gh-issue-95731.N2KohU.rst | 1 + Tools/i18n/pygettext.py | 7 ++++--- 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Tools-Demos/2022-08-05-23-25-59.gh-issue-95731.N2KohU.rst diff --git a/Lib/test/test_tools/test_i18n.py b/Lib/test/test_tools/test_i18n.py index 7f18edaaa8ca60..c083a04475e726 100644 --- a/Lib/test/test_tools/test_i18n.py +++ b/Lib/test/test_tools/test_i18n.py @@ -155,6 +155,26 @@ class C: ''')) self.assertFalse([msgid for msgid in msgids if 'doc' in msgid]) + def test_moduledocstring(self): + for doc in ('"""doc"""', "r'''doc'''", "R'doc'", 'u"doc"'): + with self.subTest(doc): + msgids = self.extract_docstrings_from_str(dedent('''\ + %s + ''' % doc)) + self.assertIn('doc', msgids) + + def test_moduledocstring_bytes(self): + msgids = self.extract_docstrings_from_str(dedent('''\ + b"""doc""" + ''')) + self.assertFalse([msgid for msgid in msgids if 'doc' in msgid]) + + def test_moduledocstring_fstring(self): + msgids = self.extract_docstrings_from_str(dedent('''\ + f"""doc""" + ''')) + self.assertFalse([msgid for msgid in msgids if 'doc' in msgid]) + def test_msgid(self): msgids = self.extract_docstrings_from_str( '''_("""doc""" r'str' u"ing")''') diff --git a/Misc/NEWS.d/next/Tools-Demos/2022-08-05-23-25-59.gh-issue-95731.N2KohU.rst b/Misc/NEWS.d/next/Tools-Demos/2022-08-05-23-25-59.gh-issue-95731.N2KohU.rst new file mode 100644 index 00000000000000..6b214616c0a920 --- /dev/null +++ b/Misc/NEWS.d/next/Tools-Demos/2022-08-05-23-25-59.gh-issue-95731.N2KohU.rst @@ -0,0 +1 @@ +Fix handling of module docstrings in :file:`Tools/i18n/pygettext.py`. diff --git a/Tools/i18n/pygettext.py b/Tools/i18n/pygettext.py index 6f889adffe6c7a..7ada79105db1ca 100755 --- a/Tools/i18n/pygettext.py +++ b/Tools/i18n/pygettext.py @@ -335,9 +335,10 @@ def __waiting(self, ttype, tstring, lineno): if ttype == tokenize.STRING and is_literal_string(tstring): self.__addentry(safe_eval(tstring), lineno, isdocstring=1) self.__freshmodule = 0 - elif ttype not in (tokenize.COMMENT, tokenize.NL): - self.__freshmodule = 0 - return + return + if ttype in (tokenize.COMMENT, tokenize.NL, tokenize.ENCODING): + return + self.__freshmodule = 0 # class or func/method docstring? if ttype == tokenize.NAME and tstring in ('class', 'def'): self.__state = self.__suiteseen From 21fbf1631d37fd5f769fde5795c62e1f1e90842a Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 16 Oct 2022 09:00:47 -0700 Subject: [PATCH 219/494] gh-97527: IDLE - fix buggy macosx patch (GH-98313) GH-97530 fixed IDLE tests possibly crashing on a Mac without a GUI. But it resulted in IDLE not starting in 3.10.8, 3.12.0a1, and Microsoft Python 3.10.2288.0 when test/* is not installed. After this patch, test.* is only imported when testing on Mac. (cherry picked from commit 35fa5d5e7f2b0971b39b2659dc70cb77e34a7dd6) Co-authored-by: Terry Jan Reedy --- Lib/idlelib/NEWS.txt | 5 +++ Lib/idlelib/macosx.py | 42 ++++++++++++------- ...2-10-15-21-20-40.gh-issue-97527.otAHJM.rst | 3 ++ 3 files changed, 34 insertions(+), 16 deletions(-) create mode 100644 Misc/NEWS.d/next/IDLE/2022-10-15-21-20-40.gh-issue-97527.otAHJM.rst diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt index 7fa7facf8cf780..e64e96f75e6cfc 100644 --- a/Lib/idlelib/NEWS.txt +++ b/Lib/idlelib/NEWS.txt @@ -4,6 +4,11 @@ Released on 2022-10-03 ========================= +gh-97527: Fix a bug in the previous bugfix that caused IDLE to not +start when run with 3.10.8, 3.12.0a1, and at least Microsoft Python +3.10.2288.0 installed without the Lib/test package. 3.11.0 was never +affected. + gh-65802: Document handling of extensions in Save As dialogs. gh-95191: Include prompts when saving Shell (interactive input/output). diff --git a/Lib/idlelib/macosx.py b/Lib/idlelib/macosx.py index 12399f152aea2a..89b645702d334d 100644 --- a/Lib/idlelib/macosx.py +++ b/Lib/idlelib/macosx.py @@ -4,7 +4,6 @@ from os.path import expanduser import plistlib from sys import platform # Used in _init_tk_type, changed by test. -from test.support import requires, ResourceDenied import tkinter @@ -16,27 +15,38 @@ def _init_tk_type(): """ Initialize _tk_type for isXyzTk functions. + + This function is only called once, when _tk_type is still None. """ global _tk_type if platform == 'darwin': - try: - requires('gui') - except ResourceDenied: # Possible when testing. - _tk_type = "cocoa" # Newest and most common. - else: - root = tkinter.Tk() - ws = root.tk.call('tk', 'windowingsystem') - if 'x11' in ws: - _tk_type = "xquartz" - elif 'aqua' not in ws: - _tk_type = "other" - elif 'AppKit' in root.tk.call('winfo', 'server', '.'): + + # When running IDLE, GUI is present, test/* may not be. + # When running tests, test/* is present, GUI may not be. + # If not, guess most common. Does not matter for testing. + from idlelib.__init__ import testing + if testing: + from test.support import requires, ResourceDenied + try: + requires('gui') + except ResourceDenied: _tk_type = "cocoa" - else: - _tk_type = "carbon" - root.destroy() + return + + root = tkinter.Tk() + ws = root.tk.call('tk', 'windowingsystem') + if 'x11' in ws: + _tk_type = "xquartz" + elif 'aqua' not in ws: + _tk_type = "other" + elif 'AppKit' in root.tk.call('winfo', 'server', '.'): + _tk_type = "cocoa" + else: + _tk_type = "carbon" + root.destroy() else: _tk_type = "other" + return def isAquaTk(): """ diff --git a/Misc/NEWS.d/next/IDLE/2022-10-15-21-20-40.gh-issue-97527.otAHJM.rst b/Misc/NEWS.d/next/IDLE/2022-10-15-21-20-40.gh-issue-97527.otAHJM.rst new file mode 100644 index 00000000000000..e7fda89741942f --- /dev/null +++ b/Misc/NEWS.d/next/IDLE/2022-10-15-21-20-40.gh-issue-97527.otAHJM.rst @@ -0,0 +1,3 @@ +Fix a bug in the previous bugfix that caused IDLE to not start when run with +3.10.8, 3.12.0a1, and at least Microsoft Python 3.10.2288.0 installed +without the Lib/test package. 3.11.0 was never affected. From e26c526fd4f483fdaa821850392149d40d41d9ea Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 16 Oct 2022 10:16:48 -0700 Subject: [PATCH 220/494] gh-85299: Add note warning about entry point guard for asyncio example (GH-93457) (cherry picked from commit 79fd6ccdbe00ec95e4d33fc24fe76076282a334e) Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com> --- Doc/library/asyncio-eventloop.rst | 8 +++++++- Doc/library/multiprocessing.rst | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index 8125612de58a02..93bca96fff6f10 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -1232,7 +1232,13 @@ Executing code in thread or process pools pool, cpu_bound) print('custom process pool', result) - asyncio.run(main()) + if __name__ == '__main__': + asyncio.run(main()) + + Note that the entry point guard (``if __name__ == '__main__'``) + is required for option 3 due to the peculiarities of :mod:`multiprocessing`, + which is used by :class:`~concurrent.futures.ProcessPoolExecutor`. + See :ref:`Safe importing of main module `. This method returns a :class:`asyncio.Future` object. diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index dab115acdc207c..5516084780673f 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -2954,6 +2954,8 @@ Global variables However, global variables which are just module level constants cause no problems. +.. _multiprocessing-safe-main-import: + Safe importing of main module Make sure that the main module can be safely imported by a new Python From f64e26c04e30a159901a68a5c7d3040944bc5f03 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Sun, 16 Oct 2022 18:45:59 +0100 Subject: [PATCH 221/494] =?UTF-8?q?[3.11]=20gh-98307:=20Add=20docstring=20?= =?UTF-8?q?and=20documentation=20for=20SysLogHandler.cr=E2=80=A6=20(GH-983?= =?UTF-8?q?25)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: C.A.M. Gerlach --- Doc/library/logging.handlers.rst | 11 +++++++++++ Lib/logging/handlers.py | 9 ++++++++- .../2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst | 2 ++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst diff --git a/Doc/library/logging.handlers.rst b/Doc/library/logging.handlers.rst index 8ab76ab93b60fb..b6455298278743 100644 --- a/Doc/library/logging.handlers.rst +++ b/Doc/library/logging.handlers.rst @@ -650,6 +650,17 @@ supports sending logging messages to a remote or local Unix syslog. Closes the socket to the remote host. + .. method:: createSocket() + + Tries to create a socket and, if it's not a datagram socket, connect it + to the other end. This method is called during handler initialization, + but it's not regarded as an error if the other end isn't listening at + this point - the method will be called again when emitting an event, if + but it's not regarded as an error if the other end isn't listening yet + --- the method will be called again when emitting an event, + if there is no socket at that point. + + .. versionadded:: 3.11 .. method:: emit(record) diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index c6853e0513e080..f5a9760fd496b6 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -891,6 +891,13 @@ def _connect_unixsocket(self, address): raise def createSocket(self): + """ + Try to create a socket and, if it's not a datagram socket, connect it + to the other end. This method is called during handler initialization, + but it's not regarded as an error if the other end isn't listening yet + --- the method will be called again when emitting an event, + if there is no socket at that point. + """ address = self.address socktype = self.socktype @@ -898,7 +905,7 @@ def createSocket(self): self.unixsocket = True # Syslog server may be unavailable during handler initialisation. # C's openlog() function also ignores connection errors. - # Moreover, we ignore these errors while logging, so it not worse + # Moreover, we ignore these errors while logging, so it's not worse # to ignore it also here. try: self._connect_unixsocket(address) diff --git a/Misc/NEWS.d/next/Library/2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst b/Misc/NEWS.d/next/Library/2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst new file mode 100644 index 00000000000000..3fe41d53c980b9 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst @@ -0,0 +1,2 @@ +A :meth:`~logging.handlers.SysLogHandler.createSocket` method was added to +:class:`~logging.handlers.SysLogHandler`. From 211b8193cac5d996406f7140e4162f1383154c89 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sun, 16 Oct 2022 12:41:41 -0700 Subject: [PATCH 222/494] GH-91415: Mention alphabetical sort ordering in the Sorting HOWTO (GH-98336) (cherry picked from commit ae192178679c532e2c1b2d3b8c0928b77e0fe90e) Co-authored-by: Raymond Hettinger --- Doc/howto/sorting.rst | 98 ++++++++++--------------------------------- 1 file changed, 22 insertions(+), 76 deletions(-) diff --git a/Doc/howto/sorting.rst b/Doc/howto/sorting.rst index 53cbe01e92144b..588e895b04bde2 100644 --- a/Doc/howto/sorting.rst +++ b/Doc/howto/sorting.rst @@ -186,8 +186,8 @@ The `Timsort `_ algorithm used in Python does multiple sorts efficiently because it can take advantage of any ordering already present in a dataset. -The Old Way Using Decorate-Sort-Undecorate -========================================== +Decorate-Sort-Undecorate +======================== This idiom is called Decorate-Sort-Undecorate after its three steps: @@ -226,90 +226,36 @@ after Randal L. Schwartz, who popularized it among Perl programmers. Now that Python sorting provides key-functions, this technique is not often needed. +Comparison Functions +==================== -The Old Way Using the *cmp* Parameter -===================================== - -Many constructs given in this HOWTO assume Python 2.4 or later. Before that, -there was no :func:`sorted` builtin and :meth:`list.sort` took no keyword -arguments. Instead, all of the Py2.x versions supported a *cmp* parameter to -handle user specified comparison functions. - -In Py3.0, the *cmp* parameter was removed entirely (as part of a larger effort to -simplify and unify the language, eliminating the conflict between rich -comparisons and the :meth:`__cmp__` magic method). - -In Py2.x, sort allowed an optional function which can be called for doing the -comparisons. That function should take two arguments to be compared and then -return a negative value for less-than, return zero if they are equal, or return -a positive value for greater-than. For example, we can do: - -.. doctest:: - - >>> def numeric_compare(x, y): - ... return x - y - >>> sorted([5, 2, 4, 1, 3], cmp=numeric_compare) # doctest: +SKIP - [1, 2, 3, 4, 5] - -Or you can reverse the order of comparison with: - -.. doctest:: - - >>> def reverse_numeric(x, y): - ... return y - x - >>> sorted([5, 2, 4, 1, 3], cmp=reverse_numeric) # doctest: +SKIP - [5, 4, 3, 2, 1] - -When porting code from Python 2.x to 3.x, the situation can arise when you have -the user supplying a comparison function and you need to convert that to a key -function. The following wrapper makes that easy to do: - -.. testcode:: - - def cmp_to_key(mycmp): - 'Convert a cmp= function into a key= function' - class K: - def __init__(self, obj, *args): - self.obj = obj - def __lt__(self, other): - return mycmp(self.obj, other.obj) < 0 - def __gt__(self, other): - return mycmp(self.obj, other.obj) > 0 - def __eq__(self, other): - return mycmp(self.obj, other.obj) == 0 - def __le__(self, other): - return mycmp(self.obj, other.obj) <= 0 - def __ge__(self, other): - return mycmp(self.obj, other.obj) >= 0 - def __ne__(self, other): - return mycmp(self.obj, other.obj) != 0 - return K - -.. doctest:: - :hide: +Unlike key functions that return an absolute value for sorting, a comparison +function computes the relative ordering for two inputs. - >>> sorted([5, 2, 4, 1, 3], key=cmp_to_key(reverse_numeric)) - [5, 4, 3, 2, 1] +For example, a `balance scale +`_ +compares two samples giving a relative ordering: lighter, equal, or heavier. +Likewise, a comparison function such as ``cmp(a, b)`` will return a negative +value for less-than, zero if the inputs are equal, or a positive value for +greater-than. -To convert to a key function, just wrap the old comparison function: - -.. testsetup:: - - from functools import cmp_to_key - -.. doctest:: +It is common to encounter comparison functions when translating algorithms from +other languages. Also, some libraries provide comparison functions as part of +their API. For example, :func:`locale.strcoll` is a comparison function. - >>> sorted([5, 2, 4, 1, 3], key=cmp_to_key(reverse_numeric)) - [5, 4, 3, 2, 1] +To accommodate those situations, Python provides +:class:`functools.cmp_to_key` to wrap the comparison function +to make it usable as a key function:: -In Python 3.2, the :func:`functools.cmp_to_key` function was added to the -:mod:`functools` module in the standard library. + sorted(words, key=cmp_to_key(strcoll) Odds and Ends ============= * For locale aware sorting, use :func:`locale.strxfrm` for a key function or - :func:`locale.strcoll` for a comparison function. + :func:`locale.strcoll` for a comparison function. This is necessary + because "alphabetical" sort orderings can vary across cultures even + if the underlying alphabet is the same. * The *reverse* parameter still maintains sort stability (so that records with equal keys retain the original order). Interestingly, that effect can be From f4a0b80250576a71e342d09a8b1143f29cd5adc1 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 17 Oct 2022 12:25:18 -0700 Subject: [PATCH 223/494] gh-95914: Add What's New item describing PEP 670 changes (GH-98315) (cherry picked from commit aafc53c0a6d1450dcfbc3f994318025ffb49ce73) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index 24ee491d28e222..b765b1a11b18a8 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -1899,6 +1899,17 @@ New Features Porting to Python 3.11 ---------------------- +* Some macros have been converted to static inline functions to avoid + `macro pitfalls `_. + The change should be mostly transparent to users, + as the replacement functions will cast their arguments to the expected types + to avoid compiler warnings due to static type checks. + However, when the limited C API is set to >=3.11, + these casts are not done, + and callers will need to cast arguments to their expected types. + See :pep:`670` for more details. + (Contributed by Victor Stinner and Erlend E. Aasland in :gh:`89653`.) + * :c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback`` arguments, the interpreter now derives those values from the exception instance (the ``value`` argument). The function still steals references From 6c7f7ec8199f9172224e8ccc9391e20cf7023e13 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 17 Oct 2022 15:08:10 -0700 Subject: [PATCH 224/494] gh-85525: Remove extra row in doc (GH-98337) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * remove extra row * 📜🤖 Added by blurb_it. Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> (cherry picked from commit 5c9302d03a57759225dab9e2d7bdd38e79009441) Co-authored-by: Joannah Nanjekye <33177550+nanjekyejoannah@users.noreply.github.com> --- Doc/library/sndhdr.rst | 1 - .../Documentation/2022-10-16-17-34-45.gh-issue-85525.DvkD0v.rst | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Documentation/2022-10-16-17-34-45.gh-issue-85525.DvkD0v.rst diff --git a/Doc/library/sndhdr.rst b/Doc/library/sndhdr.rst index 8c5c0bfc617b79..fa9323e18dc348 100644 --- a/Doc/library/sndhdr.rst +++ b/Doc/library/sndhdr.rst @@ -68,7 +68,6 @@ from :func:`whathdr`: and :func:`what`: +------------+------------------------------------+ | ``'hcom'`` | HCOM Files | +------------+------------------------------------+ -+------------+------------------------------------+ | ``'sndt'`` | Sndtool Sound Files | +------------+------------------------------------+ | ``'voc'`` | Creative Labs Audio Files | diff --git a/Misc/NEWS.d/next/Documentation/2022-10-16-17-34-45.gh-issue-85525.DvkD0v.rst b/Misc/NEWS.d/next/Documentation/2022-10-16-17-34-45.gh-issue-85525.DvkD0v.rst new file mode 100644 index 00000000000000..292e16998acdc0 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2022-10-16-17-34-45.gh-issue-85525.DvkD0v.rst @@ -0,0 +1 @@ +Remove extra row From 9cb30bb339fedf76cb7c3950114bb07c5d35efeb Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 17 Oct 2022 15:38:22 -0700 Subject: [PATCH 225/494] Move random selection recipes from itertools.rst to random.rst (GH-98369) (cherry picked from commit 70732d8a4c98cdf3cc9efa5241ce33fb9bc323ca) Co-authored-by: Raymond Hettinger --- Doc/library/itertools.rst | 25 ------------------------- Doc/library/random.rst | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 49fb8407890c36..26ede4b49a0108 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -1000,31 +1000,6 @@ which incur interpreter overhead. # first_true([a,b], x, f) --> a if f(a) else b if f(b) else x return next(filter(pred, iterable), default) - def random_product(*args, repeat=1): - "Random selection from itertools.product(*args, **kwds)" - pools = [tuple(pool) for pool in args] * repeat - return tuple(map(random.choice, pools)) - - def random_permutation(iterable, r=None): - "Random selection from itertools.permutations(iterable, r)" - pool = tuple(iterable) - r = len(pool) if r is None else r - return tuple(random.sample(pool, r)) - - def random_combination(iterable, r): - "Random selection from itertools.combinations(iterable, r)" - pool = tuple(iterable) - n = len(pool) - indices = sorted(random.sample(range(n), r)) - return tuple(pool[i] for i in indices) - - def random_combination_with_replacement(iterable, r): - "Random selection from itertools.combinations_with_replacement(iterable, r)" - pool = tuple(iterable) - n = len(pool) - indices = sorted(random.choices(range(n), k=r)) - return tuple(pool[i] for i in indices) - def nth_combination(iterable, r, index): "Equivalent to list(combinations(iterable, r))[index]" pool = tuple(iterable) diff --git a/Doc/library/random.rst b/Doc/library/random.rst index 94215daad11256..2b87a36f7c5200 100644 --- a/Doc/library/random.rst +++ b/Doc/library/random.rst @@ -564,6 +564,37 @@ Simulation of arrival times and service deliveries for a multiserver queue:: Recipes ------- +These recipes show how to efficiently make random selections +from the combinatoric iterators in the :mod:`itertools` module: + +.. testcode:: + import random + + def random_product(*args, repeat=1): + "Random selection from itertools.product(*args, **kwds)" + pools = [tuple(pool) for pool in args] * repeat + return tuple(map(random.choice, pools)) + + def random_permutation(iterable, r=None): + "Random selection from itertools.permutations(iterable, r)" + pool = tuple(iterable) + r = len(pool) if r is None else r + return tuple(random.sample(pool, r)) + + def random_combination(iterable, r): + "Random selection from itertools.combinations(iterable, r)" + pool = tuple(iterable) + n = len(pool) + indices = sorted(random.sample(range(n), r)) + return tuple(pool[i] for i in indices) + + def random_combination_with_replacement(iterable, r): + "Random selection from itertools.combinations_with_replacement(iterable, r)" + pool = tuple(iterable) + n = len(pool) + indices = sorted(random.choices(range(n), k=r)) + return tuple(pool[i] for i in indices) + The default :func:`.random` returns multiples of 2⁻⁵³ in the range *0.0 ≤ x < 1.0*. All such numbers are evenly spaced and are exactly representable as Python floats. However, many other representable From ea19c28512b4bd815834de064cf0ef9803cc03a2 Mon Sep 17 00:00:00 2001 From: "C.A.M. Gerlach" Date: Mon, 17 Oct 2022 18:49:38 -0500 Subject: [PATCH 226/494] [3.11] Docs: Fix backtick errors found by sphinx-lint (GH-97998) (#98371) Co-authored-by: Ezio Melotti . (cherry picked from commit fa2d43e5184f5eaf3391844ec2400342a1b2ead4) Co-authored-by: Hugo van Kemenade Co-authored-by: Hugo van Kemenade --- Doc/c-api/init.rst | 2 +- Doc/c-api/type.rst | 2 +- Doc/faq/design.rst | 2 +- Doc/howto/enum.rst | 2 +- Doc/howto/logging-cookbook.rst | 4 ++-- Doc/howto/logging.rst | 10 +++++----- Doc/install/index.rst | 2 +- Doc/library/asyncio-protocol.rst | 2 +- Doc/library/asyncio-task.rst | 10 +++++----- Doc/library/bdb.rst | 2 +- Doc/library/bz2.rst | 4 ++-- Doc/library/concurrent.futures.rst | 6 +++--- Doc/library/ctypes.rst | 2 +- Doc/library/curses.rst | 2 +- Doc/library/datetime.rst | 4 ++-- Doc/library/decimal.rst | 8 ++++---- Doc/library/dis.rst | 2 +- Doc/library/email.compat32-message.rst | 2 +- Doc/library/email.headerregistry.rst | 2 +- Doc/library/functools.rst | 4 ++-- Doc/library/hashlib.rst | 2 +- Doc/library/io.rst | 6 +++--- Doc/library/lzma.rst | 2 +- Doc/library/os.rst | 4 ++-- Doc/library/select.rst | 2 +- Doc/library/socket.rst | 2 +- Doc/library/statistics.rst | 2 +- Doc/library/sys.rst | 6 +++--- Doc/library/unittest.mock-examples.rst | 2 +- Doc/library/xml.dom.minidom.rst | 4 ++-- Doc/library/xmlrpc.client.rst | 2 +- Doc/library/xmlrpc.server.rst | 2 +- Doc/reference/expressions.rst | 2 +- Doc/reference/import.rst | 2 +- Doc/reference/simple_stmts.rst | 8 -------- Doc/requirements.txt | 2 +- Doc/using/configure.rst | 14 +++++++------- Doc/using/unix.rst | 2 +- Doc/using/windows.rst | 2 +- Doc/whatsnew/2.6.rst | 6 +++--- Doc/whatsnew/2.7.rst | 4 ++-- Doc/whatsnew/3.10.rst | 2 +- Doc/whatsnew/3.11.rst | 2 +- Doc/whatsnew/3.2.rst | 4 ++-- Doc/whatsnew/3.3.rst | 4 ++-- Doc/whatsnew/3.5.rst | 4 ++-- Doc/whatsnew/3.6.rst | 6 +++--- Doc/whatsnew/3.7.rst | 2 +- Doc/whatsnew/3.9.rst | 2 +- .../2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst | 2 +- 50 files changed, 86 insertions(+), 94 deletions(-) diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst index dd9847c3e3d2e7..511d24da4fb7ff 100644 --- a/Doc/c-api/init.rst +++ b/Doc/c-api/init.rst @@ -1796,7 +1796,7 @@ is not possible due to its implementation being opaque at build time. Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals have been unassigned. This is a no-op if the *key* - argument is `NULL`. + argument is ``NULL``. .. note:: A freed key becomes a dangling pointer. You should reset the key to diff --git a/Doc/c-api/type.rst b/Doc/c-api/type.rst index d740e4eb0897e5..ac352047798eb4 100644 --- a/Doc/c-api/type.rst +++ b/Doc/c-api/type.rst @@ -40,7 +40,7 @@ Type Objects .. c:function:: unsigned long PyType_GetFlags(PyTypeObject* type) Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This function is primarily - meant for use with `Py_LIMITED_API`; the individual flag bits are + meant for use with ``Py_LIMITED_API``; the individual flag bits are guaranteed to be stable across Python releases, but access to :c:member:`~PyTypeObject.tp_flags` itself is not part of the limited API. diff --git a/Doc/faq/design.rst b/Doc/faq/design.rst index 9da1d01abd6f51..9dbfacd73cc6c7 100644 --- a/Doc/faq/design.rst +++ b/Doc/faq/design.rst @@ -155,7 +155,7 @@ Why can't I use an assignment in an expression? Starting in Python 3.8, you can! -Assignment expressions using the walrus operator `:=` assign a variable in an +Assignment expressions using the walrus operator ``:=`` assign a variable in an expression:: while chunk := fp.read(200): diff --git a/Doc/howto/enum.rst b/Doc/howto/enum.rst index 7b1cf75fa81f08..bad5e508b01900 100644 --- a/Doc/howto/enum.rst +++ b/Doc/howto/enum.rst @@ -1120,7 +1120,7 @@ Enum Classes The :class:`EnumType` metaclass is responsible for providing the :meth:`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other methods that allow one to do things with an :class:`Enum` class that fail on a typical -class, such as `list(Color)` or `some_enum_var in Color`. :class:`EnumType` is +class, such as ``list(Color)`` or ``some_enum_var in Color``. :class:`EnumType` is responsible for ensuring that various other methods on the final :class:`Enum` class are correct (such as :meth:`__new__`, :meth:`__getnewargs__`, :meth:`__str__` and :meth:`__repr__`). diff --git a/Doc/howto/logging-cookbook.rst b/Doc/howto/logging-cookbook.rst index acbc708e2f5ca3..eac34aaab3aa53 100644 --- a/Doc/howto/logging-cookbook.rst +++ b/Doc/howto/logging-cookbook.rst @@ -769,7 +769,7 @@ To run a logging listener in production, you may need to use a process-managemen such as `Supervisor `_. `Here `_ is a Gist which provides the bare-bones files to run the above functionality using Supervisor: you -will need to change the `/path/to/` parts in the Gist to reflect the actual paths you +will need to change the ``/path/to/`` parts in the Gist to reflect the actual paths you want to use. @@ -2981,7 +2981,7 @@ Formatting times using UTC (GMT) via configuration -------------------------------------------------- Sometimes you want to format times using UTC, which can be done using a class -such as `UTCFormatter`, shown below:: +such as ``UTCFormatter``, shown below:: import logging import time diff --git a/Doc/howto/logging.rst b/Doc/howto/logging.rst index f98876a3352e4d..87065273dab7a4 100644 --- a/Doc/howto/logging.rst +++ b/Doc/howto/logging.rst @@ -552,14 +552,14 @@ raw message. If there is no date format string, the default date format is: %Y-%m-%d %H:%M:%S -with the milliseconds tacked on at the end. The ``style`` is one of `%`, '{' -or '$'. If one of these is not specified, then '%' will be used. +with the milliseconds tacked on at the end. The ``style`` is one of ``'%'``, +``'{'``, or ``'$'``. If one of these is not specified, then ``'%'`` will be used. -If the ``style`` is '%', the message format string uses +If the ``style`` is ``'%'``, the message format string uses ``%()s`` styled string substitution; the possible keys are -documented in :ref:`logrecord-attributes`. If the style is '{', the message +documented in :ref:`logrecord-attributes`. If the style is ``'{'``, the message format string is assumed to be compatible with :meth:`str.format` (using -keyword arguments), while if the style is '$' then the message format string +keyword arguments), while if the style is ``'$'`` then the message format string should conform to what is expected by :meth:`string.Template.substitute`. .. versionchanged:: 3.2 diff --git a/Doc/install/index.rst b/Doc/install/index.rst index 84df5e7cb3689d..d2d8e567c03c2b 100644 --- a/Doc/install/index.rst +++ b/Doc/install/index.rst @@ -761,7 +761,7 @@ And on Windows, the configuration files are: +--------------+-------------------------------------------------+-------+ On all platforms, the "personal" file can be temporarily disabled by -passing the `--no-user-cfg` option. +passing the ``--no-user-cfg`` option. Notes: diff --git a/Doc/library/asyncio-protocol.rst b/Doc/library/asyncio-protocol.rst index 8b67f4b8957ef6..969354ceb163b5 100644 --- a/Doc/library/asyncio-protocol.rst +++ b/Doc/library/asyncio-protocol.rst @@ -553,7 +553,7 @@ accept factories that return streaming protocols. a connection is open. However, :meth:`protocol.eof_received() ` - is called at most once. Once `eof_received()` is called, + is called at most once. Once ``eof_received()`` is called, ``data_received()`` is not called anymore. .. method:: Protocol.eof_received() diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index c6b8716073feba..f795f25525938f 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -631,7 +631,7 @@ Timeouts Change the time the timeout will trigger. - If *when* is `None`, any current deadline will be removed, and the + If *when* is ``None``, any current deadline will be removed, and the context manager will wait indefinitely. If *when* is a float, it is set as the new deadline. @@ -867,17 +867,17 @@ Running in Threads # blocking_io complete at 19:50:54 # finished main at 19:50:54 - Directly calling `blocking_io()` in any coroutine would block the event loop + Directly calling ``blocking_io()`` in any coroutine would block the event loop for its duration, resulting in an additional 1 second of run time. Instead, - by using `asyncio.to_thread()`, we can run it in a separate thread without + by using ``asyncio.to_thread()``, we can run it in a separate thread without blocking the event loop. .. note:: - Due to the :term:`GIL`, `asyncio.to_thread()` can typically only be used + Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used to make IO-bound functions non-blocking. However, for extension modules that release the GIL or alternative Python implementations that don't - have one, `asyncio.to_thread()` can also be used for CPU-bound functions. + have one, ``asyncio.to_thread()`` can also be used for CPU-bound functions. .. versionadded:: 3.9 diff --git a/Doc/library/bdb.rst b/Doc/library/bdb.rst index 7b74bbd652be38..d201dc963b5995 100644 --- a/Doc/library/bdb.rst +++ b/Doc/library/bdb.rst @@ -143,7 +143,7 @@ The :mod:`bdb` module also defines two classes: For real file names, the canonical form is an operating-system-dependent, :func:`case-normalized ` :func:`absolute path - `. A *filename* with angle brackets, such as `""` + `. A *filename* with angle brackets, such as ``""`` generated in interactive mode, is returned unchanged. .. method:: reset() diff --git a/Doc/library/bz2.rst b/Doc/library/bz2.rst index 999892e95f4715..ae5a1598f84b44 100644 --- a/Doc/library/bz2.rst +++ b/Doc/library/bz2.rst @@ -206,7 +206,7 @@ Incremental (de)compression will be set to ``True``. Attempting to decompress data after the end of stream is reached - raises an `EOFError`. Any data found after the end of the + raises an :exc:`EOFError`. Any data found after the end of the stream is ignored and saved in the :attr:`~.unused_data` attribute. .. versionchanged:: 3.5 @@ -303,7 +303,7 @@ Using :class:`BZ2Compressor` for incremental compression: >>> out = out + comp.flush() The example above uses a very "nonrandom" stream of data -(a stream of `b"z"` chunks). Random data tends to compress poorly, +(a stream of ``b"z"`` chunks). Random data tends to compress poorly, while ordered, repetitive data usually yields a high compression ratio. Writing and reading a bzip2-compressed file in binary mode: diff --git a/Doc/library/concurrent.futures.rst b/Doc/library/concurrent.futures.rst index 95c9e50991423f..8106cc235e5a3c 100644 --- a/Doc/library/concurrent.futures.rst +++ b/Doc/library/concurrent.futures.rst @@ -152,7 +152,7 @@ And:: All threads enqueued to ``ThreadPoolExecutor`` will be joined before the interpreter can exit. Note that the exit handler which does this is - executed *before* any exit handlers added using `atexit`. This means + executed *before* any exit handlers added using ``atexit``. This means exceptions in the main thread must be caught and handled in order to signal threads to exit gracefully. For this reason, it is recommended that ``ThreadPoolExecutor`` not be used for long-running tasks. @@ -411,13 +411,13 @@ The :class:`Future` class encapsulates the asynchronous execution of a callable. tests. If the method returns ``False`` then the :class:`Future` was cancelled, - i.e. :meth:`Future.cancel` was called and returned `True`. Any threads + i.e. :meth:`Future.cancel` was called and returned ``True``. Any threads waiting on the :class:`Future` completing (i.e. through :func:`as_completed` or :func:`wait`) will be woken up. If the method returns ``True`` then the :class:`Future` was not cancelled and has been put in the running state, i.e. calls to - :meth:`Future.running` will return `True`. + :meth:`Future.running` will return ``True``. This method can only be called once and cannot be called after :meth:`Future.set_result` or :meth:`Future.set_exception` have been diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 99c35a8e595f20..2900f77589e31b 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -1934,7 +1934,7 @@ Utility functions .. function:: GetLastError() Windows only: Returns the last error code set by Windows in the calling thread. - This function calls the Windows `GetLastError()` function directly, + This function calls the Windows ``GetLastError()`` function directly, it does not return the ctypes-private copy of the error code. .. function:: get_errno() diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst index a7cc4952778011..83e19fac6520eb 100644 --- a/Doc/library/curses.rst +++ b/Doc/library/curses.rst @@ -278,7 +278,7 @@ The module :mod:`curses` defines the following functions: Change the definition of a color, taking the number of the color to be changed followed by three RGB values (for the amounts of red, green, and blue components). The value of *color_number* must be between ``0`` and - `COLORS - 1`. Each of *r*, *g*, *b*, must be a value between ``0`` and + ``COLORS - 1``. Each of *r*, *g*, *b*, must be a value between ``0`` and ``1000``. When :func:`init_color` is used, all occurrences of that color on the screen immediately change to the new definition. This function is a no-op on most terminals; it is active only if :func:`can_change_color` returns ``True``. diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst index b4580d1879c018..8a7d99999f5dbd 100644 --- a/Doc/library/datetime.rst +++ b/Doc/library/datetime.rst @@ -1769,7 +1769,7 @@ Other constructor: ISO 8601 format, with the following exceptions: 1. Time zone offsets may have fractional seconds. - 2. The leading `T`, normally required in cases where there may be ambiguity between + 2. The leading ``T``, normally required in cases where there may be ambiguity between a date and a time, is not required. 3. Fractional seconds may have any number of digits (anything beyond 6 will be truncated). @@ -2265,7 +2265,7 @@ where historical changes have been made to civil time. two digits of ``offset.hours`` and ``offset.minutes`` respectively. .. versionchanged:: 3.6 - Name generated from ``offset=timedelta(0)`` is now plain `'UTC'`, not + Name generated from ``offset=timedelta(0)`` is now plain ``'UTC'``, not ``'UTC+00:00'``. diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst index b7e836308fa8aa..260108136df7f1 100644 --- a/Doc/library/decimal.rst +++ b/Doc/library/decimal.rst @@ -576,11 +576,11 @@ Decimal objects Alternative constructor that only accepts instances of :class:`float` or :class:`int`. - Note `Decimal.from_float(0.1)` is not the same as `Decimal('0.1')`. + Note ``Decimal.from_float(0.1)`` is not the same as ``Decimal('0.1')``. Since 0.1 is not exactly representable in binary floating point, the value is stored as the nearest representable value which is - `0x1.999999999999ap-4`. That equivalent value in decimal is - `0.1000000000000000055511151231257827021181583404541015625`. + ``0x1.999999999999ap-4``. That equivalent value in decimal is + ``0.1000000000000000055511151231257827021181583404541015625``. .. note:: From Python 3.2 onwards, a :class:`Decimal` instance can also be constructed directly from a :class:`float`. @@ -1209,7 +1209,7 @@ In addition to the three supplied contexts, new contexts can be created with the .. method:: exp(x) - Returns `e ** x`. + Returns ``e ** x``. .. method:: fma(x, y, z) diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst index d2925929c6c90e..98866b72a30a93 100644 --- a/Doc/library/dis.rst +++ b/Doc/library/dis.rst @@ -373,7 +373,7 @@ details of bytecode instructions as :class:`Instruction` instances: .. class:: Positions - In case the information is not available, some fields might be `None`. + In case the information is not available, some fields might be ``None``. .. data:: lineno .. data:: end_lineno diff --git a/Doc/library/email.compat32-message.rst b/Doc/library/email.compat32-message.rst index 4eaa9d588ca35e..5bef155a4af310 100644 --- a/Doc/library/email.compat32-message.rst +++ b/Doc/library/email.compat32-message.rst @@ -298,7 +298,7 @@ Here are the methods of the :class:`Message` class: In a model generated from bytes, any header values that (in contravention of the RFCs) contain non-ASCII bytes will, when retrieved through this interface, be represented as :class:`~email.header.Header` objects with - a charset of `unknown-8bit`. + a charset of ``unknown-8bit``. .. method:: __len__() diff --git a/Doc/library/email.headerregistry.rst b/Doc/library/email.headerregistry.rst index 98527cea43da2a..00a954e0307ea6 100644 --- a/Doc/library/email.headerregistry.rst +++ b/Doc/library/email.headerregistry.rst @@ -153,7 +153,7 @@ headers. specified as ``-0000`` (indicating it is in UTC but contains no information about the source timezone), then :attr:`.datetime` will be a naive :class:`~datetime.datetime`. If a specific timezone offset is - found (including `+0000`), then :attr:`.datetime` will contain an aware + found (including ``+0000``), then :attr:`.datetime` will contain an aware ``datetime`` that uses :class:`datetime.timezone` to record the timezone offset. diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index d6792ed6fb77fb..9beebd2a85e5d9 100644 --- a/Doc/library/functools.rst +++ b/Doc/library/functools.rst @@ -144,7 +144,7 @@ The :mod:`functools` module defines the following functions: arguments to the function must be hashable. Distinct argument patterns may be considered to be distinct calls with - separate cache entries. For example, `f(a=1, b=2)` and `f(b=2, a=1)` + separate cache entries. For example, ``f(a=1, b=2)`` and ``f(b=2, a=1)`` differ in their keyword argument order and may have two separate cache entries. @@ -191,7 +191,7 @@ The :mod:`functools` module defines the following functions: The cache keeps references to the arguments and return values until they age out of the cache or until the cache is cleared. - If a method is cached, the `self` instance argument is included in the + If a method is cached, the ``self`` instance argument is included in the cache. See :ref:`faq-cache-method-calls` An `LRU (least recently used) cache diff --git a/Doc/library/hashlib.rst b/Doc/library/hashlib.rst index 0906ce7cb7a2d9..a96fc8b8ff7eaf 100644 --- a/Doc/library/hashlib.rst +++ b/Doc/library/hashlib.rst @@ -432,7 +432,7 @@ Constructor functions also accept the following tree hashing parameters: BLAKE2s, 0 in sequential mode). * *last_node*: boolean indicating whether the processed node is the last - one (`False` for sequential mode). + one (``False`` for sequential mode). .. figure:: hashlib-blake2-tree.png :alt: Explanation of tree mode parameters. diff --git a/Doc/library/io.rst b/Doc/library/io.rst index 8fd6b3537019aa..0968509fbafec2 100644 --- a/Doc/library/io.rst +++ b/Doc/library/io.rst @@ -1055,10 +1055,10 @@ Text I/O The initial value of the buffer can be set by providing *initial_value*. If newline translation is enabled, newlines will be encoded as if by :meth:`~TextIOBase.write`. The stream is positioned at the start of the - buffer which emulates opening an existing file in a `w+` mode, making it + buffer which emulates opening an existing file in a ``w+`` mode, making it ready for an immediate write from the beginning or for a write that - would overwrite the initial value. To emulate opening a file in an `a+` - mode ready for appending, use `f.seek(0, io.SEEK_END)` to reposition the + would overwrite the initial value. To emulate opening a file in an ``a+`` + mode ready for appending, use ``f.seek(0, io.SEEK_END)`` to reposition the stream at the end of the buffer. The *newline* argument works like that of :class:`TextIOWrapper`, diff --git a/Doc/library/lzma.rst b/Doc/library/lzma.rst index 21092645366da7..868d4dcfb6c996 100644 --- a/Doc/library/lzma.rst +++ b/Doc/library/lzma.rst @@ -258,7 +258,7 @@ Compressing and decompressing data in memory will be set to ``True``. Attempting to decompress data after the end of stream is reached - raises an `EOFError`. Any data found after the end of the + raises an :exc:`EOFError`. Any data found after the end of the stream is ignored and saved in the :attr:`~.unused_data` attribute. .. versionchanged:: 3.5 diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 9311bf187f0b64..74125aef05793e 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -3180,7 +3180,7 @@ features: system records access and modification times; see :func:`~os.stat`. The best way to preserve exact times is to use the *st_atime_ns* and *st_mtime_ns* fields from the :func:`os.stat` result object with the *ns* parameter to - `utime`. + :func:`utime`. This function can support :ref:`specifying a file descriptor `, :ref:`paths relative to directory descriptors ` and :ref:`not @@ -4072,7 +4072,7 @@ written in Python, such as a mail server's external command delivery program. library :c:data:`POSIX_SPAWN_RESETIDS` flag. If the *setsid* argument is ``True``, it will create a new session ID - for `posix_spawn`. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` + for ``posix_spawn``. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:`POSIX_SPAWN_SETSID_NP` flag. Otherwise, :exc:`NotImplementedError` is raised. diff --git a/Doc/library/select.rst b/Doc/library/select.rst index a8df81f5bd1f07..2890706bab729c 100644 --- a/Doc/library/select.rst +++ b/Doc/library/select.rst @@ -61,7 +61,7 @@ The module defines the following: events. *sizehint* informs epoll about the expected number of events to be - registered. It must be positive, or `-1` to use the default. It is only + registered. It must be positive, or ``-1`` to use the default. It is only used on older systems where :c:func:`epoll_create1` is not available; otherwise it has no effect (though its value is still checked). diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst index b1c2ab07740f0f..8c260897dbaabc 100644 --- a/Doc/library/socket.rst +++ b/Doc/library/socket.rst @@ -642,7 +642,7 @@ The following functions all create :ref:`socket objects `. When :const:`SOCK_NONBLOCK` or :const:`SOCK_CLOEXEC` bit flags are applied to *type* they are cleared, and :attr:`socket.type` will not reflect them. They are still passed - to the underlying system `socket()` call. Therefore, + to the underlying system ``socket()`` call. Therefore, :: diff --git a/Doc/library/statistics.rst b/Doc/library/statistics.rst index bf869903c0f84e..78c4bc521fdd38 100644 --- a/Doc/library/statistics.rst +++ b/Doc/library/statistics.rst @@ -813,7 +813,7 @@ of applications in statistics. The relative likelihood is computed as the probability of a sample occurring in a narrow range divided by the width of the range (hence the word "density"). Since the likelihood is relative to other points, - its value can be greater than `1.0`. + its value can be greater than ``1.0``. .. method:: NormalDist.cdf(x) diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index aab3f6aa83fced..542b08b1878ed0 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -250,7 +250,7 @@ always available. Print low-level information to stderr about the state of CPython's memory allocator. - If Python is `built in debug mode ` (:option:`configure + If Python is :ref:`built in debug mode ` (:option:`configure --with-pydebug option <--with-pydebug>`), it also performs some expensive internal consistency checks. @@ -349,7 +349,7 @@ always available. files to (and read them from) a parallel directory tree rooted at this directory, rather than from ``__pycache__`` directories in the source code tree. Any ``__pycache__`` directories in the source code tree will be ignored - and new `.pyc` files written within the pycache prefix. Thus if you use + and new ``.pyc`` files written within the pycache prefix. Thus if you use :mod:`compileall` as a pre-build step, you must ensure you run it with the same pycache prefix (if any) that you will use at runtime. @@ -874,7 +874,7 @@ always available. .. function:: get_asyncgen_hooks() Returns an *asyncgen_hooks* object, which is similar to a - :class:`~collections.namedtuple` of the form `(firstiter, finalizer)`, + :class:`~collections.namedtuple` of the form ``(firstiter, finalizer)``, where *firstiter* and *finalizer* are expected to be either ``None`` or functions which take an :term:`asynchronous generator iterator` as an argument, and are used to schedule finalization of an asynchronous diff --git a/Doc/library/unittest.mock-examples.rst b/Doc/library/unittest.mock-examples.rst index 054efa81266326..f9a207bad6903f 100644 --- a/Doc/library/unittest.mock-examples.rst +++ b/Doc/library/unittest.mock-examples.rst @@ -1116,7 +1116,7 @@ on first use). That aside there is a way to use ``mock`` to affect the results of an import. Importing fetches an *object* from the :data:`sys.modules` dictionary. Note that it fetches an *object*, which need not be a module. Importing a module for the -first time results in a module object being put in `sys.modules`, so usually +first time results in a module object being put in ``sys.modules``, so usually when you import something you get a module back. This need not be the case however. diff --git a/Doc/library/xml.dom.minidom.rst b/Doc/library/xml.dom.minidom.rst index 82e5d6aea2310e..72a7a98c2ac4f2 100644 --- a/Doc/library/xml.dom.minidom.rst +++ b/Doc/library/xml.dom.minidom.rst @@ -148,8 +148,8 @@ module documentation. This section lists the differences between the API and Similarly, explicitly stating the *standalone* argument causes the standalone document declarations to be added to the prologue of the XML document. - If the value is set to `True`, `standalone="yes"` is added, - otherwise it is set to `"no"`. + If the value is set to ``True``, ``standalone="yes"`` is added, + otherwise it is set to ``"no"``. Not stating the argument will omit the declaration from the document. .. versionchanged:: 3.8 diff --git a/Doc/library/xmlrpc.client.rst b/Doc/library/xmlrpc.client.rst index 8b09acd4bd3049..bd2c49a6edab7f 100644 --- a/Doc/library/xmlrpc.client.rst +++ b/Doc/library/xmlrpc.client.rst @@ -60,7 +60,7 @@ between conformable Python objects and XML on the wire. may be passed to calls. The *headers* parameter is an optional sequence of HTTP headers to send with each request, expressed as a sequence of 2-tuples representing the header - name and value. (e.g. `[('Header-Name', 'value')]`). + name and value. (e.g. ``[('Header-Name', 'value')]``). The obsolete *use_datetime* flag is similar to *use_builtin_types* but it applies only to date/time values. diff --git a/Doc/library/xmlrpc.server.rst b/Doc/library/xmlrpc.server.rst index 9778a859da1fbf..016369d2b89d2c 100644 --- a/Doc/library/xmlrpc.server.rst +++ b/Doc/library/xmlrpc.server.rst @@ -263,7 +263,7 @@ This ExampleService demo can be invoked from the command line:: The client that interacts with the above server is included in -`Lib/xmlrpc/client.py`:: +``Lib/xmlrpc/client.py``:: server = ServerProxy("http://localhost:8000") diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index 6b5e0e1628f143..cc969752d5d7b7 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -1551,7 +1551,7 @@ built-in types. true). * Mappings (instances of :class:`dict`) compare equal if and only if they have - equal `(key, value)` pairs. Equality comparison of the keys and values + equal ``(key, value)`` pairs. Equality comparison of the keys and values enforces reflexivity. Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`. diff --git a/Doc/reference/import.rst b/Doc/reference/import.rst index 0d8c029550081c..70d946ab4db9e2 100644 --- a/Doc/reference/import.rst +++ b/Doc/reference/import.rst @@ -816,7 +816,7 @@ The path based finder iterates over every entry in the search path, and for each of these, looks for an appropriate :term:`path entry finder` (:class:`~importlib.abc.PathEntryFinder`) for the path entry. Because this can be an expensive operation (e.g. there may be -`stat()` call overheads for this search), the path based finder maintains +``stat()`` call overheads for this search), the path based finder maintains a cache mapping path entries to path entry finders. This cache is maintained in :data:`sys.path_importer_cache` (despite the name, this cache actually stores finder objects rather than being limited to :term:`importer` objects). diff --git a/Doc/reference/simple_stmts.rst b/Doc/reference/simple_stmts.rst index 8311de0457f6af..5c9937fb5b6d72 100644 --- a/Doc/reference/simple_stmts.rst +++ b/Doc/reference/simple_stmts.rst @@ -994,20 +994,12 @@ The :keyword:`!nonlocal` statement .. productionlist:: python-grammar nonlocal_stmt: "nonlocal" `identifier` ("," `identifier`)* -.. XXX add when implemented - : ["=" (`target_list` "=")+ starred_expression] - : | "nonlocal" identifier augop expression_list - The :keyword:`nonlocal` statement causes the listed identifiers to refer to previously bound variables in the nearest enclosing scope excluding globals. This is important because the default behavior for binding is to search the local namespace first. The statement allows encapsulated code to rebind variables outside of the local scope besides the global (module) scope. -.. XXX not implemented - The :keyword:`nonlocal` statement may prepend an assignment or augmented - assignment, but not an expression. - Names listed in a :keyword:`nonlocal` statement, unlike those listed in a :keyword:`global` statement, must refer to pre-existing bindings in an enclosing scope (the scope in which a new binding should be created cannot diff --git a/Doc/requirements.txt b/Doc/requirements.txt index 960ac54d7b91ef..7f82dc32113a9d 100644 --- a/Doc/requirements.txt +++ b/Doc/requirements.txt @@ -10,7 +10,7 @@ blurb # sphinx-lint 0.6.2 yields many default role errors due to the new regular # expression used for default role detection, so we don't use the version # until the errors are fixed. -sphinx-lint==0.6.1 +sphinx-lint==0.6.4 # The theme used by the documentation is stored separately, so we need # to install that as well. diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 8ce9884c76fe21..c387528d87cd2a 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -750,12 +750,12 @@ Compiler flags In particular, :envvar:`CFLAGS` should not contain: - * the compiler flag `-I` (for setting the search path for include files). - The `-I` flags are processed from left to right, and any flags in - :envvar:`CFLAGS` would take precedence over user- and package-supplied `-I` + * the compiler flag ``-I`` (for setting the search path for include files). + The ``-I`` flags are processed from left to right, and any flags in + :envvar:`CFLAGS` would take precedence over user- and package-supplied ``-I`` flags. - * hardening flags such as `-Werror` because distributions cannot control + * hardening flags such as ``-Werror`` because distributions cannot control whether packages installed by users conform to such heightened standards. @@ -873,9 +873,9 @@ Linker flags In particular, :envvar:`LDFLAGS` should not contain: - * the compiler flag `-L` (for setting the search path for libraries). - The `-L` flags are processed from left to right, and any flags in - :envvar:`LDFLAGS` would take precedence over user- and package-supplied `-L` + * the compiler flag ``-L`` (for setting the search path for libraries). + The ``-L`` flags are processed from left to right, and any flags in + :envvar:`LDFLAGS` would take precedence over user- and package-supplied ``-L`` flags. .. envvar:: CONFIGURE_LDFLAGS_NODIST diff --git a/Doc/using/unix.rst b/Doc/using/unix.rst index 061cfa5be88f29..24c02c99f871d5 100644 --- a/Doc/using/unix.rst +++ b/Doc/using/unix.rst @@ -170,7 +170,7 @@ Custom OpenSSL $ popd 3. Build Python with custom OpenSSL - (see the configure `--with-openssl` and `--with-openssl-rpath` options) + (see the configure ``--with-openssl`` and ``--with-openssl-rpath`` options) .. code-block:: shell-session diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst index e338b11e1aa025..4ab68e140b9e31 100644 --- a/Doc/using/windows.rst +++ b/Doc/using/windows.rst @@ -203,7 +203,7 @@ of available options is shown below. +---------------------------+--------------------------------------+--------------------------+ | Include_pip | Install bundled pip and setuptools | 1 | +---------------------------+--------------------------------------+--------------------------+ -| Include_symbols | Install debugging symbols (`*`.pdb) | 0 | +| Include_symbols | Install debugging symbols (``*.pdb``)| 0 | +---------------------------+--------------------------------------+--------------------------+ | Include_tcltk | Install Tcl/Tk support and IDLE | 1 | +---------------------------+--------------------------------------+--------------------------+ diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst index 731ce6aac6919d..34f2656f765c7d 100644 --- a/Doc/whatsnew/2.6.rst +++ b/Doc/whatsnew/2.6.rst @@ -717,13 +717,13 @@ This will produce the output:: PEP 3101: Advanced String Formatting ===================================================== -In Python 3.0, the `%` operator is supplemented by a more powerful string +In Python 3.0, the ``%`` operator is supplemented by a more powerful string formatting method, :meth:`format`. Support for the :meth:`str.format` method has been backported to Python 2.6. -In 2.6, both 8-bit and Unicode strings have a `.format()` method that +In 2.6, both 8-bit and Unicode strings have a ``.format()`` method that treats the string as a template and takes the arguments to be formatted. -The formatting template uses curly brackets (`{`, `}`) as special characters:: +The formatting template uses curly brackets (``{``, ``}``) as special characters:: >>> # Substitute positional argument 0 into the string. >>> "User ID: {0}".format("root") diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst index 3df9f8a4798ffa..82f5ea3b31275b 100644 --- a/Doc/whatsnew/2.7.rst +++ b/Doc/whatsnew/2.7.rst @@ -2485,8 +2485,8 @@ In the standard library: * The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and angle brackets when outputting an XML processing - instruction (which looks like ``) - or comment (which looks like ``). + instruction (which looks like ````) + or comment (which looks like ````). (Patch by Neil Muller; :issue:`2746`.) * The :meth:`~StringIO.StringIO.readline` method of :class:`~StringIO.StringIO` objects now does diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst index db8d9281b1f2ed..24d5bba66e3300 100644 --- a/Doc/whatsnew/3.10.rst +++ b/Doc/whatsnew/3.10.rst @@ -1183,7 +1183,7 @@ and will be incorrect in some rare cases, including some ``_``-s in New in 3.10 maintenance releases. -Apply syntax highlighting to `.pyi` files. (Contributed by Alex +Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood and Terry Jan Reedy in :issue:`45447`.) Include prompts when saving Shell with inputs and outputs. diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index b765b1a11b18a8..bb9538338e48f8 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -734,7 +734,7 @@ hashlib IDLE and idlelib ---------------- -* Apply syntax highlighting to `.pyi` files. (Contributed by Alex +* Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood and Terry Jan Reedy in :issue:`45447`.) * Include prompts when saving Shell with inputs and outputs. diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst index 7b12e631fd819f..3becd3f7192815 100644 --- a/Doc/whatsnew/3.2.rst +++ b/Doc/whatsnew/3.2.rst @@ -1746,7 +1746,7 @@ names. instead of module names for running specific tests (:issue:`10620`). The new test discovery can find tests within packages, locating any test importable from the top-level directory. The top-level directory can be specified with - the `-t` option, a pattern for matching files with ``-p``, and a directory to + the ``-t`` option, a pattern for matching files with ``-p``, and a directory to start discovery with ``-s``: .. code-block:: shell-session @@ -1858,7 +1858,7 @@ asyncore :class:`asyncore.dispatcher` now provides a :meth:`~asyncore.dispatcher.handle_accepted()` method -returning a `(sock, addr)` pair which is called when a connection has actually +returning a ``(sock, addr)`` pair which is called when a connection has actually been established with a new remote endpoint. This is supposed to be used as a replacement for old :meth:`~asyncore.dispatcher.handle_accept()` and avoids the user to call :meth:`~asyncore.dispatcher.accept()` directly. diff --git a/Doc/whatsnew/3.3.rst b/Doc/whatsnew/3.3.rst index fef1a8ac4c0101..96a632577b2c56 100644 --- a/Doc/whatsnew/3.3.rst +++ b/Doc/whatsnew/3.3.rst @@ -2389,10 +2389,10 @@ Porting Python code :attr:`sys.path_importer_cache` where it represents the use of implicit finders, but semantically it should not change anything. -* :class:`importlib.abc.Finder` no longer specifies a `find_module()` abstract +* :class:`importlib.abc.Finder` no longer specifies a ``find_module()`` abstract method that must be implemented. If you were relying on subclasses to implement that method, make sure to check for the method's existence first. - You will probably want to check for `find_loader()` first, though, in the + You will probably want to check for ``find_loader()`` first, though, in the case of working with :term:`path entry finders `. * :mod:`pkgutil` has been converted to use :mod:`importlib` internally. This diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst index 625373d5089896..f9cceecbcbb94b 100644 --- a/Doc/whatsnew/3.5.rst +++ b/Doc/whatsnew/3.5.rst @@ -2469,11 +2469,11 @@ Changes in the Python API ``opt-`` tag in ``.pyc`` file names. The :func:`importlib.util.cache_from_source` has gained an *optimization* parameter to help control the ``opt-`` tag. Because of this, the - *debug_override* parameter of the function is now deprecated. `.pyo` files + *debug_override* parameter of the function is now deprecated. ``.pyo`` files are also no longer supported as a file argument to the Python interpreter and thus serve no purpose when distributed on their own (i.e. sourceless code distribution). Due to the fact that the magic number for bytecode has changed - in Python 3.5, all old `.pyo` files from previous versions of Python are + in Python 3.5, all old ``.pyo`` files from previous versions of Python are invalid regardless of this PEP. * The :mod:`socket` module now exports the :data:`~socket.CAN_RAW_FD_FRAMES` diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst index bcca28d2f7ba85..70e45258654f41 100644 --- a/Doc/whatsnew/3.6.rst +++ b/Doc/whatsnew/3.6.rst @@ -960,8 +960,8 @@ contextlib The :class:`contextlib.AbstractContextManager` class has been added to provide an abstract base class for context managers. It provides a -sensible default implementation for `__enter__()` which returns -``self`` and leaves `__exit__()` an abstract method. A matching +sensible default implementation for ``__enter__()`` which returns +``self`` and leaves ``__exit__()`` an abstract method. A matching class has been added to the :mod:`typing` module as :class:`typing.ContextManager`. (Contributed by Brett Cannon in :issue:`25609`.) @@ -1388,7 +1388,7 @@ are treated as punctuation. site ---- -When specifying paths to add to :attr:`sys.path` in a `.pth` file, +When specifying paths to add to :attr:`sys.path` in a ``.pth`` file, you may now specify file paths on top of directories (e.g. zip files). (Contributed by Wolfgang Langner in :issue:`26587`). diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst index 5bb3d2a436b675..de03e5bedeaa35 100644 --- a/Doc/whatsnew/3.7.rst +++ b/Doc/whatsnew/3.7.rst @@ -2497,7 +2497,7 @@ number of other issues). Some known details affected: * :c:func:`PySys_AddWarnOptionUnicode` is not currently usable by embedding applications due to the requirement to create a Unicode object prior to - calling `Py_Initialize`. Use :c:func:`PySys_AddWarnOption` instead. + calling ``Py_Initialize``. Use :c:func:`PySys_AddWarnOption` instead. * warnings filters added by an embedding application with :c:func:`PySys_AddWarnOption` should now more consistently take precedence diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst index ff01a65772991f..624e71f9254c45 100644 --- a/Doc/whatsnew/3.9.rst +++ b/Doc/whatsnew/3.9.rst @@ -500,7 +500,7 @@ Reedy in :issue:`40468`.) Move the indent space setting from the Font tab to the new Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in :issue:`33962`.) -Apply syntax highlighting to `.pyi` files. (Contributed by Alex +Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood and Terry Jan Reedy in :issue:`45447`.) imaplib diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst index d3a5867db7fce2..6f07529f15bba3 100644 --- a/Misc/NEWS.d/next/Core and Builtins/2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst +++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-01-08-55-09.gh-issue-97591.pw6kkH.rst @@ -1,2 +1,2 @@ -Fixed a missing incref/decref pair in `Exception.__setstate__()`. +Fixed a missing incref/decref pair in ``Exception.__setstate__()``. Patch by Ofey Chan. From c84d4cee025b5cbcded210ed85638ffc7ef0bf09 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 18 Oct 2022 01:53:52 -0700 Subject: [PATCH 227/494] gh-95913: Prepare remaining Whatsnew sections for editing (GH-98342) * Add line breaks & ref targets to Whatsnew to prepare for future changes * Use standard heading underbar symbols for H4 sections * Flatten Porting subsection; clarify scope of/link Python->CAPI sections * Move C API pending deprecations to C API section, to match the others (cherry picked from commit 0a0c7e5a7a516607a1268c310a2e05d574a71efc) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 133 +++++++++++++++++++++++++++++++++--------- 1 file changed, 105 insertions(+), 28 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index bb9538338e48f8..d6ad79edefb526 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -556,6 +556,8 @@ New Modules (Contributed by Sebastian Rittau in :issue:`42012`.) +.. _whatsnew311-improved-modules: + Improved Modules ================ @@ -1088,6 +1090,8 @@ fcntl the ``FD_CLOEXEC`` flag in addition. +.. _whatsnew311-optimizations: + Optimizations ============= @@ -1120,6 +1124,8 @@ Optimizations faster than Python 3.10. +.. _whatsnew311-faster-cpython: + Faster CPython ============== @@ -1132,11 +1138,16 @@ could be up to 10-60% faster. This project focuses on two major areas in Python: faster startup and faster runtime. Other optimizations not under this project are listed in `Optimizations`_. + +.. _whatsnew311-faster-startup: + Faster Startup -------------- +.. _whatsnew311-faster-imports: + Frozen imports / Static code objects -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Python caches bytecode in the :ref:`__pycache__` directory to speed up module loading. @@ -1161,11 +1172,16 @@ impact for short-running programs using Python. (Contributed by Eric Snow, Guido van Rossum and Kumar Aditya in numerous issues.) +.. _whatsnew311-faster-runtime: + Faster Runtime -------------- +.. _whatsnew311-lazy-python-frames: + Cheaper, lazy Python frames -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + Python frames are created whenever Python calls a Python function. This frame holds execution information. The following are new frame optimizations: @@ -1182,10 +1198,13 @@ up significantly. We measured a 3-7% speedup in pyperformance. (Contributed by Mark Shannon in :issue:`44590`.) + .. _inline-calls: +.. _whatsnew311-inline-calls: Inlined Python function calls -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + During a Python function call, Python will call an evaluating C function to interpret that function's code. This effectively limits pure Python recursion to what's safe for the C stack. @@ -1202,8 +1221,12 @@ We measured a 1-3% improvement in pyperformance. (Contributed by Pablo Galindo and Mark Shannon in :issue:`45256`.) + +.. _whatsnew311-pep659: + PEP 659: Specializing Adaptive Interpreter -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + :pep:`659` is one of the key parts of the faster CPython project. The general idea is that while Python is a dynamic language, most code has regions where objects and types rarely change. This concept is known as *type stability*. @@ -1285,6 +1308,8 @@ Bucher, with additional help from Irit Katriel and Dennis Sweeney.) be sped up by :issue:`45947`. +.. _whatsnew311-faster-cpython-misc: + Misc ---- @@ -1296,6 +1321,9 @@ Misc time required for catching an exception by about 10%. (Contributed by Irit Katriel in :issue:`45711`.) + +.. _whatsnew311-faster-cpython-faq: + FAQ --- @@ -1330,6 +1358,8 @@ FAQ | A: No. We're still exploring other optimizations. +.. _whatsnew311-faster-cpython-about: + About ----- @@ -1339,6 +1369,8 @@ funded by Bloomberg LP to work on the project part-time. Finally, many contributors are volunteers from the community. +.. _whatsnew311-bytecode-changes: + CPython bytecode changes ======================== @@ -1395,9 +1427,17 @@ CPython bytecode changes * :opcode:`RESUME` has been added. It is a no-op. Performs internal tracing, debugging and optimization checks. + +.. _whatsnew311-deprecated: +.. _whatsnew311-python-api-deprecated: + Deprecated ========== +This section lists Python APIs that have been deprecated in Python 3.11. + +Deprecated C APIs are :ref:`listed separately `. + * Chaining :class:`classmethod` descriptors (introduced in :issue:`19072`) is now deprecated. It can no longer be used to wrap other descriptors such as :class:`property`. The core design of this feature was flawed @@ -1536,13 +1576,17 @@ Deprecated (Contributed by Serhiy Storchaka and Miro Hrončok in :gh:`92728`.) +.. _whatsnew311-pending-removal: +.. _whatsnew311-python-api-pending-removal: + Pending Removal in Python 3.12 ============================== -The following APIs have been deprecated in earlier Python releases, +The following Python APIs have been deprecated in earlier Python releases, and will be removed in Python 3.12. -Python API: +C APIs pending removal are +:ref:`listed separately `. * :class:`pkgutil.ImpImporter` * :class:`pkgutil.ImpLoader` @@ -1571,29 +1615,17 @@ Python API: * :func:`sqlite3.OptimizedUnicode` * :func:`sqlite3.enable_shared_cache` -C API: - -* :c:func:`PyUnicode_AS_DATA` -* :c:func:`PyUnicode_AS_UNICODE` -* :c:func:`PyUnicode_AsUnicodeAndSize` -* :c:func:`PyUnicode_AsUnicode` -* :c:func:`PyUnicode_FromUnicode` -* :c:func:`PyUnicode_GET_DATA_SIZE` -* :c:func:`PyUnicode_GET_SIZE` -* :c:func:`PyUnicode_GetSize` -* :c:func:`PyUnicode_IS_COMPACT` -* :c:func:`PyUnicode_IS_READY` -* :c:func:`PyUnicode_READY` -* :c:func:`Py_UNICODE_WSTR_LENGTH` -* :c:func:`_PyUnicode_AsUnicode` -* :c:macro:`PyUnicode_WCHAR_KIND` -* :c:type:`PyUnicodeObject` -* :c:func:`PyUnicode_InternImmortal()` +.. _whatsnew311-removed: +.. _whatsnew311-python-api-removed: Removed ======= +This section lists Python APIs that have been removed in Python 3.12. + +Removed C APIs are :ref:`listed separately `. + * :class:`smtpd.MailmanProxy` is now removed as it is unusable without an external module, ``mailman``. (Contributed by Dong-hee Na in :issue:`35800`.) @@ -1686,15 +1718,18 @@ Removed of ``Tools/scripts`` and is `being developed independently `_ from the Python source tree. + +.. _whatsnew311-porting: +.. _whatsnew311-python-api-porting: + Porting to Python 3.11 ====================== This section lists previously described changes and other bugfixes -that may require changes to your code. +in the Python API that may require changes to your Python code. - -Changes in the Python API -------------------------- +Porting notes for the C API are +:ref:`listed separately `. * Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor` executors to :meth:`loop.set_default_executor` following a deprecation in @@ -1743,6 +1778,9 @@ Changes in the Python API as meaningless when read. To get the pointer to the object's dictionary call :c:func:`PyObject_GenericGetDict` instead. + +.. _whatsnew311-build-changes: + Build Changes ============= @@ -1830,9 +1868,13 @@ Build Changes (Contributed by Serhiy Storchaka in :issue:`46996`.) +.. _whatsnew311-c-api: + C API Changes ============= +.. _whatsnew311-c-api-new-features: + New Features ------------ @@ -1896,6 +1938,9 @@ New Features * Added the :c:member:`PyConfig.safe_path` member. (Contributed by Victor Stinner in :gh:`57684`.) + +.. _whatsnew311-c-api-porting: + Porting to Python 3.11 ---------------------- @@ -2193,6 +2238,9 @@ Porting to Python 3.11 paths and then modify them, finish initialization and use :c:func:`PySys_GetObject` to retrieve :data:`sys.path` as a Python list object and modify it directly. + +.. _whatsnew311-c-api-deprecated: + Deprecated ---------- @@ -2218,6 +2266,35 @@ Deprecated * Deprecate the ``ob_shash`` member of the :c:type:`PyBytesObject`. Use :c:func:`PyObject_Hash` instead. (Contributed by Inada Naoki in :issue:`46864`.) + +.. _whatsnew311-c-api-pending-removal: + +Pending Removal in Python 3.12 +------------------------------ + +The following C APIs have been deprecated in earlier Python releases, +and will be removed in Python 3.12. + +* :c:func:`PyUnicode_AS_DATA` +* :c:func:`PyUnicode_AS_UNICODE` +* :c:func:`PyUnicode_AsUnicodeAndSize` +* :c:func:`PyUnicode_AsUnicode` +* :c:func:`PyUnicode_FromUnicode` +* :c:func:`PyUnicode_GET_DATA_SIZE` +* :c:func:`PyUnicode_GET_SIZE` +* :c:func:`PyUnicode_GetSize` +* :c:func:`PyUnicode_IS_COMPACT` +* :c:func:`PyUnicode_IS_READY` +* :c:func:`PyUnicode_READY` +* :c:func:`Py_UNICODE_WSTR_LENGTH` +* :c:func:`_PyUnicode_AsUnicode` +* :c:macro:`PyUnicode_WCHAR_KIND` +* :c:type:`PyUnicodeObject` +* :c:func:`PyUnicode_InternImmortal()` + + +.. _whatsnew311-c-api-removed: + Removed ------- From d798b595ffed4560f1de068206cae8c2bf567085 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 18 Oct 2022 02:34:47 -0700 Subject: [PATCH 228/494] gh-95913: Copyedit, xref and organize enum section (GH-98295) * Whatsnew: Convert literals in enum section to actual x-references * Whatsnew: Rewrite enum section for clear and consistant phrasing * Whatsnew: Combine directly related enum items instead of seperating them * gh-98250: Describe __str__/__format__ changes more clearly/accurately * Tweak enum section language per feedback from Ethan (cherry picked from commit 73e5180faf37e2d362e13f4ef12955a8b8535d7b) Co-authored-by: C.A.M. Gerlach --- Doc/whatsnew/3.11.rst | 102 ++++++++++++++++++++++++++---------------- 1 file changed, 64 insertions(+), 38 deletions(-) diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst index d6ad79edefb526..97e8600b5f9beb 100644 --- a/Doc/whatsnew/3.11.rst +++ b/Doc/whatsnew/3.11.rst @@ -632,48 +632,74 @@ datetime formats (barring only those that support fractional hours and minutes). (Contributed by Paul Ganssle in :gh:`80010`.) -enum ----- - -* ``EnumMeta`` renamed to ``EnumType`` (``EnumMeta`` kept as alias). - -* ``StrEnum`` added -- enum members are and must be strings. - -* ``ReprEnum`` added -- causes only the ``__repr__`` to be modified, not the - ``__str__`` nor the ``__format__``. - -* ``FlagBoundary`` added -- controls behavior when invalid values are given to - a flag. - -* ``EnumCheck`` added -- used by ``verify`` to ensure various constraints. -* ``verify`` added -- function to ensure given ``EnumCheck`` constraints. +.. _whatsnew311-enum: -* ``member`` added -- decorator to ensure given object is converted to an enum - member. - -* ``nonmember`` added -- decorator to ensure given object is not converted to - an enum member. - -* ``property`` added -- use instead of ``types.DynamicClassAttribute``. - -* ``global_enum`` added -- enum decorator to adjust ``__repr__`` and ``__str__`` - to show members in the global context -- see ``re.RegexFlag`` for an example. - -* ``Flag`` enhancements: members support length, iteration, and containment - checks. - -* ``Enum``/``Flag`` fixes: members are now defined before ``__init_subclass__`` - is called; ``dir()`` now includes methods, etc., from mixed-in data types. +enum +---- -* ``Flag`` fixes: only primary values (power of two) are considered canonical - while composite values (3, 6, 10, etc.) are considered aliases; inverted - flags are coerced to their positive equivalent. +* Renamed :class:`!EnumMeta` to :class:`~enum.EnumType` + (:class:`!EnumMeta` kept as an alias). + +* Added :class:`~enum.StrEnum`, + with members that can be used as (and must be) strings. + +* Added :class:`~enum.ReprEnum`, + which only modifies the :meth:`~object.__repr__` of members + while returning their literal values (rather than names) + for :meth:`~object.__str__` and :meth:`~object.__format__` + (used by :func:`str`, :func:`format` and :term:`f-string`\s). + +* Changed :class:`~enum.IntEnum`, :class:`~enum.IntFlag` and :class:`~enum.StrEnum` + to now inherit from :class:`ReprEnum`, + so their :func:`str` output now matches :func:`format` + (both ``str(AnIntEnum.ONE)`` and ``format(AnIntEnum.ONE)`` return ``'1'``, + whereas before ``str(AnIntEnum.ONE)`` returned ``'AnIntEnum.ONE'``. + +* Changed :meth:`Enum.__format__() ` + (the default for :func:`format`, :meth:`str.format` and :term:`f-string`\s) + of enums with mixed-in types (e.g. :class:`int`, :class:`str`) + to also include the class name in the output, not just the member's key. + This matches the existing behavior of :meth:`enum.Enum.__str__`, + returning e.g. ``'AnEnum.MEMBER'`` for an enum ``AnEnum(str, Enum)`` + instead of just ``'MEMBER'``. + +* Added a new *boundary* class parameter to :class:`~enum.Flag` enums + and the :class:`~enum.FlagBoundary` enum with its options, + to control how to handle out-of-range flag values. + +* Added the :func:`~enum.verify` enum decorator + and the :class:`~enum.EnumCheck` enum with its options, + to check enum classes against several specific constraints. + +* Added the :func:`~enum.member` and :func:`~enum.nonmember` decorators, + to ensure the decorated object is/is not converted to an enum member. + +* Added the :func:`~enum.property` decorator, + which works like :func:`property` except for enums. + Use this instead of :func:`types.DynamicClassAttribute`. + +* Added the :func:`~enum.global_enum` enum decorator, + which adjusts :meth:`~object.__repr__` and :meth:`~object.__str__` + to show values as members of their module rather than the enum class. + For example, ``'re.ASCII'`` for the :data:`~re.ASCII` member + of :class:`re.RegexFlag` rather than ``'RegexFlag.ASCII'``. + +* Enhanced :class:`~enum.Flag` to support + :func:`len`, iteration and :keyword:`in`/:keyword:`not in` on its members. + For example, the following now works: + ``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, AFlag.TWO)`` + +* Changed :class:`~enum.Enum` and :class:`~enum.Flag` + so that members are now defined + before :meth:`~object.__init_subclass__` is called; + :func:`dir` now includes methods, etc., from mixed-in data types. + +* Changed :class:`~enum.Flag` + to only consider primary values (power of two) canonical + while composite values (``3``, ``6``, ``10``, etc.) are considered aliases; + inverted flags are coerced to their positive equivalent. -* ``IntEnum`` / ``IntFlag`` / ``StrEnum`` fixes: these now inherit from - ``ReprEnum`` so the ``str()`` output now matches ``format()`` output, - which is the data types' (so both ``str(AnIntEnum.ONE)`` and - ``format(AnIntEnum.ONE)`` is equal to ``'1'``). fractions --------- From 0bba980c5f67e72e8fe4803957ac82748d3b483e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 18 Oct 2022 08:21:58 -0700 Subject: [PATCH 229/494] [3.11] gh-98174: Handle EPROTOTYPE under macOS in test_sendfile_fallback_close_peer_in_the_middle_of_receiving (GH-98316) (#98357) Co-authored-by: Nikita Sobolev (cherry picked from commit 3e82ad05b18d004e4d01fdb643344d6a2bf11900) Co-authored-by: fancidev --- Lib/test/test_asyncio/test_sendfile.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_asyncio/test_sendfile.py b/Lib/test/test_asyncio/test_sendfile.py index a10504b1c4130e..0198da21d77028 100644 --- a/Lib/test/test_asyncio/test_sendfile.py +++ b/Lib/test/test_asyncio/test_sendfile.py @@ -1,6 +1,7 @@ """Tests for sendfile functionality.""" import asyncio +import errno import os import socket import sys @@ -484,8 +485,17 @@ def sendfile_native(transp, file, offset, count): srv_proto, cli_proto = self.prepare_sendfile(close_after=1024) with self.assertRaises(ConnectionError): - self.run_loop( - self.loop.sendfile(cli_proto.transport, self.file)) + try: + self.run_loop( + self.loop.sendfile(cli_proto.transport, self.file)) + except OSError as e: + # macOS may raise OSError of EPROTOTYPE when writing to a + # socket that is in the process of closing down. + if e.errno == errno.EPROTOTYPE and sys.platform == "darwin": + raise ConnectionError + else: + raise + self.run_loop(srv_proto.done) self.assertTrue(1024 <= srv_proto.nbytes < len(self.DATA), From 651a7300dc7962bf6f9f62c886af8cbdcf1334da Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 18 Oct 2022 08:36:42 -0700 Subject: [PATCH 230/494] [3.11] gh-98331: Update bundled pip to 22.3 (GH-98332) (gh-98400) --- Lib/ensurepip/__init__.py | 4 ++-- ...none-any.whl => pip-22.3-py3-none-any.whl} | Bin 2044706 -> 2051507 bytes ...whl => setuptools-65.5.0-py3-none-any.whl} | Bin 1228000 -> 1232695 bytes ...2-10-16-15-31-50.gh-issue-98331.Y5kPOX.rst | 1 + 4 files changed, 3 insertions(+), 2 deletions(-) rename Lib/ensurepip/_bundled/{pip-22.2.2-py3-none-any.whl => pip-22.3-py3-none-any.whl} (62%) rename Lib/ensurepip/_bundled/{setuptools-63.2.0-py3-none-any.whl => setuptools-65.5.0-py3-none-any.whl} (61%) create mode 100644 Misc/NEWS.d/next/Library/2022-10-16-15-31-50.gh-issue-98331.Y5kPOX.rst diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py index 33c91801b0aa85..4a6ba9cedf3d1c 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py @@ -10,8 +10,8 @@ __all__ = ["version", "bootstrap"] _PACKAGE_NAMES = ('setuptools', 'pip') -_SETUPTOOLS_VERSION = "63.2.0" -_PIP_VERSION = "22.2.2" +_SETUPTOOLS_VERSION = "65.5.0" +_PIP_VERSION = "22.3" _PROJECTS = [ ("setuptools", _SETUPTOOLS_VERSION, "py3"), ("pip", _PIP_VERSION, "py3"), diff --git a/Lib/ensurepip/_bundled/pip-22.2.2-py3-none-any.whl b/Lib/ensurepip/_bundled/pip-22.3-py3-none-any.whl similarity index 62% rename from Lib/ensurepip/_bundled/pip-22.2.2-py3-none-any.whl rename to Lib/ensurepip/_bundled/pip-22.3-py3-none-any.whl index 03099718b0bcf4f776d916e5a594d9cd0047067e..d6fccd9de92afcbc686f159b9d719ba0ca0d6cab 100644 GIT binary patch delta 821330 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≪6OarI9iZeksND`wA;2Stxz6tKhQs|fl5O1A4e~E{( zwnU=QjZcPspM8uo{87Kr7rjrK7QNG&9#%n;E^`Z{wRhCC^wyuR6mvPJrNzNZ$O`UF z=^oTgK{(A9FUPvSwoZJ?*7t8DkC7ee_@LjeHUxO}TUI-R=>!*lpIkIDdp$% zdUpmEkQXI}U)ITpuRfjSLoeP5f7Mkpx6DpZ9RqBC=w`c%XUsaD?H~g$tzF4wd>747 z&H0X8*Sq7XvWl=+3xzh17~Qg+lhGVox*p|aKVFHe}I&$K-r?L zx#bnAe34D=I`7@aqPfk+^zxeGEKyw|8##0ah!YNps4}8VKa{y(JZ|VBvyC(pTA7qNZBbFd zFYnjOAcTl5@BVw5)Amfgf7#%9d&U(YJUn8mF6Uo{lS~Gi%Mu-&x{*xm&p!eTDg_{4T?%@-L{)gB9BSeM2LZ4fm zV)rIn!R2Q0%536k+wcUlDNb(A6Zp>Gh<6|D?CZwGE|Lk8TU{n1e|O>{v#|%)6UX~( zLqcwdG2VB`_EFpQ^qbu*`LnvrEft z`KGTz?BfyJU~aaRa?ohgDnWO{HDa$GVfk;^-!?8}e$yz1PM_$LV}CLuar+bH-$K+E zAiTGoKlFIH>k1NOe|JpYlBkR7Cp@DrvipqXt;nIT(ZDD}*&Vjen*JzzdsM) zj}PQOc^<$YAIN|5Jb*twkpJX)0DpWSe|#Rl3T4-jE%2arg=D;=&%!MFHfkD=HR^R& zI&2bhEVTjn?iR4~mZqa-u~T z<|-j`4%Wa={4uESC(o}Rp*}o8^30lHhQI)R0lQqIJLCAg<>83F=T0S3U4zuJ34K$; z6g}~Egne3XXXr1wEeYpHC3`QT_ybJxKwtZ*bT)H{e>z}DkWBZMU=DoVy`ImO7=19D z(;5{W1G8^oXg5K2)54@ilTsp8HLhKN;omgsa~B({@X4MZ72yR;e6}K;E+mD}eF^F+ z&_|3w3=Jl+_+#2mgQ2~9!)Jwu02F!QFNBKvsa&Iq6XU_NBfFbw=7=Pl(QqJ|)9iB! z7JGT&f9e+^mi3DSzsy%&*Lp|-0TCWGn>&>vQOPb&zi*j&^J$JGumV)a19tI(bEu*D z2!*sOS@{KS7r6<8jDJRt;tm+4C}s`M==}veGOq5}Ke zi`AmyHF|-t>q_^w4x=RjxEZ=f%$y&KaG}&_&6mspMQG^=+B3`Otqx}F{6zTPN?`sA zC=2{5XXcOnsl;--MXwK&@1{U9tVhWAl*YuX%RYa~nPC-=ie2k?FS)>~?Ijoz&uCy3 zfA9zQxu_X4@Ptg)3Z9>C{1ED%n=YlmX$9I!pn#M?f?CT9ETwu_ZgdquuddafuC4+) zF3)ax0*OXS(8E)+;W2R=ohKa#6+Gc?I|r9k=2*Qbw!EU+6w>hPS?XU<6G2ly0L&3O zFpd+y>%!FPOv|DZjL*%p3?duCTkn8Xe_V~`wbfZpJzR|_J7|oEz$^qVDTum2NaWXN z;yos`uSw(L;8(K`p4JhcgaEIahum@CL6+?drUkun4C`V(nujGv4@O&Ias<@0{FI+= zN24?hPq%k~zbEOz_ct-PgQw?(QZ$%?ibvkRF0(p{?)f^MN5j1vulAXCCEzpFf4i2h zuoqn(Ho8#CtB%uX3KrsMG(uSlMItNkAd6?woqAOAg+bGBi4Z93*1?SlG%$t)#yp5{RO?!`$*@X8!d z!UER!D_F@dm63{)6(C8rjqIMye>KNX?r>mmzNR0-aG5kRn^e`+ap0EB6sjbct{u*( z2U+x$A56dZUumcrL5rEGyTV+?wF5)D`Fb%6_vw0;qk~F?b*E@RMpZKU(9W%mr{WA> z#Ef$8kZ_ayfG18uey`ZfLuDxx`P=o77!UV+@k&%#L9HKp8VpP=bH72(f72Y{*%i=k z@^|P46tnzGSj*(w2rh+elfKMuy|JRv9NX%#n|T_wojy)B;JIRClHTxU9Bn9<{28pp zKjv?U-9BTJ=i3O?M6`|ef37$jA-1CIHg243jmAywJ=ySW%b z5ghQJLR!l)g!K+4AjYhZit9Eb^D#7o=t8nW+l{o7y!3r$#@vdnf7@iv=eD_s`n{J4 z{7&XcFS@x?KesxlBF-U~$}7n1^grBozu)#B?;7|gx4l2#;4O}4J!)@i&lvC0tSee% zxSS*oZOp?O#_o9EP1nJ`b<PjKhxg*CF$LxSpht*g$GtVb;s!{Oeh2rNpU5v_kTal#qht+#pEZc zRq_7*s;nrx0nNo`=b& zVN;@~E`1KHdBlNdvFC+EuF_I>X+lV$ua*-1tW1;CMWVpl#u{4sQRSze_jt|vb+NCD zC4W#H{au@@8?r~24S$>d*0>KaeqUqdM?c>FEcf+~kNz(B^@k&W;8jv6O_K~tlO#hi zFiw#$iIWtJ;urzr2+6=Cf}mfn+r4B5&ENV?BTk{how*$W^{x=YG4`+te)pRD5yxh?$JUh_bA z9o4N@hV2fT9|B_0)@4KY$3v{a2ZS-xc3`dt09OdB@g;KNPau zk7>hiSvc^qhJU9^jJfk4r%}ZDb#Rb_vMseSW)|LefiGt^Y8Kw~=?!7Ua32B+KW_AD z?)-(o*G=b>&j_=vVelF#Mqo`n3kP-U)ZZh;4-1`z9j4T0Uy{w*pV31Q8{4@ipJdJe z&^KagrT+N=ao^IAGrQ^27CpbGBpTKqlrt;|`MV|Xhkv^i2~bj0GB7lLRbS)z6#BhV zV`-vQ(B$6ZDPZlTjsx;Q&*f$MG_zt=F*#^2~3?MF?>Gz^ReOvL3VC*E+FqaW8{G$1hxdKAr27ow!&9 zGk>^GE|@Nf(_1D-&J?kiaK$d~rL#MrE@^IkR5KzCFXLe<<8ws~(n}q1m1?z+3DkSl zFD?H*-kD-H$* z-$PIyTf@aqLq$4j8W#GRe)(js|fE}25pJ>DZ1lJVmpWq+XD z1)x}*<0~1;CV+9-nurY&Ek`cgy{38WDe48C7bY4HkbHaU)d=|r*iL=LohAtNq5Jjn zte#eKsv%7S3~30^^UN*og&5a-wd#v^<;+7VEIbC1o;!Qw@i<|xW3Jfs$WOJRs-5w^ z4hmmrCIOr*_O0Rv{d@rBXX6D*jDO$Cey&=As-pMcpZddWuW9oO?~Z(t8u6)2>t{E; z?~^i8&I7QozIPee_I+}fr6}*W(66OP!EPt)aFoCXguti9s^c`I)Cd}{j9@)@PBW`9 zXk$)!pf=88b9=jO?A-B#6BS}L+QLP4`KJW4=DdX2ot!1w%+PmEc_S3Nur+A1}wOGSZaxb#!JNXrLBY${}W{U|GcRFv1@adNi06LF_XN zw3a+}j>09KCr-tIGaIHmh<}v>hwGCn5@`K9ITyZV;r<l=}XT@zDQ4gdAI?T={cZ}A$EZ(hS@Yr*PM0zH~KU8$t@Y*$+au8TTvFglYmzo zM^al>yLp$RTRyw7mVeOQ3VrYUkjO@X+8oiSZLnr@tK3hr$)WB!KC`QD<$v$>Q*6)) z9Y3Md*$+>KE+^>1ZZj#VQ_5H6D+dl;c>Z~wW7AC#KN69R&&rmveMOw3dk}0}40Y}s zaG7V*bo9cxN(aEJxIgT)vuWqkmT1=3HTiOOcF#tp)rHMfTz~xVG!wXJyZWCJ(0_jQ z?c%`iJN*L$biBO^<))V{0RanV46`0G3d{TTGV3b!G}|kGlOLHwsZT<)93Of0Rt!ak+>#}qCgT@;%8%UtWh^U8*StaBQk}A{C;DPtLgCbAzIS) zmm?km>N?$%d@##xgJ9|&R?P)6v zodhWm@%G9aNO|_R90l z9!_nO1b-3*%vVBb?mn9KUahInt&mC1A>F~JN)=3wgmDkXOAg}AQ`0%>6j$qSg?v2| ztU_k|mR$f{lMguca_@ZZT|m@)1QQu7Zg`9e1WWF|PQ9CVlBIC=p8SH)u58c-Bub#R zGjP-m1;Wenba94Z*vvt2k#8Eb=HSlVv>ZWe>VMW{AGtp`!h8;WV%E3d2oq64!4KN- zOg$R_=dK^y5P+E9Ej_I#R{e#I)9aU{wcGjBXR43Bb7*>D%O0e z=znRGPXUhYMz%A@uqB3+Cz@nou8C~CkMA$~&EKFEM{pVj>9sux0?uBN7#!N;CB7~WNOK5a`L9MeSBpV|Pk{!F z7`lcG4n39WFn5!njVBO;umDS&361;u{eM8!MZM|9slA^hInaTlYrrn*WJr8WRa~TQ zUQi#<%rCHeF(+)J&K5BkFb{uP55d0g6)JO(_Ng-K?mhE_>2W zz_KP_YPQ>VLmJ12ZRQiH_x*iXMwv%j;dG>os=|+nh8n=(b{v(-;k5Y?BDXA#M}NMT zt(jDVr>?mZsum%fO9vB=XMCgj176HmxC-6iMks!;_?* zs<4VUkrx%8kfPA=-{W)wC62aVuaOf^F_;FF`l@dL*;AJ7LarL;Nf|; zi%HCqR|5SGTI4FHM$q+;eTUO^u>rHm?4^O>0One)-zGUbe)|-)$)Q-ICEEKu*7C)? za`&lz*vTl}4aB1#9O@2eQ_|Oym7dmRY3{Fpbr;nK6GxWSdWfW_9&Qn|E`MMa2p((N zksmii4{jJ_6*dmjEh_RZo94K8e>Pg61`{xj^qhj0gFh;o{o-vJ73Pxad`ZL zAt<(u-hKCjy8OqcKh>%J-G1M3)t~nHp(=%A=vI)T8H6MWf+k3sqPHO@1jP^v#bB7g z35>?bb&2}YJQl}xVoUy8lz(ltpgh~?GHAXNWys%Xdg}>byC!`?|CW(oON^$wcqg+J z_BXJV?Zy9HW(&@@;y;;f@?H6EWtb#ezB)?=WvjqH-`H-P7xmKeQ5s})YI zFfH2kMH6hh%(@ZVm01vS_x0I@N!M#^$}#y?q)Otg%dvi!^$UKGdVk2jA89goV9|a8 zESqbW{7tk_&GrO7ad>q-w@n?!%NM#Xz`AG>UsQq48zTEw1(Hndx2V${Ez#D03j8owLI&L{f|gYnN+%%s&XK|D@QYW?*pLxv zU8F%sUZGw^Z<(vPqb1>a#|&Idrp7&K-wttv?lYiDtQ;#3vwt{hEf_&h>(!nep-?bQ zQ%-J;kArsuowCyp@z^M37UOO0B0uJk)yu|E*=;R}cW$#&CbY0IC_h zRR^Yyv)&xck(b)!MX9D;^y*jn0sPxlg4Em9L;EhJ8 zH-Up>Xuj6Y2rruKGmrR{b%F{w#98P0x^8*@tdcf?Rey?|tIpx!kWp$scpkkUG9?tP zSJ}iW!qxQvwa*D2qSQoY=Lr~KAzVo87DOx`PyRyd-a@$}hMn(@uVk4>x{z~6U3#kQ z6GI+-Y0|vr5CX_NyE7~ zB!`y0y?+-ylzLJ%N#6ko{i%YBZkb>yX#Sz+PP{Zj_SBG51dQ)G5R_fLW+jv zeC&EN&HPMeh4^|~fXCgp^0+sx@QtY%|NSJ;9#EDa0}6Z#kn%=r0_e%vxm@4$Q8WI6ndkrcfU^8Nplog9AGZBZ z2bB7s^ej-XThQckeQ7}9H&&Z1+JX*+W1VQ*gJtN*s&xv7qWn+}#f+djH>v8HjvnQ> zG|z&^3>vA|_*IERz=NUMJ{7WY#qeOw1~&9nKZ0b4{F$o#|YF`UKpE(&$0 zi|;0ZVw@qFOyd^-l4|W`{h|igY5AQ<8V6C^8eG5MZKw`@XdKInd_9@ZBlG0q7R`?N z9X^@lnLF6Q#ApEBji6zAH?g*B8nxh{ni*DXBJGSX){6cy&*|7sq|oaFQ<#UrEPs-F z73njjkvtwU4*+$1dxW^W1Y!Cpv@%*l8KoRt5^L8bZA$YaPbxY^V^2z>}{(~+{JH*Ss^1RIXUJwb$yCvE^=5l*$N__|K?(Sci}6fuG4yg-WX?eXWGry%E>7n1FnLgm=768wQkm92lYjoU#61^6 zNJ0Xj?<_q`Kk5^LdbcV2jI^4iuXMf0=z(ya%vrmyVaH z06ZdN-qH|Up`3SV+J#_=#uBrX&p|93|8{m5_-c5VE#yDV4qs;B%<1~slsxvJLiV|F z?#!_~87<)a1$EBf6YKlEVt-fIg7+X_Av)GFVM(6Ao@FWC7j7royVodiR9{O;wl7Fw z-jHX!GR;%Ggr0E|HlL*t#laDY#)$1mR^rk6YN3-74Im2n$&!pt0DwgY_Xqvyr<$Gy zE*ggGSH)UPzZmtyuLM2_`%-^EU_!U;?XV^$$nlk>tN}jJ2(nddly2)m$?C`@ulls26wN=?SjC? zD}6AEns~44xkrxAw!ONuf4?3L)oIvF`%Px=6`uU26NJMgDhC`%?57$hoHAH5fa}H{ePHoL9^|w+pG$1PI(0^a_x&J8!+8_|HW1u&;?xg=fQ2Qiot*M;C!Ya%0t$(9KE~iE{=Lx>P%|!V)`SbghxTmsT*KM?{EH`B=sYsviyb0&}5e{Sx z{1ZuwFQU=|7>3E`ZaDT3c$p)l`9-`%IhOGG&wo73!Z@%3C$p8frjg#Ie`Q#mUmpN> z_v{CE4#Y^E1h0zBP$X8g-LbO+H~q=+zvScQbX5SM|V$>J6T5tRoGX4g`y( zDh560soS6aiKN4yUU>W$7Z3aw77zTZ#e<;;8m8C917j#0+0C{|Z2P}7MXdn?rE!}2 zQh$kW(-+!Vv?;Mm-cwsbwJ~S+QLuDZBVPBxclvJfb=xy1H_ZeZ-`bujxn(!&J527r zkZ`h*iPyYrU0t>h@m3r|_KfR)QTJY5j-uO^=sUln-nrevn>|K9;EgcCO7Mm^!bl(l z;@4kLWaQ4wiab?y&gs6lYgER_MA8Q+q<{6zxy+oz_I>_c@Yo^*p6(4{*jwOe4-C-W zdbTU^y_Eq`YERqk+=3^6( zQ=dVh7LaTO&=nLTbGay~!Vr>4w^dG3d^26Lp1vh5d%qj8qL$*tj^jgCSaD`1m}$}% z%&sVuy#hMHYbr<2Q(u+GI}3w~GzCR0Y%vCpt9F*3{d770K1&6BS*iLpOJ$tKWxX}= zxRyv4MgDV2C@g&V;F$&ftomLsx_{(xI)B%cT%z+*dO#)}G}Ylu;4pYqpkYNqe}1j? z@z~4&cTG%+Peb8JJ=)Of-RgESJZL=^%EFj8m=Q2?;qRVslhv~jrHXC5ZdjF6ldU_C z=?uWfmlh!pRcQ2eNb~Ena;b-PL*V0?5}1Dwja-jaT;}-4F>0qj9Q_Z+(SQCp_SZd% z>~b#GXsrJDA6r}+ruJPJaHru~y|O>ps;SyBYyNmmSSzjgM+*qd$)O zOQ!9$pJy<=|MhW_?<>Ey(4}X?HCy*{e7k~QqTv4@ukSPZ{-bOADKvi-ZqsB}d*8s+ z_LqIsHh)Xdwy-DJD2=?@6I(;jJyaW6@iRCVkuOzVljC zyyw<7NS8%>O$4F$)9li8#NIl*t+T^MaxcC7MYt7$y~_le{yk{%Cx4}ykNIKfSIaO_ zS%81buq7@JrA^S?n%x`2LFhU-`(xyadzAPLzql{^uLx=I&|$ggyxf5JVl*+wBHIBk zJU^xwS)Nhb42mGWg3CT+pgsbJ)zXU!#}{umD)D?zReeF!bO)M&h5_ztA9^KZ%>U!xi92F(6Tr60-ueyns58owec)(+%8{yqz>!4+aC{_ z_uCnMS@^c!ric13U>B6pzsarYtFY*`H=Dcy8?L`M$Uyo&vGKz(U6Gw1w<%!Tr#!C~ z0-gO3dSw^=WFvl+weS1YV#FxJ?ak6XWww}alB{dvZSTntU4NPePz3cBOU)xe{85p^ zMiK2MLf$$-_vkzp)gSuZk99~* z8=W890&i(rBizm!UT(LKU-QTN1h~8ZF>iftY7bxZImfqI=f!^hR*dbB>vH?;j6W}o zTnk{kPxt*h-hT^W|3LV4K)qQf?j#V=W~i|WTJAcdc*Z~o*&XnQ)wqP!_#p=`4W;&u zaeelz?Di+DwXg^Fq6nqNtJem2wfhM+K%1${qR9dSme=PYKGx#W#Mr|`j`quoA3ZsjLU1(%>w=BWw zn|N~Jlz(FkEtE0_%K=6;BrGFuV78pZpNDIInwJgTgIx8obTS~y7iSpchlf`zGT>9i zKeB=ON+|L}($T7|^UU zFAX<-xkb2rQLvH7%BDu_3?&)GH}n!jUmWcCUU>4AyJu8S$>nR@;|D%?d1L}mwea$% z+kX|z?r>*^t<`C3PMeGFov53FU8plu-*LMIk0{B{<)l{dL7WqH>{rs$xg2PE^z?W_ zOy~DrJ5Zc`y0G(&sxEis)Mx*ozd_!^S_YXC#j?q(69b`|-mPf9%gP zZN&}#;LQK||7b4%tLp22%YvWi;OoVHgnt1v1a0(;CUA(vAQ*w*uN`hSHk2g0p2%)d zitRn5_XlNcfqKC!TDYW`i&y`KAS`BoeR`^XlAEO=#CT6clw2T4^C$E zeg=Zr*W1pyd#nD=fHltdOwR@;HU_ra?V#`Z$#iFjRJ2nu=$$A+J_}}azEiG^{eNwE zX7|ED_KeZDdKUVg%tUq)2EQ#?>A#%76sx^RgMPO-Q*x`l9G8SB0oW0O z1!24K==>@0dh}A?@^D!Z?2~&<3JdZbUuY!9GuU0!-12?T5ol-IIKpjDGfrBy=)PcW zWbK<_)Gn#YhO)g&Tzpfhd%uWd9e>055P$u~*&sl7g`J?mx~ngS|BbY{%DNrjw&5#m z`u$Ir{Oc71|MZf7y<*^RU$UZbU+s4vN}k$e%PM+iX$&-4e&QYLtSfR8quDYjz0U2@XEzugkJL&m86SXOMm@6nFK#0 zit=1_3jG+>=Eyy@p}Md&;C9`H7bd!IkcGMm+>tPD9!5V}avVl^R`F@V4(>=2_<_a(I_ZYtmOn!Go)1khSLUTF zHLE(U+RL5<85MP*2JVUZXn(K1Fp}Cu)6tFUs+MrXlNWY0#ic;^r+=9{!$zTCKAB`! z9L^Pi$&aQ#0c$bpHjy`{p`!C7i;ajaoAt(~cCH`s5Ix?MQhv04TCrWEQ^qqroaMQ> zx09wPsB{H16mkkJb#)=k9M}nYBv)@q{Ze#^BUQ*oDTM=GSf+TfvDJTF1U#_b=EK*PWcYOE_B(K7=4@BN(@9L6H~Ok7u}Tu zer#;{DGOj~>h_B>)~Sm6%X;E#x>=l7iOR_2i|!UGPw4n4wF$36#E0+WutblRXKgAooXU<&g-w{HOOobwg7LZw8(lf zY(8ljACSu}y*-w`xiRe9J!e`%zc^`|LgtFpY9fe%SnO(y)&y6V=5<~2odebVFEJK?~$9^r-`*^Wsr|YoHvh&IMW=M=7*ytKf(wlQ-A4TMiMwa3t(dx#B`4}`m$!h z{k&8lnH6nxbnAYWSCDxTP&XAz2GiW)k2f@lk8m1^*4<-yky3g9Noc2npGrX6-09A& z*)^Exxi9R-2BRyrP=N?qorQ%Ly(7nvniTSKbB9ZNl#-fdeE^~#8YyrVHNulms}zqwjcb`G1~QR~h3Tld`-rBolr)Mx;pB&pZY2soiV2 zKjhPyS@I-t+6aEB+tw_6Xg$b0^RR+5UdCsku#gX>VPKaU{$?f^f0N(kcgI-|ZPrxs zAIXb#wTiul8z|DQ^Q1e;cDj$;4$tBq@OGOOjAv5)tZTfz;3p{#`J4C1?hGI{-+vGn zLcf5I1iSry@vil&xt}xN!K}Z>yEkxH3&^KO;@cw8O@Xh8z7AJN6~;S!YcqgWNpO~N&YTjh@lVkMDa@;|k_iu< zoa*IKuQ&~m_SP7M<&M70saz;6sWF|Gi9|Rb5CW_$v@_kyrvTDabP+E1a}|?e7a|}N zPG#Cx2mM+#A%Rh<~?yj~UO23~#ss z9B|GeSJa!-2`W+Vpr}tX8Nt#|L?b*ZA$u2Oef#npv&%xm2MG9Kg9V%ZF(XW>M~j8`~jwqr(0%5Fm@@C){ha;U?#!o zClaF9oDPnDTV$Ph1Wy}hF2lKV;42)->^0dXQ)b+{o?LZsP}0j(hkw?o0j$kImaiCv zDc7~J#?#H!&L{DPYwY#ExcMXhCpQ28j+6X{oBvNO%Loa>1b>a;Fa*=|_Jg3mcDF|IBX z_k;A?rw4nVK7W2&-S5@=w<%xp;ggW<=T7!{oWB%_)mDyU+3b5RM~&qCwef|s^`|D? zcP?k=zn>Gtz&A@A_6HTIEk=c(d;B8ujPtDsq;v4MJ5;c)YdpF#eui+^R~nDhC^JrejPjJgjn?hVS1 z@Ag3TuCQh8d;LqVjSqLA-7;_8=WP^3Uz^>+;QDJ{!9T`9z$Xy;&*C896A1lhanQft z#6RJnzvp=Xd^0`h6p7@HcePU0vz3komiN4Kr=&Qv&K|7`N5Sy8!9?;amB}xS>5h=1 zpR67PEPwx=r72>(CN3tW;&qc+CsJmuu<&!wV-f1iji@NkhBmJD)AsJ^O!yqM9PyT; z9@jengY?2^#d6bdLS=H^s`yv+aJD;tH2!rN;nRc!{!La$H;7^fH6JW=Vivd$7Bjue zHvoCv8}l%jD5Is1ajLQPhH1ErKFOH=7kv5=J07x@ADL z5}N)DWDQP)>o~xN8_E$`wQhh@V`@3X`9&$J9F-ImaroOZ+UCYhy=ie>PCg$+0G&^u zn}0jcQ%Wai3?&j%YVs2OizbyK&U-$WNZ|v+pDRLoDVVKrOKxDc5-AGk&nFU$ zUa}D$*5XE7PxC#|&#l%*j^gzA6kgG%I9jL7DawFBM6p9JK3^}_CZ->*p#ufIUIdla z4oQqz1487o&S58-Uj1hYAD1$NbKmJ6F@LQ1feIrBkb4xvk!gq0Dpe{(fwnf8lZZ>F zL(Y$pDd|+)UkU^_oY&nRC6VdQOmB`?a5>*`DLuqpa-bRKsG$pqEoli*2Bh8{UU?Sn z6_RmbCY9N#tNT5hgKZb)j`W0eZ1q4URuYNzbotqc`DedmB*#iiBD`*R#iwwgTYruT z@nD{VLHQG?`g|_%)sz1Tr~-bgDy!mRSIp#NI+W&EQjo>aE2!Ps;rud(QF4%yfH?C4 zq{n2Wm^#S(;d1VsBf=gx*x%3>0iKuWg5SY&T?JjrzYwdAh8D9R|3zeR-@=kXG8#F5tSLeI)j50V;h?*yDY9wgh9}Zckbb7TCT3oU+~H znMEC92}|~_P${apXnny!Vb$_=vhuzdHBzH@fg4k{N(&@OXIbwc3SPS)0)Il8j(JyC z+0`J~nzC==GM|(Svx25|R}2(po3A`5-3e?N@rV~>#s-$}qABJ`=<1;WNh z>0w`yhs_^ursf>BxMBwutbgiSrGO=(1m1Rea{DT-B%C^KvvA#UKmjM4J3?Txk%&~K zJ0`RRtq-xPb^e*c(#^Y)SmfrW+njQ$WX40uvD*j65SH}*crpVEFe8=Wp&L>d9wWj! zciB>kVEv48EOWgZp5HIfSw zBW`OYuCGxuWILCWWpU?|*H7~;3S0<3c4~$q3+U)$ec)kn0^n&@|2bS0{&(i6{<{|c z6Fe1u%}LQXMj;qNV;df&2n468F9)y@a!=YI=w5zA_Fb;Mh#FNgN*6Z{sP*~i)9cSmTvr>)2h%>K@Fd7r?e zcHkMq-=^Ktx7k60@15r~x<9)AOm>l*4LGN7dn`EG;qHcnsci3W%Cfyxe7iXMLt2M? z-{U?$_m?RtWlu@XKcu7-htotV2_Ad*@|P*8V>@dk)!k3^077#trq71hzUJ6zTiX2J4Js!dzBvm(`9?>5WrcvHaWhCcXb1GNJ0 zo@SE)*j{A_O@FR#u++(c-bTbT1Ix@l(zP_O#L|^l77nwPC=hfJylu}yB!OBFG5 z0{Yp`yq?qKQfUOcyYMnh>z>ULkLfwG>$6CiaS8jfU4PMsRX;5Csf}wVmTaq(zJMQq zIfTIc#p#7U-VrseUW&e6FUZ_C{kEeQdIorj83hawO@ z9HJF#_H(Q)SlRLybv>cG*6=F93VdX>{D6ll2l5TxMrF<9ABf7)g}o!N_>Z6bC(EfF zFaci)|9_QV2rqovXREly+ns; ze%*~Rdf2#8qbv@>4{SP2*Kqq{@%iE+03++;ITlKGlF5OseExVkv|)@MUs()0t}dr2 zYffBXYrKH-I67X;Tga`5%!t$phDD%EI1zuHPk&81U#Rt!OD!?KCOth)jUF8OYjD=i zNJk*Dw8Bh@ddCOsU(N9@cnPI7I0THnQr#}FD?^uY!+|vZQqF|V_Qs=@C~y1F^BRt& zvMonLc0W!DdjuZ}gI`+#X(EbMfU_Fj+;o;}QF8kSnDZ;51)9UvQLnh|_F+3+HE80C zlYjWkF0#<6iPmoKyC#UI4gZ}h;GrHa_&=#VIga)}lfL~nA@Q|Ej-n^5;dna!6 z{y+IBEhT&MW*07j|AllH&w#OSx{mx-mE|9_=P z=shM;Gy3-;if=cWB(A#6eAM~hyLY;62;1f)(LdTNZ)}{Q-~GA!29!wj>zfDU#&ntI z=Z1THx1Hj3j6mO~<3BfR;7eo7ZM*lNA8SL~hU_M*>FW50nUL`P81Oz=v(y)JC#JrE zk#C?x^d%n)F8U(yAAE4%kXfjFzJK@6{gVIPN!{;;)_bSywm+)#_NRQStk=S#bJXV^ z+Iz5}YpwAFV&|ij^UDVOCofDzR9))}B|YG`gZZcH361n2PoCECNsb|QZt)iuPhDPO zhx7Ahu7uMdHn51P94#dpq4DbwZm+TqoOr{ua5T=1id_oqV*1nJB|af0cz=2o=evDq zr=}Hmg$qR&;9fqJNy4j3+b$P+yfYn1#rm*XY5joAnmQq(LdFa)vXI4Jw+qo8CaHwY zVU5>In{WV!Ba(lX>1-DknUs*x(r53pReG_g{xm3Rc!c7vua-lR^_lrXLt(kU#*{sQ zjZ;`CKm_Nj{(92bBlHb<4u5aLtzXDv50UxyKA8$ZNtdUx;&OVeO3sFs*`lNS^>(G! zVG^GuaA>IJUfaP-7iwRH;+B%ZSnP}Ob=zqPl(M}>^lgvn? z0-zc%=GcpD99rPZP8=%r^%(7+w;&V5M@j$DWY7>$Hh+o z&%u%-N<~RkcZ_ziQ$4=mD)?Y=6Y*9LKJfW#zrC45 zs+_IUrM%NxtKGtceAtyeEkp-;Y<$fdzm2F&NZACCqqN0H$z$jFWk&H`B3T?^kt7k^ zx_Y1j7wuuoj|H=nESS+dwII;{_K;k2OuIA5S^Adv+Y1g;ijH>{Zbn1D{3$6kE;QNcYgYhJ>6Z*h2)lvC2y6giU;arEbj z!64!_AK5wxIl?~|Xe!;2>to7+J_xEu>vjC}LVr3)EpRF49_fwcDA%nJA%33v{OUX} zHj`#k)s9GVxskA;oTrJQoH78E1ew|9LaHn6US;maviL$z%O2H^XlL$;;$k)l8?Cm>_?NvN7f4BJLdzo*8c>BofyIlw-_sSg_ z{eO%4jq?M#qc1Yq*Fdnh*$(!W7LNDMpA9u`sEo$WM3MK_Rjb1(cK;5;|g}qig!!Y zTip1sYmQvKgN@Sp4h_>R&R>++pNV4Tihn@a0mxcIdzkzQ7VfAJ_^-gi9Tfuq6)9vu$KlSM3V_R67JM2qL>RTcy@fyP z+-Y`s(Pw=11PH^p>+{*%3|UaJ+W71p27aA5`n94{JR~t$`OdIhw=Rwj2%fJ{VwHpr zy+3HcpBs&TXS{Rh2>5E>B>oh{+45zJI5Rc5a{Tax~i(K*M`d{;%6ZMPi==roS8YDE<)KR@b4j z)0Zt^^A^E>%|rXHZtVggpLuBC3om7vtb+9|xwp4N%8o?u+21{MeII!RxMDu-u}j(W z&mFr(+z(>Dk?h&{>|o^Zo$XHnLO-^!b^cUL*qa!Ef44xs$5emJzke5Avk%`WpMrS1 z_Vu1p$8^_Pjdz;edI9f){P%-D-QVB2J>WmOzrS;Pz<+dqf9Ljq-whIdHAhshVPl!{ z*-iM%!)zp^eck~b$_@9_(0NSInv2c|T9@Vh5>7>PiA?x%y7Lw%NId>3S(QE1NqMmt zdmt|zQ*WUq2h8krT7NuJy0%cebQ3w!eb-rci3kLg&B-~r$m6`Mw}4PCqKZBxBzH^S zi>w5x?=)1q(~n0sU-SODyskz+aHsWj5?wQ#!G492vt&I5 z4Aq7q6=^_r^5=CLttb2(OyY1V43vd#fpA7|;O%&&OgXv+J%3S{K6y_mI%UN66jn3H z633c#0vm|J{9eY%sVN@XOW;dS>!)gbqCDPLI0{C_ax$nZgJCiluO3WyE?eCM zZpGPm;=Zr2${lMfL5{W`4@m+UMCflvXih6Yr)kw`E`K~ZkDX#VJtvO~WR|@=oC)yw zYbA2AHr9_d6@8gSTh@$Wx)^xJNnhK}WB$fl=W7d1kMD9uiRi=20NRQeHA+_m3U7B6`-ekE>=_s_QsZv0S`XlLQ6(}g6VVGx7zF)| zciuC~c8NP}9#2ouJ_dAM(G_&}tqtE1Zdo00z-dwW^7JoYa@*d)BWTYQvZVC=K|kR6 znlw4tEy1DeHGjiD`Oz4U?&--dnT*!mEn*5F(SI0WiE}i$=b2I3qfYj$W(Ck<`9vV9SZt%&)S3z z+H6uY|3#SEl{{h&eI19Bdbo`OznY@60*5&5U&bKSut1H^$wt|=YjL!E%yX*Q?2%!T z6|p88L8kRy|%3t*lX4VEaWRxAnT`m>zdYU$d@@RLe6=X&N4KtUz>TZg#5)_ThzlU4K(% z56Zp7&wB_haMe+7LHSi?JXOrV_< zZ~u(xw?l5S+cnbAm$(s2cA*v=-hb(J3h(_M$QwGs*be9tVsE`b-;E-B2L=3YTPF6k ziQn~bY}XSZdqroLA53>GnSE3}*^gx8euXi&U-!$L$ zgTGw?`kLyy%Acq{@IF|xhyN25AV}wxPpUrvS3s!0{8#}J{pxR4fxe*oz@OB`j=f{! zTp%5u&lzIm;>DVj%W-`X+tlqS1-XVO=laO#u1s8Y2Jn?QIoOAs(MmRG)+Awr7g~ZL ztgj+V6^e`qXBHOd+@EC+)L~Ou^EH1wgjxX~ALVrd&K(=E69Q64X?{Hz^%#9Y_r>S& zGF>vLm+os+JVH@IkjpV{!0-h8PGIC$x__o_8J?0(5e>$jgRfp3hskZa0QmKHbH%^X z{clQS7I(z2oN9p28*HCK;PtQv^<>VcAeGMSFpeqx1mTECq^E4^Yd;3di9dhjONa($ zu^R~m6sPkjqP&XM)x!cPalLIx1(t{5Os}gg>m;GNuU6_eE^yEt9$BX_7}S!eaTa8& zwqFwGpOosQrjMh>sfunF-1y-i-jDzKlsfz$f7ryY>K*@?1-`3weEp1{1r=eEBnSc~ zX%fXSjNX;#x1bE65KO={j*@?0dYj~XNZm+rhV7JlkI(N+?8fn-w?WA+P9N>j_H7UH zwYLeh4{;Fh3C;K&`6Br3bN=p&gWqS^P1W;V+hb3y9WO)XyIC@Ca#s7{n>|6h; z4i;f$>`#qD?wXD~^gM_~~HH>bk?s za`8>-Yf0r;qO0J%xY2(({jQw23nyw0>ln4*Znq$Os*W9hx`pk*&&QbM*T?={9tZwX zw_f#RLOvbCXE%!ajXa$agF8u(ZH;3w*b1;rkN9*X_(|A;$KqUL^l&?lt28R*u*8uH zCDH4!xTa@YB`FN41P>D2=acL9K0CozAS@=Q&~F0TnV$PJyXt>JpE5~TUaV@xp4w^< zf@e-?c;)>l^&Bb%f|-xb@hRE5VlO-p83}z-261d-|Ek_m-HOHMq(1Z_YUO8(6U4oq zG!QIW!`h-=P^E_}k9II|SMuXSodKk1Pw#P>#oI})nymYdR$KuyZV^}b_C@yc5N8+ za9t`eTBDblIit!)C}o0(%o-QqO2*mvtgA9k*M2DA`}Oj|R0!$Mv{yaFm)~MjrTeyZ zwfx2;>cy?jErgrr;vrLWfB?=VnV+(N;!!**RtX=>uoQo58imu=ZZPW@8y4qYTt+le z+RP`OYA~<2oS6eVkn9iJN4c0@oMx0^(cDKXAj0jx`NY77q>GLU6bV7PL6Cdjc3#@m zcZs#Q48i!bns*5sVjXby7R2vp25WJ=Y`y^db*LNvDp&>-kf8{6Fy8{jm}b{Ml=F+ZLE}eO*pfKjjs?tmoyx z9$r%F_WTC}|2F}5Cg4AK@^3Zni`V5r7&6`XngM@wBO~;xc*C33Dh)CjBK1TFDF(Oa z;O?Pg>vwyQLml4LrSoky?nGDnG3wVewMfv&+Rm@b*kDeZq>b zR?KJ&lRNN|j^O>e_=m9f@8?5#dp>g@;rZJP;+#F9+;u*yUlwuE9@%Ib3Ot$hSu%;;7%@6v(W1#XrRl&|+j}da zofN~#-ie7|Z!_QMU51C=v^v{MK54v<@e=u7yMf=eA7oe8-T~z<-huB%LovE5cWf*h z$9G9KnEn@){w1@H_5ykaenNjZOL1;z{zyjr@xjAa3o?YJ<4_{h4$|vxUoE=Ymi0lz+b9 z`+^Sp4Vlf~m9%B+#q!oSeN+c6{3CFp-w17Sn?At7)S z=JewDM&ls<79*5dVLowTbJ~u3w!=y>>Q6u@eR6w$3O53rApTW%idii_g}>>~7kpn( z5x${R?t1|}<#)WR%fT!#f&49>u{*DdM@$eHPT_-s5nQveW<5A1Wkn$;i5Ri20y6Jj zi}!T!IXCw5!<}ZX*Li;)tB!iyRqV*}sm2Ved`%T~dR3ROmd`1bKCSkyYRUyW12@F9 zpt|$MAjK|Ab>?9vHr(VCjd6n5hH+B}%K#(#yh?TtTeDaHJZ}hmn#BGlS^iW0+ffp4 zFi(7UV+-?$>twW~uG|P|)m`TX6gq z-6Z5Az?uKc>#BeE{yr0-Ef{`Rm(7VY9iNRZhq+uGywjfDTIJA3_ zpfEyyDR4x+r~h+kCyUre89I3j@*_J%-NMyQF{!=ujBn4RzKoX$wTHItSzA!tJCEMJ zA~3ac(d}pSkq~^hibwDK=5~gd*b|G??<&~zo9}KxIC+25*6qa*yqgznv3y%)?@K3k z*~&ejVsAS8j;|=ZpF2)>PxdWbZ^Ru%_b#Lie_vU&pMK-P=wDZ`?VY~8i0|?8l7b7; z+-uTDz;o*rp=Da+S8l~TL;pJ9&%3qoDL}VZZx#QH-#+G+tVLRx@H4?EH2Vk_D+8Z# z&t8>}EF*vaU1DG_Hh=d=e}}veiGd$H)1hA-+YR#<&vZX-n~xDKUWj$}`k4oGd~YM; zThs!+g)LeC#?t>uIe5u}0f^D{sTN+>W5N|_4;quVVSB&6=ISU1o@ATUlaJU@TD;fo zNQs^JQqm)c;>VzM`>vvaYdaPFj8yq}cSj<&YyN-Yr}_0lkF>aCK0(Tv+bdK(6j;Qd zAP5`$L+hr&u8jEbT3f)E@7~PyKBc$DDEFjl%9qGgmW`aQ_7HkP6gApQ^^Q%k5p!(; zOWzKWl>r|aBB2Kx@cZH^)px@rCr-#%dAob3B%Wm1VJB63Fr906PX(2=Abe&nVcy;O z;-G)v+-BySocRRc4*qqfaQ-R5%am%F3QtGEsHI^N!#tsS%{^m{A4F8F1`e4x231lc z2y2BY8DOo{z@r6GNA;A^v&}M?38t|MjRp@sM3Lr=DPc-z4c{tAJvrFm`aBP`mW|TG zTvF>IX#v1Pk0Z)GiFjDn>xhmE%=cCpU+#Yw{DGL)w8rl61G127x?MI-H7yzfk)iD6pm>t<25(j>INUX=Sz9U>a%~? zICYZ}K&4b8*>NM7&NpnH6LV2b+lV@MVA|K|6iTyIT+wu%r5=b``It`hwLrzSHjaj_mRm$t*<6zb)}HZs>n#a9vH0Z76G<0|vkNfti zMiKl*HW#=$z1HN_CuQ@vW7x^{;?ppbkHWQ{r$(j2Ct4;R@)#!y+}>^g&g`5eA>UV1 z=rs-xm%J099OXq^3AWeh^%<2cP@=PZd~M59obU~MyyJ!sEPO977sdze()uPZ&XQ4 z?WdE7d?M2?R+-5bGz4cruNrIYH0F|Eq-B2)x_45mjYiKm)}J!RYnKa^*T9RSx-h_CkxVZyo)0a5 z!bL6a=K}QfDDzrvCkOEAqL+SET`%`*Qms0QU zur3Wpg({1%iAfP0oknQyCgGf~eH0unxDP&9CA`MVy#RRKQ-YCTdYXSBmsLIOzohm9&L#?xnS^d!gz&FU8KbDe*9w z6-k=?crfUCyB_(a5EDee5QLBoBDb)BZ~uTu2>MzU z3f>7Ap8xB^2_1bKc2KjY*&KZ<-XIM8fM6sh$%w%sz84Xy#*k#y$26@bGnWF zZS-&#ZbJ4{f1bQi&bwx?A+vNZr~Y0Na_=IfcYcV!GyddTdz^lYK5h#^#Qys9ZPK=J z&g>1tHsqF(`;&KLCHmc#jqTNr?I29<^$!}^I~S3^_NzVbhzUA=M@%lQ4E44FzIZcp zS33wRV*?;xA*O!~@ca|Rr0)5iZ-_}2--t;BGTCl6X4!-sdk)Ua?K@rj$mf465P0*3 zl-8dM1jSpN5%{4%Apd8s2Ke!E{_1MJl1Ku6)kyj#k#ys%q!;Gn1}oU@ox^#tyRBm= z6{$<~;G|=WJdD-3-@*&_6i0R3Xz^WIno5EbNt~dA)CqsA@fye}3L|U?gt_fr4x5eQ z5x*&rRwAcctSH*k0mhSbLXL}QKf!y5a8QckcX^$o4aEs3E1^mY5g?XExMzA74f=(x zHswS3nQ?KPiuxO1A}awZ^utXG7$wL7<=iRr&RrP?Vr3A@#*C>3u{$np59iVo%cri& z(-LgI0h@n9(SAjdu9GV!ECx zvLmQzhG6CukU-lh=h{AjGR5J}s%A8Gd*t?j9}dlJfUlP+;LzO5r$UC>Biy)MO&!Ds zKjTfQ+-ktr&&*@uG6#ia^`5Yth}xA(UglL5z+Qhna&775Yw0r7>&o!P)$^}fj~(r- zAxCl4R^T{=6;ciH`K(x~*WU~4A+wM!B}(pqH{Cv7Zi<^t-h#5mfaJaxON_z@>_hIA z+l@T{?!-S?NRkKS-dy@8xx(D5ZJg(fwZxf2VO^~jqf_wwdKC^%+qrUgW&J#EwCmZ! zUEASIjHG9pKb}|F6}$U}2b3uy^{K)MROjK5Lm86*^MvtiAi7bFI}5kOJT<&2-_PBe zIPsH}t2;~Ep_bfarLQIY{urpvKCBmy;e^9t%1nG57smp8HVK7tSY$fUBY!}WOAUWD zGGcQWIbKD_d`e*H9-mYyxpWc^m}O<<8p_v`Iuz}y;6Or*clg{XnJTpU1+A8qUk_{^Z(<@~$>*mUtL1wCsTI7lP`AC<(}KF!lX zMyZlS?HSL9<=sJ<)u=0w~FI?;nfFW%^T0RlDf>kF{A({^rWbIz%Vx|vR=t&Nrz+FNst zIp>&TkgV0*lQZ6NbAM=%xDUCfsaOZ-Q8gH2cqe2O&Xqd7iG+QMVFkc~gDQVZ4mlQY za4q@J8J$M0>Bb3=aF1a-3;+~m`NCXr_}rXhIun6|uIuTtne19n)0m zRyskB?rF;DrX-vlR`gg5Z(@HC4!(Faox_Vshr_HtMl<(k9kjY1%|AWP~- zzWWC%u-JKy`Fm0n@C^#ze;Y~dM6~=Cexp7Z|C=kycJ8Kf+$!nGuuVCL_}u*#PBvpRY^T7jplOr8-fKZC!UCa9lmG_z zBGT?>OJdvWtiLt^CFFnCsESN>S_QHprX<>`U?IBcYp2-8y`zY&@C5DFn*{MMbXQ*@ zqOI-~QyX-`!VM2n*jCI6cf!ZI!rm(Q7yg%wIKkV*Hu-Op6eg|RdjY+@-HWDohk%J< zyXqf*pkM4$6@d4XC5hQcZ@!{0AIvb;F}u)%uxRu1TKHIFI^ln-EVR90AwVl>(BODb zue6uJ?KP%F|K4-*^}2kWD7Zx}|BVs%QKARF6sGv~$(tr-vTI`g{Frv?ejJXd14}cd ztw_8JGbtS1@S)I5sYij~`Uw*`I{eTL;+GA!Nx9B#lXBM;+pTzRgL2FDE!eaVe5Sc9mui2N!0%9u(*>?+grR=QzZruR0$2KkGUQZ^pRNTcHDQS(MG&cBFRX5kT z^C%5qOJ=&wIzDMps2Z0<)#pXgX`8Iy23@y>%d;u=a87?63-j~&aE)~CUKRt-GB^^l z=LaBB?rUiwGc>tJ=igb-lHRXQIe|~vO&W%j{kvS8Ug}+kSi5}Q@F;Q2na(HJ1VD zIf5AR-SenLf{AcrMsfwB6+N6%!f1sx$DZvqT#=+c@sWFrEw_E#aZ%%T8!}t*1&+`Rk3gS_HNMY zpzwc4nP^=2mX-)PD8&i78S<$CwWL2DZDxX#r3fD)>3<+GRAK;OOVP|<_HX`(vMxW` ztO6&d6x|2&NDgSN+ixSrx(s@VW$L5%Kgb(=axL)fV*c{wV){a9-1sssSAKn!oaX3# z1eIk+Vf_@Im^JLJnM0R|<||&hC!iw9`fq>yxc(k>9>Gm|UVRtbXP5+cQ5R+Ug-;1*8fNdqCB%fDA9@X~un4q@7tir$lJ>Ei@ps$bXbF}WN+ZMTA??5P; zV9a&T_2M~VvHH8nv`<_8$s&913w$Qu(5PiyV?~V`CcFps-3+RY0pe(4bvNl%*XIcK5-Co2)U%OaH_{shD zmfmMuFa17h4LB!iKfzP5=zw!r2+%$y7&08K$Ih)w&omwuPB8xLa_h&uT zb2%4r0AvL1V4enIAgLF$=Eo4Zr1pO-45EIjrB^=PYhl?(&(gT|0VlVxs{MbeG9XCOBT70(5q}E7n^E>BAwJr$dSts8iH#tf3t+{V zR_J5vkM<&pReZ~FPkX=A`lLZJ9Wl#zM1-2_pJ2O8#$nAmBD}mnuuAiND?8>3Kx%r; zlV2`{tHxPRQXZX|(>wRqPtrSi(>NqJ*vm>scYZbQ`B1|3LAlyZdar*VrBcDaU;Ink zpSZfhCa9TekEFPVzu9SAY?i-ynU24yWm`^Zvcb@=&pIp8Px$q}u-pfj{bZ>h@GOE+ z2t?vIPLc>jt#Ein#UT3WC@>Xo?BI4Bkp+cbaLMKsaf8XesygR`ByOT^ok$n;-i{3}afa3iaPyVxd*Z*5#E z+zH9aCasBK8$LyME17sl+3U+^yE^@PF}P#ibp;&XWI4&5UmTO$uVkki7Q7wO)Z!}i>Af&{B13`gM z%vXzXfWXtcsHMgTPWr&ta(fNdp>J;FlW%BuJ#p;c7yN<#D*_*8yaq?_BN{7c{k`+L z{P>tA#6JPq#sD-^d+}d|KKWPQMDEU5&K-V|HOqNPU%RsW``y^STZf`tY@WMUxY!Mh zfdForcxJQ}sBeF#TdkR|m+*~rqW`|&?`HFp#K+$(Sb)D{eOrSM0{23N=%EO*EgNLU z^mRznhj3Yd4A#+5wRQD&f*@?n-!<4j)u6jdcSH($Pj~N2a$iAKa6i^ip!RMpbb$sc z3FzsfYXD>?fNv}??q=;e_5E-b87S7^r-F}eTWREQH`IS>%ko5ApdpEpMJ^G|bS7 z$d*8Q020D@o@suJ3^-7wXJEJOb$q7hOGMA9AbOm8~ijrtn!4)F(YxJ5bHykVvG&NEciwn*T7FZ-6W;@}9c^xWi znE)f9SX6(~nM6NSORNZ2zUWZ6R$ZD^F)`?+3xwI#Me+-qT~qOoc{rXKM0t0Am>&WDiS_L_=iAfmNOlWUAkZ5)hejqqPZNGt z_DvY!XYlB+=`%f*Z}1!tZIaym$B>ejBDdDy3s+KTlKP zJiEmg!u2e2aS|g?i zA&q34&`}hv$K|g$nD}<^r8}buB)21Plh;T##fvE2>NlGM3%==9t`}^IN6AL`MAm*ZKX5Pa zKO4LM+sEK`3Ie}42J?^kob?#=zb&{;_RT-e=K$vNF~yi~6N~8j|K+2Nrf)~!_m5RS zZhzZ7@Skjd+dc4~Y=7H5knF{;`0IbWEHO;(-1EzYmU6wM=}XmLW>hs*NI4ttaY9PE zQ0QCLWR?SGv*mz*=iB4sb&WBSneT`4p&m|*E5**h4>K;#EY?iJl*~&K<0><;f<#aP zbVbkSmkmPi*#fd>*jz~!@=^3*<=vgj9S91oXl5dZHwHZ-aRUff*Z($-LA~#_LL3+ z7gVmGy7rT(#OFP@+&JJMN4kHBmn>NXZZew(zF=L3ovVL8onXJm|I#h~XW7GFKKqx+ z0{cUpc3LM1Z=}j~A$*UJ>(23PBX=gdcJUhOH}5HQdp&fg4y=JY z-SY(;TvM9AOcvs8(6IS7XsFT(ai-Nfzbq z#|9H_W+wVIc04`NSR(SeQ4x&wF;_YVfS8;muXB$6n8M5fJ-mN3JiOy??^1S{>~r3e za0z{YN9uNt*D#rsozWcT$K_-vcX17a0K$#E+v~$fo(7`_DJm9x&u7pMK z`AFwF6Q%5mY#D#v#WFmjo|Dq|;UNazmNrn!tBBMUDucwyxT}lKs3d~Yp%vQB5ctT7 ztkSM)$3}Z}q5OE3t#ezhw+C{aAt0Qa*9B*K_F!S$pR~e{gP6w*I?zjFd9`xzW#N<- zl0SCch1pC{PdjnXhwH;Sci*GHi@?8V0Dj>ql!u8sxA zI(GrMUhIFyvdsfX+7fj+(!-<0-4n4~=jm)ioO8T4M0HF9FH*lSt)yuh?OICO zt%v|@JsHVEeWxk2$GvOaHPtV#kzk^!-+fS`QNZ7iU)#?`}2Vwj8w29c+zQa%q(02#kBR}^;uxL9cy5+G5R9pFVVfSon4Xe z4c(`R0Ow7J^0zr2{)q0wpV9p$^6_Wz_?r#z3Xj$A;ISOF+8bDdO!_e#e}caqc$@Ud z&u7>2kIt^2d&vLU+4cM6{d#sK-_9=6(K&zMr`j8*{X$9fo3h9mZmuCl$OWC?QCtF= zf(n!*ETbd88@nYzNUiSp5hME;s;fZYy40swDQ#sRXPimi2G623fvdfmb z=)iC>_WAQ^!(4CK5VmUbvNM%jNMe><0dK>iiGTVAjK{dVrg>01oi!q*R9`6=lA z{bzjyx?eowhrv=DBEXIBOOg};AtZ*8BuqjZX$6NVfm`Z!CrBE&`wCO5bo?>fub=hcn%k`-4c;8u=+cjeD51V+2|60(0q(oH{P zSMJ;z0Pq%-*1w`_RDyr)zXfNT49L2NHCmE;B&NWvBC-`xz%7t&&)+AbR>+RWyB-L> zMM@;u;v$J|%ou2o<P;*C3a@weYcm z#n>AzpW>BQ^pl{I#gE^yRn~u>WT$vWZJb*$^#~T;+G4|g?OT%pOIRPA88w2jn`T~L zC;DT)6Oy*aLU{lBB|>!Yrzo_49r*r&?<3I~2S27wVQsH+NSMwAAJeAa9s{-qHG%x8 z15l_RRF+NWlYce)t4aK{-O6{j7u_vdNMY}sOsB~uRno*zytj4+FeTxiTK0bR~e8}%+g zdA50_@uhTHv@FRJ*qJ9qoX_Ejw$k%!jrM2t)#q`c80n~@Rj=RUnO$?07CVVudj;TU zO{;m-bKLZTT)HXco4WXVPEr0*_p(zLz0-k&ln3wMXCY6y3+R8Cg<65FS(deO1)i!c zuylnU!$J$>H%v$1bMRgZN99LF&B^d`Vv8Hrzv5b$A1-dTe*c<+%Vo{6rh`2Jk)9sq zoHx7T+FR`iGCeo)lmZ{%9tNvrBK7Npq`XTgMx@S*d@i4LXg`l}>Am$Xh=4aj-Al-c ztkKD@HvE_&u3&$;;V?>6b#b*9d#cHnfsjXQnCaME9DzNOdP+9e^xTmC0chZkX%wCG zP$yBU8V65S0ou*`mVw0~TE8KNn$sQiXv#~YDs-wU6<>zglL%@-C9Vo!^T((gUx+YJ zVqw9GPhLQsf6+&?w1fBA)DM9)Nu%&~6GFINl{6md*;Rj@mnVr-2cZJQTSqy{R56d( zT@w%3v{OeXP6x8CxQuk6W1s5gl??lLKPya6|KxOk20pU|`^D+|lfuZwzr|n*l++bd z5YF~>D}OMD7kyq%o89a8`P&IYbg_GShBduFXmL6<&qkUf-yZ)brmUyPO<|&ya?!f< z;}yCPeo%kvF?z)FH>O&6U`-aT3IM^#WTLwg*wjuNbN5Fg-YGtRc{qG?5hECqb2Cx= z!?VmQBIFOXRj=X0e6cf_J1koRTJM{*yncv|2%4?ctCDDXxn!3twPEAd)8x}RDaHgvR6l@A zMK+p9&RHmNjn2jCaIyfT#qG+>+oS7^&+8!q$HNmtujBkC$x64|Am zljDEO7;cC9wno}Pm0Q4Asv{g+UerzDpBq(sM0aeL`D@xXBUB6+E9cdt7pBwcQwXN9mB zDRFWZq;F^;6nG5CnZ2A{GzE(V8)q0^V{?D}9>>DIb4csN*COWckH&j2kNbro)Oes+ zwz>HR*l>q7&CY;|9dF5WDwO9~JQndX^px1EQaKk_+&N{u2kN)C=aw{BGdOq-;B%SY zsjldsv7Rn`j0NJ_N8PoTuHb`SIOlD~GIHYvL5{+BP*O3-Nyq z%Z7xBDDlk;K-)jTzm4_y+q8{j{kdr7|NJJPD~|hm?fxN%OGzpDDe!Z5DE`&D3s*oY+L zKDf3$7;m~F2)RK|XzSj6ieNXBx&0Dy7ed*p%;5HiHLb^}tw)B%yDu%VLEJU3hN)fe z1pjsQdCSzX4S#N8ruYV};c!!N*~;R(oyofAHIu$EGI&fw_w7 zE6%r9|J2Upj}oUl;{*i078W3lb7p+bd0`vv@yH|(?b z3-~8**k|t-@K4^b&)zTKpS)q8i7EiUQdJn!*LZmlC1`WUK9EJUM7V!PYxz-pN4Urh zUeQ?{gggLX<-kWa^YVRSQ774MQ}G}|L|`dY!lOuZgtf&^G@8CI{6XghRyHwD>RhC3 zmt%(TfPE+jbXaq_7(RxeHX}&`^6CwtgvxnPtO$j@T9*A&$t`FcBC!+it))CI(7kEU z4XpsIPezhg8{~9SPmX^$Sj@6g#uJF=gjC4txg zH`$Kg;^M9CDAPnt-+Y4jWf-sWjVL4g*s{wxW00O6I=(G%6p??5haBl+@Qlg&toy(# z(w>xu%m;EP4s4s4-D3&Y>?(Mr2UUm_rJ%yG!u+?c6_TenPR~bU&>E>vv^WaV0PGF} zemi&l`YklE=-{E4a}Ce;HMx0>(pV+FOiK15QO^?yF>j)Kxh`>^bYoEt?Ja46+wksd zRuV;+$D2FRwDo^cW9(PwC1-{^S)Jzz)GW#xuFqM49H<+g!+!5o+`UHSlTQMP7v1TH zCh2UWydTLjsa}D|jX&&TP1L)|Cw>0aQ zVC#ubuqlTnhNmJ)1gss;6p!Hi^?k=AbxED{T)I|89eIBUOS}vMi(0RM7_5I(RrrUz zbKsk*f=r_C)3tgnx2_XUBYrY9%*gREqHcd8s$c<_qqHeHo;kx5`Y6aRQmV;5K0Q{v z?2!STR4?wJH34-t?$;5$RFN45(z|=9%zRmF3lLsUSUsJsxo6a(jmV+XN=h2TXbz;i z7$B^AJhgwP1(drsO-Ta_IEl%qGl#gvM5w|YC{8Yzpch_->8U1rL&sRe^|(?_hn7fF z5DK0_gNjYbO)O%snINw6rr+mIa{wZOa~zQ@A&6?|9BwJeNnr&QEO5Ai)v0|wD+9Zf zZBKtIo+%XThss%&cl|tRmLrOf8h|r4 zMo!k6!tJb+>a>@NmW@0{38Mj|3vRt+I$LHYo2wCh6Uk&e&#kHEhUPt_>c-t~OkxeZ z;HX`?LX)fY_WjHwX(hU?JHSr3aIixMK{9_1zaX@cov;TO8Uv^YG7;yG`P{oTT@V~k z1!2#T6_UlgT|DZ|8~kwvZpX7!6(j1Fr@;x%b{+Qu+_lKrH8_>dvl69jBs+}aKhe$C z%J|-mT{eB!+xdnb)90KYfn+xro>F`FnJp!q&7oj=nK-^Et%GfW9(NZdf3J`%aFY>wQp>r zltCN(#_?^oG2VMqNw&k~bodw5n1AoovP+%4Zy8am1@lEqdMu@UQ@*_wM1|L{?V1_ z`qIBn@^SnO>7l335u!hX+hyNwuxkcUiD?$-|rguceefgu7Q7N+uN=`XlKCZyffQ*av*!TxePy_^_;d=e8WG( zp=7T4)GX&nxtZA0Y6BDK@^f$tM0_g3cO?*MrXf)pUZ2bTX~fpC>BF%j1dR{+8+v#u zHc$ISZWSy_1|4NwBcKo%r3`_c>aU|MSB9TqYZ(Dc|eVaucv~}Mo za0`ZLx=o93ZuICcqVVQ|vKyRiFB)wnhBYXY>BuY zw*9f|tqlhJRUho@w723BxTB%3z6p4b?LEqbRi@000MI8&sI|5s{9=f})C|x0Er94n z42AY^;F=3=@N|C@Gk)-vE|P5X>U?}JQ&+1YtEN5(1PP}_=1ps|hPd;CbH5O&1!_t0 zN-Z8+(|z~?85f(x(q<{`WSQ7Gl~=#7hn zJP*Yr4`wBcw$Vw4q-Mdzl?%tGyEEyZyr(Jy72gu4)1=R5>SjAHs~HgJcq_XG&HST_ z=D9u>)~phc)J~5P6B{sbQ;6<@Sov!7UN7wN;KrBk4rR-& zI7eogX5xP!r>11oeSCL$LRZhEUA-Qm09-@U($of*c6&RE1p)kYdKL#fT)GBsY~A1zgBbVTXl5_<6{sD!>EH^+#pPt3 zr{G#yNJA5^=z1KX2g5;~pr2o;0yx5GKZe&?hX#Lyzk4e%z`T1Cm&J6G!AbO;)VLdD z;2urX0FjFVCc}WYE!xcG*;>&Sa5%}F@w64!cE(W&hL^lxWG5DUd#BB$xs4=olyF66 z8{0Xl^)Tq!cnF`m?B;WNJzM|}%dt0|3$O5fdOrSqe|CTs>eDIY&4;?Zb@Lk4uya0 zAb_cuoN?m(1kLr^6U9fwOPx|iqnCx7lQzv9{5^!8cEs#@EQHY%OyJ!&$BMjp zLB;16lNHs=;=Mu=Y_-15kE88UB13<2Z@f}`<`_6dCyGoBCvW~SoJ+dz0l~8Z35tk2 z+dX0xYv1(D69-QvF^xG0!)3i#9ow>+Jmrkr2Q96plslx_Lkm_Uno&SvsFJSs1@Er zsAhs=&?({g)IQb^PC;~_ti^Gx%@xjJO7xsw{L62ID$U$i7zPYr(g$H=XY*Yl!#zLn zf1ls^Kh{#_x9%I`=m$)e#=ogk^1ps&bpFlfeB*F_cKr`H4T9D*8QwGvadMN}fiPrK z;31$-NleM!+sW`vB!@&d(6oQ~1MignINcg17`Y|9$u5IWecl3EbKgxLXZM#wce$N4 zV@Ao1go$NaD!Z8#q1()HxYIi0-Me^mK>Ae+C`z|35*Tf8YF(F#wqI*b4aZxnCq;Ks z67^M32gG+Iw|g|L+unv8_9?S1C8xIGGHeHi>2BGyIo1EA(-C{wz*&FleSkBKc1?+x zMXG^now{6BXnH>2gb=F7#647;|iDayTL_}aV2pmFZT$tyXl@9J=J z!P(~9wZJDA|ClQ0y1b?X0$uX-G`g`fqD) zX*mBoUNg)6ucm)t*jum?;P1oV-@N`K^!@(Tuc1$Xe{|eL)|?b2aTJ6Q5JZXf#Q(hO z9dBhj0^5Q@ybIN@`5c9A^|v)0#CQ8llGwrxwf_DKg|S_8o=f@`-4?f+DIDZlH*4N!!KGUs*y*?Sq_Thgka?@XccY}`%+5O<*jjM@- z+v8ch+i~vmUTch7uL1YJ#>pn*8sR%7KistMLF})U?l<1%{H-b|^A{SNYC_OU5dN&U zqVYe6yhc82=HfKiy ze?m{1maE8dO*Q?34{j868H!u3R@dfu*Vm-!A*$WEg3iF5oe8yz$_@$7SfC9H?%n6p ztXr?>$k*YRYNNv}em*1z6%R=OLqNR0*M5hxM<8&26$in+D^CD73NrqtZg0mk)(s+h zIiW#kn2t44N9cqktx^y|d^mRkhn~XTVaPSKw)ZP>;7>^Q1~~hfQP{f}7w=kD!%T3m zP+zD+g{f!Ql$=2CE_C5CNASqw@41?@A)vshN6ji2qkIO`cyzcEcgSAESf&Y)Cwn#A#u^5@eNSnQGX8z3Uow!8W`1kT2mP5f z##gPYtB!^bBb%?1>e7qB%&$-(Em_9XY5;0~|0rk>)(ICwFhGr2Udaoi^E9}6CRXs} zbaYq=#UBq7qeKK7u{+p6ffJIs*WOWw1tOe4p-Mc;aih#ystie+SzsISZW`3JW+M0N z(rb%fc_syEAgQo3*!Iz2XFhLgmj)P0mWJ8Jr49^pq_6FfsA0;{92yQ#)D+%u$z*1K z&Y(0aG-6J7SHE};G|yBR2)5572pBR)Jal1+^GJ@}m)-_>D zFdAe?!wRX9&{!pOwHUmv+x($Ezs%{XAj5#x`e~Xuq1G3-&8VC3ywOjSttyNu70#I* z?RXM->`s(M;Ha_!Kf%DSfo4j;K$zZtb}o@a=P#0?bA}&8(TO{>{mT(s$0-Ys>QH(8 z0c*T)QsU9mX3P_FXO;}0fAumxP6rXM%4^5LJnvd9eZ3-sudB#mfQS z4zT*ZB^>CSj+0}(vkCx_nu@$ho~_(aZ|3FsS^~4`F2&g1&WAQ9#N)m9lWXXIi*5eu z5V8y8@Qz`u%)xXK)WG@Shqj1nx^}~SB3zV{aO>yCU}b|ISdD?gqupaxrMjmnrQiHa z9aB~~8XauiLCoU;NNp@vl!>PFwWn~aECJO)EnO4wVK^{`g_uNk#Yku{uP`CaXnwp< z<@KmfOp-!`<^va#N#r$_7j7bdOL_eFy8*i*{VRN?AAUW*BJ>>`G1>vZ8|V3u*AD zT=BoN;s>1iyQ}@sizU$&W043+b%9Ypx?}GH}YL@pN zLl1j~fA9p?yR94^z~mc$knArh$EN%$oW5}068HoM79&OQyIvQ##q(<))LT=yU5D|j z$ZO|*A=jD6)eoBQY|Z|h=4OANfogBSur*M#)#1)5 z$!amw>yO>a_hpm&&HMS8w3(Wi)i5%^OdB>9#LUaViI2_C7AdYqo! z(NQh!f{PzK1K_7YoL?fwR@7hUowEu1HrfIg45lKS-na*VM&T&jRI8TI9%RVl;a)mB zNAXwUmUe=SONKzmXBy=YEWs-oi53{0NgSb!qlBFSJ9qwLGD-*k8ihwQL)EMx`@{b zH!U&?G(TVuSxjCJueK63Ei=0W9|{sE@QRg@rO-hBypTtdR_HR9F{Ot|dgMP5p=fH`I1n{hK@UrZy8^m?)W4-n(Vlsj+m<-ZRd|Fflk zi6Q@L*&jOwz_$yVOmXoA_V zz$E(BpkQ4TOE)lzp&K1!Yl=YIEI0=3^}J*w^ug&qq_R(_5IX}g+=sr`&BObo%=-Jb z|6SBIB>xrtrQZ^J-BHE2d25Y-^ZJbC$j;|5vq`Ar53LGGFn<%*et!Tg;3tIjMW}+4Aiey1pc42%l`DXRG@JPuRPK*`f6qVPGVo9D z`R7{({^>pce9OS!zvs_;Aixhz5Ro7v<65DJHnUovV~r6%Zk8^n3|gOm6dJKB+A0up z&}O@rW5Lim9XNTaQ04p(1n__?mZ^3kgK>tX#Wuy-Lwm;I>asA*uX-TBS2DrZDv`s{ zuUMdek~!)?UbxH51UmP761oa6x62p`s`ZT5wB`rPUx_nc^vk5BoH+yzoa4E7R~~$D z5Z_UB3=_0@KFfT1Rg0;Ap#$>D3xMNdR${@H#_7}3dzw_Upg}wfQDnqAUsMHsJ5_!h zqT?K+zDfLtQ5hl8|F5F*zrFOIN98|R_J?so0z@f_pkN#W5fXuL0wPF~gm8%b)UPEC zw^)VmzQLP<=HB$!Eabo~%U@INbeG?OiLG0b;J;F^%XS%|cvr1|!*?5X5Z%Hho@@la zO}=i8!PwSY#>u_uo9tcQU#ehWTbxJ8?Ldh4oPJ#~jW!tzVqYcRIf5{@iFav??5bf5}6P?wXXkO z@A6?i^NVH~Ro0#DY|bU4yoSbj@blt8Pjf5-6}3iZ?V_|VeDrARPAvh|utwd!2BpNG z_oH2}NdA-_yZKQ$C+v1<@}(?$5bY_K41v^rjUu{Q$(MGKvr%vNz9fb~xXX>{7<&5x-0r&HL**J~Na zl62m(emkqQeKJgK=Ux9C=>MDRenk1dz2^7PodO{Qr(lvm2#Ulp96@jx#$gOWAc{aJ zoWdX+qev88uYr(HHJ!;#2o2pwv)Aysk+HF@0UaTK+sJmhH>_8%8)aKLmWnC9|?$qip;5pr`PxvL(9_D`xuko1--y8b9(iVnuOwQEWI z8YIESFkOA!1*2VDQvhs8*1zzj>4#=ZFYPN&nqwQ|;sz(DWW*0I`OgNEfj=$T+WE`i z98~A_itY0Cu~}OjOt+g*6Y8Ih<|j+Du4__%{ncomfj)M@x~?wUwQD;wbFul8W7d>q zTMP$8i2PbZ^Q>|7M-{fW>yu}?Qf|WU=e0eJpEJChXH+r_koab|JO7CF-%>gHDsluv zXTkPWmj=qqaOVOhas=a1%O-dN-5I(~jaN2m4~4l!2^?_qzez3S8q@7M=z4TnvC zF}`r22q0uK;8u`&*B(I+g>>V1?@;097~kdYpkzyVvb&cAYuaSd4?olzgnOqEMiio0 zk_``ton;IB0NxIc6$rPB+_@zkMKWE$ha3_JU%#XGH4wL1YPsha^bYM2FI$G6OuG)k z1*qM7a_pH!Igc;%?kg;viLtNB!K8tI%`wy{rcls?ro7sN!!Yg-^Vul%+`7?>G$_|I zFfI?P@_8fCJay(5jFKP5gM0UcM-mQ8U5VIwfy^rk*K_8{TLY|tjvtulH6o2@>IUG+ zk{XK$?fAYPZ$^YIGG*(j#B~aNeG8{c8}GaiYI}n!?p5@VyX46TjW@aLMp7@n}MT&jzg{A;8K^IT_AG z)a5OFr-7^DqV+I(KQ}e}%}lNyJ;}71uSKNh!gD&O2qZ3SbFZH=e}I+E^;CYGPS=-k zT@U_1ee2GfZq+`KE*cC%f_nM2mMqvGBmluhT~(2hvPXsvv_&S=`;{Mm|F)Ja@QIl0 z?<{UkRdUrx&hAA(64g?lY)xCd8i17&U5R{F)`W8Cz`{k3!ufVrU`TYF``KwatMLTp zh+Q6rcwE1Ug~wp_1D@vpm$vunb`#sSM&J1r^{#t9k;7^2K9GY5B1-T^mWV=Re*Fcx z>}|X3uXgQoZbccvWU`ijG-mH}jM2M1vBB&JZ=pW~RikhyfOtgWY1}05ZEM9af>(l%*r0(YLglHjS1YHpCWvdgN#;|=PhfEo6G781rvXU|f(p=KXW z$Yjc;)?4yMV0H&a%p8v|C+89LfxX`BN_uRdnki68y{yEKWs?)ZL+?(rR!_Ort!k$I z3Q4+JQI$+&dIVl5d$eXpyQCw7ARy;R9Jvv|>r8S}2hFA4s!048D(DnubGe!sqPP7L zM((zDWpfIq;stYm_c!;Q@A zXjTw=rX^ggZ+e^&GAbGdSEH6aaOp+00F`mhoc&ni*Dbo|P4skazv~2LL;pn#58~B-J2`1f?ZFXZ1;h2!it_m( zw$J?+caD;J^t%Tk`reg)Qt%+4r;7n34>&AhQ!Jbi5w1q!i8WFboA(l7Cy&yBdP8MO zs!GV!dHLFOT@J1C`YPQ3Ii1I`0;u~veP+q}Z(~53{llW=;15C9od2>|?GKyZ7a`8D zczb^-x|U&o?bcxUT7qC+qQI`k_Em_!J4 z=kE}RVbK0J`0EBe>ex)B;?GVbawO`Lk7Y*`9jZWad~B8;{1-m*;nA-l9S(m$7xm%R z;88_+?8zbr&prq@@)5HC2xG#@hs#sPPVSD!(BBz<*&n(0j~s9Wed;Se&KvtoBI0u} zJ9ciNk7*Sc9$=14ju+vl5pRcd7}XeUkw) z{mEY=Xg#=nwcatF;I5FR75Sb?}|O?sN+D zY_F{N9UtxkFplLWo?BARH|1YPJ^&Y{ZSkf-e+vKpc?|gT;GA+lxyK&Lzs?uZ_;HWr z1H%gx^9r!-T;5ss@75=Po)>B5d1F&ehqOCy2@)eWqSFt<fQ@II~KFCDsy=L{mG@|K?V=>7K22}~@BN-QI9K8GM7F6&fHPJu1pLhN{YHw51K|Z^9Z_6)`64k^pNM5#;hM+~9x#H=NV{BQm zm`4GO4p5eKYhPzj0>p-&n}oX3!Zvqhc)0?L@8kQLf?`XpDQaco&G`9)E7ScFMkaS#rHV*-O*4}o(E zJ$NVn=|F+eW5aO|yNB>^_G@8a>K^=8d=uV)2|F)+_xE=8n{8sg3^T~x6leiESjK0rZq9$CX+%oHD z;>OV~4QRaolcKI7XjVB3-)!@~GTh~hSh|S8>Ro?)b;$t!w8{AKq(AwjTbS^lAraFK zH|oPUn)~RUA0hG3_FaMR4$jt3V(4b+eq5%%ZbI^3_Ys9Jy5>>i4?qlm^WRxkYYq?o zc+#K5+}1h&mjo904TJ69lDXolUSZLDFjqf$wWV%F?dz#tO6hh@K$7oSFI4~|6g>PE zgUP&%nBXSv^KSF-kfIj+8W32~DpGG=WS`c0ZZfC3R|B-bD!0lX{(CeY zo)ukh__X} zPv`97%S8(J;uY!$FQZH{KM{AKTsh0p-wMTwJJ%e-v+>R{QRp&vCubcpk*K9g@*XI0 z4Uan|HzjyzSGQMRJ1dbm90 z)O7D2jXA)*IY~{1Ta(gkMA=Jz@6;@whCFFYd2_O6da*5GiDmlME1?BZ z@iCP(r#+3D5+> zMRkmSAy&=p5(rvde>yify5z9kl#i5EP4m53CMTM0gz_8tYKZJU=enM+zShb4-DI}G zp5`^}o)ZR)CqFCJ8~*UYyOgV^yGQdLc|NJpHr+Kk?1(T^v?z<=hg`C=OL3Gfj*h)9 z4(H#RD}YX=zeMfUEOx;NFcxQfAkYg~BZY8(c5F3Mrlj274Ua3cADpJ*H2KT@j%sk^ zCSr^OI+Dg11(zHWa6$Xx$k&B+$q0bO`1QBq+5bIeTq{H)V>e}1M zM}Vmv@BKYr9OBvxx#nz@oxGo3ut_9zp9{p~-6dsT_bleD7+|NkXn643eP9InxSM5%*Gu$anB;FYV?Jl> zfa!3U`B2Hj5;8r6VKDFjMhJA&_fXk?F)Nfh=yF1QQX%kh*BC!0v~%Ho{`)`F2WCMZ zH8JcUtba>M*`r4<5PyVFg+4;+Rx4s5aK4$;#)JDyc6mon!2bk39q0-89elE!zlTr9 zpMn1gd^*q*@Nd8;;eb!S^LGTk2yNLh_m-~1>6yAs0_oSTvbuE89_2dF=}RGhJ9nHn zn|*K++}3k7FEc-vOfeK4V4b>C-_q|bn_Dg!`{`nf`U#p@nt||_rlu=qH>}>ubHEXb zJh`Y7oxpfs#vfTFCJC_KJLbx=e^$``z0lUrI$OY(bga3suYDEh!vriXHCJy>>~UK7 zl8pYcCGky9i>DFDHUT1-rYB~9vgICC>ImPO=LWNws5M~g_E}I)>d?BDrqSovd!kl8 z`qSBMiKbBJm@a4%I9ZZg@B}^IBvx?Ou3JD=^GHH6WV!;)1)H#~dY;2-xSm)#-E?^; z!ND1k+GuF0R% z53l_e)_%I~hnNOZ5Drol3ZpPc!W2ZJ7)qfSjQui(eKB#zKY9l{=Sn|YX*)wZnvXxm zEIT&@Kbg(sNSyvMh8-;}#34lmAxBI(0!Mr_2Jgp@vBP7d4Iz%W1AS^C(T`RYv4^4G zRmSX52d0iI4^@QEHeZ5&ergoqV}``XjEjo?n?R48>>d^Ocegx-Ka6VTSqSQaC4EOn<5|a4)`$DahE-%srJw)&Vj zhhBj*h`3IUkDhqPy*)XMiU2Ddf)wJxQ@X0prVx}|zY6xS(#OER! zDG_y3PR+MrGeiu3dFE6A_-mxU*0@aleR23K0 z`kHiI?SW_TRaw^=Se2&(+u+T@Xe-BMT<+x7!`1h>XSK_Jg{`wR?#yCjbJ3{$h1{{! zx&~dr?q6smIw>cBsieU2&5ZBS(yeWQ1)sFjri=WP=WZOwX{1?{=h~jX&@?1=gM@dM zo^XCwGL^e7`NxEd%DH~>gM*a`U+)O z%5#vUx|D!_H?<>o!*RoT-0schDl#KoZslP_(Vt!J4I9uB+tZ2*d4hxDUGCis;u=#y zPZGKmAb?&fk;^>LXyp+U(Y_3Kw!sY|-t;^#1ZmD7(Cc<@^J#lB=<>8OH%H1~esm&P zQd$Zmm!R+24WZ{%=CsL;D?^+_MkKLEH&5c(JXf=SEM*rR6fnern8@ zMCZEm4Bwm{8)vwn0gpXrgs5^ehF@BaZ@bnoUP5@|AFSxT zyL&t+t|qO6n7BzOo(X|h{lX-+ArUKdR#@OZY^_!0l5WZ~sxF}2AH6r{NF3Pt4R72z z9yjVv4fKiy-U}R5=ce^TzzOSWv;B|&xIABfZG_=KSv~JG`212FdTLYZIT}t%hSz!t z69vAJY45Rly~GT~zGnZCTSo0atRMqU^7%qroT0>5%xA`Y2{H~`S6K@$lxA!usL?hV z^B8)%Lnl4BAdaJ-;4|Z#H2MiePoSLQwl5VVe(KG#k(LmtJC?bf_TN6izEAtIpPg@i z{PkMHX`a(5EXCarr7woRqeG%x31EJ&C)afZ0?sQ1<%;#fx%{{VFDFiPWChFk9YU&j z%TuboOTKA`)am7<`*&}#C&yp_M?Pc7?H&jkd{MjtMEe`}GHVkOXV)h@8aYk$S+o2s z2VJ2}Tm{B%n8fm^j>*t!fu^3Itj{MwhnG)14 zAU1`E(|Jlne30J7c#?ronA$n1mTZDb;!HIb`tTK-JU#Y@KH)``chCNn=r5Ch1eYgY z^Dd^+y;DZU{$bWMX9c?KZPEm^>M(PYwt$?R+M;ftJ|WY+%>O|V9IXpG`%|5bAqA2nx&`#EDj)e4{6&neOW#c{tSNq;xy4@Ga(PCh{d zg+LHIh$s5X_L9T11V1`Vu<+P_*FJ1XKVmEqd~mb~KcLpJADI;5y4+nitj?(5dJ33N68d#qJ|9;nho;WBc^{u@` z=8|hMi5nIY{4b$e?wjB2><(2yhjn9E+hkPV+#ONGr3a}J1qr=f?8DWGlp!Nc3{>%oF$9^7}XgO;XPo4;vAj_3|Q|5VT{ z9BR{z#=2iMPSY<_JxcAUHN07mfMv?S{-GYP_~@PfDPjYByh`SQaZ3NAhUM16D=qlv zzGQwaVh%oo3VP)u-ntLw?1RC6W>F!F z!5V+z+s5!1QRP$5r%d#E?AVZ!^?aG%qk<+`>8?IaO87nTvlrC?t0)-5Gh!SWIXeak z_7AFp)e5CT_!URZDY0l7UbAK~ zPR(+C-)Q;lg#ov?eTvs~hc1r-Y^9`B(`)7={nOll8}Wo%&{5tJgl3o)H*~s;tSVuf z;>ZaLYZn23<>@mK!1pl)dzZV&(d6ZVRM~>k0IIG$o@T6bB*rEr!^hadyB99v>2|2B zm3g1c7_-cjbb_6o$WwMV8l+S;$EX#~ix8l}B$pzq<>6)jUHgpkcKv4P7w?7|9l!HlMtIJnGK$6XO+Qs@60~$yevEy~!V~ zwx6+{vSgsR6hI4|ob_e+>;={yxZB?~9{EYlCcaZl@8fz_lATl2&!LdhN)A?M>|+KFisn3U?AeET%~3mwZ0N9B6t~;d3k0EtCV8H0XXTldLUxzi>b6Ddt)=NprW%)ZTMGO&FoE93eR9Jo%9PilvMidy z#k2t4Gv;v^t@tCQ-a-|2&l0Vt<}}+jmD-fCb4}uGwRwLr4OQZXggc=;=8A4yw2w8q z054(agr{gDcRg<&w2u@kgO9mCBdbF09Pj#n26y!0avc{?+AQ=obH6_oHej^7wlhT# zn69=-Sl1`sPF#U&8%OdlhtUoA;oai9zUCDN*M&~DZ?P2%3kwiw-c# zrc??x!mRbuT}n@D!=TJtQ-*vSy+(#(T!?8H^|H~J;7L8NZ)H_L7baZjhGJ;|oVON# zx^|vxS4v>RTtrM5%HOFA!dRHE2Je8rMuLBRv~L2IvBV_la?`v0Oa8oXqpMH=yya(A zc=kB2KDeQ93~(OvvF6meU*H6i9wjwY7(Y5Exs7+~4Q9%Ae!6c4j7xvbWZ-m-g77@s zn&->2ptEmmGc|-DnTcL3T60OS=*YT%)jLaEbAk}W_a0EICT`IjBCrJpv|`bjr)mi4 zJ!yvL6&?tC;hIW7rK`bb?+kqmH*3loPy?{eS5H^Jn4Par$q%7k&bf|J!4K1(H9H`@_B;4#L=u9C4T=NCLtr1fx*m zP*jCbm_jHFq+k>$f0@Vl0vnOT@D4vZ$BqJw5IO)I`f>I^KJtJ&d^=?Ep|=LF zkRN;c_-G@}&|_OJ{`?XDh}rCaxDdlX`-s?q2=_CO4u|A-T7%J1f=7Z!;m6_7haBKB z438{C0v-DG`((ZV#w0v?I}+^Z`G7x)`TK++=p%eje8hLakAx2R0h`FNJDL5hM>HE8 zXe1rKmDZ&)+1zE`cAsp;==6X@uZ{Yv0}1$ZX`ShC{MT52fGgj;>)Q^0^Cp?M9*MYP zC8XLC(Hr8GanzC@H9MXG#r*0Vhka02asz+aQt(|z!FTBi%>j5`uj0mnBAXG+72FK& zdk~q=JKTjeE?#xc1;1$FYd;(VZpD{p`A;7O`1&mW>7#t}`1{?X{4Rs?r&9?JTx9$$ z?(4u*W2FvX%Pn2s#*}G)ZIl~%+1ww`I%@-GMPUZ5WdUVMWF?f=@L-l}2&V>wl?;0b zWN&C$Ts7HZ?5=q-nomM34-p`!vZ>-_=RK5X+3P{J%aw6wq9O;#7;y4Z06(kN{Z@iR z2F0K;%cOX3&nzXOHzZ~Di3E6oQh(zG{F@94&3QIlV~>K*jI#oNxFW$Q^C^Dd)CgI< zEUK`5iKVGh1QaaV*z>C=X7!5newE=_fCt??YVts{wSzN0H9#|sR<$MxqB4;tNyfd% z!*D1o?DR(bK)Icacc}LlDG2;Ae!5deojIQT2Z|DZMzv2vaGHG2xBr*p@&EE2eu~OJ zjsBx82}ytm2|_!6zlTwX!U%Hz6R|I(C=Nj|f@2tj{<7+M=gxbKjNwB=HA|0(cIaP! zTuZ?Z@!z8?h92bnsCc7(8JgoyUi#qQ;3tHpM=m%1=*#Z0F(MA`4u6s?@h26GVxPQm zxQFTA@%{8@INnzajQF%KV@GA*9{zVmA5urlGZ7vMn}j-lZnK{jf3nHgCr5OMVnD~` zSah5meU5|Z@tEOf0m+iT<@@tN1o7v;Y)Rf!;Hrg^bBV@G+1qnZ5aIlcZNbBq1pnEV z+ z|KyQ?pP%V}-+83(>jiLMq#8W4A0^S!*7TD3h^mO|D5Xh2@vQn(m< zE@JJC$#n9Sl|!XsMg!5pn_hFjrJe~B^Bv6JmogzTgJNmA-L3|G?sl%bpnT{stL()} za&`JKuC_&RE4+th27@Joq+N`}5XP=lR<3$PSH_pQ2gJL}LjXv{GZe2(w&3v^sjH^- zwN9YY>3xTlk$B}i`Kqd0nv+Wd(@^AwgVvy(IOJ#M!ao%RkZ5m1AJt;^T%WjMSPFY= zZqfID%k^hQMuYy56;oH^85AuFeZBWjzD;rz*7n~qu{mXgcQ2V)q5z+l|5hcE7k{K zkt)}-Lb#7rqecn2(&@d}zwHI-Q{I_DE)OBc!7%oAxt4~oYDr%&L)@#Nvhj<^47g~XpUUOO!d1WdH* zG$1h-3K9pCUY zf@-sy5{+^yZct*SPMCYIN3iM6QlY?qZK)X&)=o2tMa9{j?zsT-8`;xpqgR!T**B1P z`umGReI3oZ?T*Se>AZ~~_e-6fT42-OO_;1w6U!ikG!}@YXjfJK`32Ue;wfHV@Z|wp zcg%`$bgK0+)wWaX*L|)u_4iD*(#2*K)IK&e3HZM$~koJ*rsE13yhD=vu<9l>0Y&GlIC>Ly7?2l7tNl zMM&N_*zG?=9_F(Nz4gNd9+<$C^F7cAl)f04Zpu)d6V7UR3Ix;Iog29#`u7EH#>V;1 zcK!q2^0bN5KlBeW3#;^hhm6bzt?|{40N-u%?8fwGRh$2X@xDpf{4~~&IM`ncfjcRK2O zKAR3;cr>EyT>WS@fsgV>6#82b*dIwB>>EFK`C0YQlF`aC6oooT26ZI*x<8#6?Jr57 zkD7u1Q)P_DqlcD%0Q9wIOf7{bxM4+LGlqY+UJ;BvBGLWidVpUbBOwyKB9V5$Q&&rJ z`@URI(|BPAM%5SDm+$RQz9n^Z?%>`zq;D?#1?ZVS9xL`a{^U*PIt7ntocpzFZ!~X7 z71eqr^VpYJ)k42d|L5GzM;-={d9UA5AsE+39g+YA4j*WLO#D^Z!1N?<^!~Jp|0>Av zeToM7d&hyR4xU$v5v~ch19r&IN5&l($~V|-N_Gr~;i-RmZ1CiZol9oJwN$08*6Jr` zW_jcioD)3W3v@$Mnbg$)x@ecao+BJA`)ju(0IZl?Ys?_FBVPTE5K0L~QNg(I^+sF4 zjJ<bs~f@A1%jZV}{b0U)+_t5UN2+UXU0*3grA8Ide#HnKcZe%o71 z7euqGpA$OC3yHkMGksIi{qs!I5@!fN^*pO)d{KFS+2L5*RwTl`!byc#%hRqzCSI_T zyIu*T3KPn`i1ggm+}nHJJX?w$RpSD0G9(dS7#V8F{fX##kqARt0`p~jT{|U`sia(n zbKEwFZxbC0RuUS#NzocD?DF(sAoa=2d6h}uk{b8e&Z~#e=YTd}Zyq5@5LZMTd<5*i z_LW+Hq2D5?FBY#L!(6WLE|nudtN8vpsabjslJr>y#dwz|Cs>{kq|FcTyifPJZP4t5 zfmyTnSU%V2jpyY!qOPNC=Rh$tu8^%(GcY?~Q?kg0ULpY01TGnM~;epVZ3%69~AtWD4_Qm@kJ#eL4Ucc;s1 zJh1}jad$g0rkWDxaF?OhLsYr-Fb z)xQCJKP7qSFsv8K$ubFgX@&DB@J9^QAV7iU<2M^Uztx)Ua&H_4&|9O^1}skwX3BJb ze!R5mX!~1f`dpnoTR|VodUq(Ce3dXXO;QEp6D7TgYI%*1NG6H;3U2-gn0zU5UXwl- zcDBu($6)-~CbEQX2{gAK@un}s8zS9Cg8Y<5;GC{8+{Et}t44<%9{@r>c>L&ySv2v) z^$AHldJ2fMa9@TYa^tqkE#FT9cv_WzGe{@h3$`3mN%h93&m+l801V$I?A5Pzue&8_ z#;m6ECuAsi_iBZY*CTAIq1;(fQO3e-DX%bzM7@w6=W9og)p7+EV??xWLz5eShZZ^* zGs$LC3O8R+bjv4qd3naA-@ngPa?KvO_`LGLkktN&W6Q#94Uhbp?#Kr1X{Rb zblVo#7Y@ZQnu!YivB@X(JZqH4aHO*bIOL^)8dF;ITN*?RxX0is`s1}=83bBY-W*n5 zc=c73K0)s;oO@~AKtxc+n6h8Ac}6%mA8~SP@^!4M5oDL$;tj!=G>)SMHfdq_a*i7YtiC28`taEH&${Mwf1B!yi z#S846QTx8bJ=t0q`i*3E>0WL7ys~W7BPiZ@9FX%6XrPYl(|_T?w_o`8 z8-lL`b)f6F4M8LB9LbD6JKhq{1sG1HZRz=dlUg#n!7T# z3m)5XU(uEQDWzWiEbv~A*MEk?&${Do#+L$b==1*e<(Lk&bHwd%_J?{UNd5`NKB`Du zc3fB$GA|VV&8ni?{#q2qfMx99u2+D6SBj8jl&I0c@NPjL@YrYvLR}P&etw0qBKTn3 zvO3JCTu0Epc^ZH3=C^A9q>e|PSPZ8spq{;^>PuZw8XdX+>zJjU{5Z zQ($S1YPBI3QX&{WVJx44YUOFD8QwF8>Wb?^*mtYP2+waK zB&qf^8s)us2{D#Scz;E*@qlW;D>AZoS0=*(Z)f=xVEZB*gb1W5X2F~dRw#R@Ru*Sm z&lgO12MY=&XXP23*0s#*X$CHjlfgpNau?RoZ2H&JmsA=zg0+37EJ!P+bB(a-fuBP> zh<7x>QNHtN_$jFyvec0XP;Z1qz9vYl$23}QS~@Z6-9;`j2vGy zMQKXUg}MFHxekWWF#s)U?&#<#Vop)ZyOLOF%87@;*L{Pm{iqNm;Nr%QX5<*t5&0YY^VDH-Y*z0B>>>gI!f zR}LDXF7KhVEWLpnTog)+XeqQ<6l3c~qJt8=O3w8l855 zJA|3j?RhINrpt$~HZn`daA^geOhx7FDurs^w(EPM<&w02V96ehT{bG30;1jRi~t!H zz`W*(uYZKjZHNPPr}rtr>r88qm^vrNxs?5($~^bdy#+&fE8b17!Z$|Wv?VM;VE=u- zCQrLA*K@p%`iU%8`B5gKIB7KHvsODSocXdN`N~;aq`p<*%DTwo;>@;d2Hh1JXEZSZas{?66F_MS z4T8Qs=ov4m@FYnDK659d|y$UE2ASS+GQ(zB3!R%}q(VlvQS7#;8VH8yzb2G!N&f~c^SRA6G`@%yD4K<1 zj#q;gpmU$hPH*tSO7VHu24GV(O_?F*8x=AhvjZIN_lv{hSs>)t3V)hsa4XXCx=J|(sW zXL#=Vwl|fHzX~HMat}=HpG|`KUdcGaKNLyyiO4EH-=znyc$M_-SQp6rq2?QodjKB$aC*HpbuV{KiyMtGwN08lv(c!fGafnYpb}Z3Ho_UY0 z(9X1xU-RndV7oDV6d~>b8Kn*ai%_3d=;(;pSbQWr4s)3JYq3jqByzFcu`5Uj6MTC2S(`k&PUpLmc-=$Q5ugx z+Gfsrk$=ivfPYWmnY&c=Xy8*pkf98rJ7|PQj&p~E0)_`C(-pp%>zjArZe1Tsa#3C= zZ@peOFP#RPVKKSCVgr8_y>i1=&#r}u>RoGi6gEu_h{K+8@934GsDkmf*MwQqY}f3p zI-whJ%vBwSqa|gX1Xa(`vLnviL&~U5;J`l3L_nqF;pRg)TjICSli98a{T;00f~;x! za#qSBIYTHvV6ly%915Q647}En1)eQ>gRm!{)6~oqXf6tGgF=7gNV%;}!q`rW7z?*Y zX`a=C`$`L6i+kF2@&bt5ZUot6c=Lc}d$$aVxvv=fGm;1#E@MR&o% z`h-2!U@~v3{Hi!AtTmMiw41op*M5W}peAdRGIH4&k(A0I0fZll7m zgSt53d4)r(5u~Y9vvHOpN;*5hMJAVeGc%C#qSW9hZ0l zxoEhQ6m%+6Ot8&qCE8;;PXd7JCG+IUutI~K*8ON!+qn0Yor3`3SRV!o085 z{eD+hU}l-s1Uhx{J%EWk9nVZfizK}xmXa3TyG;WI$a6vu@T%}mF6zDegaw^R3h_5jWCwEi0@&0hr6Kc&EI=|aozWT9%{d2@yW zF-PmM65X{x*#+i?qHA#ec43Gtzdkt?HH(O!3-of~p}u7|7LsTX3d6$Dg&k^83Te<3 zgS>wP9(tcwW&cPod7lLliiApKBCJy~H@wu(tr&5UD!+1$NT!O8Qz?uT;E{!tetpoX zD4Q|Yoiew_@~|`^C1A$$W2dWq!d@>+FIPA@9lLGz^@%(o1A106id_LOLt*1YYXjMK z8qep0%<1oGfrG|q-!<{b^p?XFGsm8n0%U(q=G|r-fer3(W#5q{-~oPzicc}T#>LY? zY!=Z~;!dVmQIrXGp(B!nDnYr?Pi+~CJO0EkL%W|0(RjO!jCJz>D0F+7JvB93j8?WS zqny*KOtEk!d5z&Zp(F?LNj_KrwnUP5&e2nt>Gi6(1Z>R0 z4RQigzue0%@4M8nO(rn(yF|%MN!@VIRdXwQc(cKGGmudnuQmHOCp#+!3%aTpfoAE{ z-re6npx*sVvds%`v2G}w{o^$5f4P6*^vZNOYW(+|0-ifZe*}*5UQJeo&o|_jolt`D zoZ0pr++w`(;(+42g{CVJq@0n&=5jN)G4FHD=kyC8Mjaol@pa;rWU?)nOXnn}gY2bl zxGXK+zYRI3qj=^A+HCy4&*K>TcsAi5Z2N!yA9YB6b}RY!ulfon|8m9mFcE)8z{7Kd zfKU*oFdPJN7^ScsOQINb^vxVi*%U&;2#M_{QRuHQt)j#-0-UdF}zeD8cvfimT^s#r|0pQ^q z^*h&*qp~JC%DLhAxE@B1B+Y-}Mg6JPA;JR<64X&WlwwD74GJGUHT%qu8+@vG(&)3} zfP8#Q!XxbzV+VjFlK)PSzoqEhM-S}wtxhMZJMtF3oavQg0j}C1ZW34x#?a8tKN_rQ zGhl5$sn>w$clxBQ!^735*4Ts}uc+p86DCKMU%-Gx7qOuIfAx^ugU^47GVgJRZgT`v z;L(izO=X&kH_f4u9b1CB@Tbc3ehm2T;QXJ=2KatDe>)q=pLyDs{`?sn%Yp!0P@bn* zne%g+4?O1bZWpX7ci==9T#KvvxvFmFJ)@MD#f}T2v-+_0)c}#?X=j}(2u$b4LutJp zYP~3KIQyIo&q1f0CjoyimhgC*c_W<~D&mdoWL^;(*0i@aCiCl^*7C9NrYMuxDAhPu z-u#uHL(Mh%G(6Yhny%eR9Fz-1WEUxtNb=$7SAqniTDLrBqMItD&2QgxgYZQT!hfp*~p#+4Z6!_7GCVyFO7?DS79YTDX_&%!6 zdu$*-{Br-^ryqYw<}VV_haFM;Yx5-ZkiEyLBlPUiaHpMz{XBNm6dpT#AEB|s0_jsU zNPRS>_j^L<&bohRo)jL6VS9+hv7`HCk4E^%HVKbE_Nv&igGqwNKwxsDv_t5#mHAPf z2&p42z8^nC&Y)vY^3Z4egt7gu_#P4e)+|r(4oR>L{}zA7%#*(G)N{L8Rx*&dc6RPm zM9f0r{#73AQ*LPf4?-Cr6tw#_cyM2X$1mDN^i5m7bnwy8*LIQP81U_2!Eiq%yg8@f zV~uIQwu?BS_o-9lLa`eCouEf6+5?Vcm1@D?G{*d@=%6Q`f=2C^)qy`Jeu2MaepSfJ zM9CQ$koSM{TmG(BBvvg3FMIC(pwFey#?Nh>gLdfciys5>`|X*EI%@_v?kJo;9#X+4z)OA`jgzt7}Q4z+>W*XmvxuR;aqL z&53-CWJbeDceDG-e_aE2sp>16JTHEr122DZ8qbtvjKd8?TTI@OLBM9b0LQr1XW1Kf zsw-8KyotR$%0UHTN2fhhgRqQlkBeafZr5$}%gayZqV4>8gsfOUNy2^D*MdumRrm00 z5ygCGp%=G=HxYl@DVnKfN_`5`%ZHMUqkXK=zPxhTuPA?_#-c8}0u$@~|#p~_9Wi#Cwi=%fJc${M$QggGM zh)9Yq3f*J;ukgj`4;uQ0AtWZCRxl=G}!|J2^7qcZ~en)5d=^q%X?G zCf?vqvx8FyjC_#_!ib%49dt;IT9Q|T+i7yuF22_E^x{eLKrm6_M{yp%e1Unu=V{(q zd%HUhsU}S*A-`XI=tQMM@advOd{oZ>&G_~fhm(eJeW@b8Bc}xe{z!tYs ztW%)`{Zt$7UYh$n6*LEO81H|=?=yMmfh+>V#BV~rrZ+JoE$vq4alQm28-S!Nza%F88g*i&nfq?zbr zsz>V&uPI*3o9Kj?g<=-X&y|OU10OW<5*Q{@tt6wUr-ON;3nHj!u~&aX{`3;EU|LM# z8KvvbjjdJEA@UOkorm{Rd#L_n&db;1#O}DJygWMkh54gii0hL}u+5#()y2O}ef1E^ z^SA`zTWpQX;Mt zv?nsd)muTukUgM|n*x8Y6K6`rZY_Zty+6hjj%XvDP(`2sph`A_3wrYm&JcijGU|WZpzY7)+7whB;?2Gy zB|%Y?*$m;6O+|IRl-!&mSF*^GKxq|df^B9*(eHfVS3pK%Tgf;B)r^P%#e@}vt(0^n zf+W3-XVBnFG~Lv{2w*muZd?}2K~;p==7v|AxPA*Om|ItaZ+&{}YG~w-Tu=gBF#4tq zZCR+8jmFMc~r$_m!SUrQ{s$C^DS*xpo%zW=f;;+hn$l0Ozh1Kq^fNik@XD|&UKsC=Y+rjZG1;(AX#|d3$BV*33ta!COhjr9HF6Q20@um0Ae^2?P! zqA&`>2@F~PU}=VAC?JoI;Rvv7+m3zOm_mIt2yfXaYO9cD%;tZ-8QX$E{~VM# zfhB)=2J%Ip8nZ>96D1=+M9MZ3^K26iAU5IXY!h`}qZ6p8rr`L8E87~EsNWe0

CH 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%0A00|FPPc;9k;Ailrvf38S$=XSI22z*}nHCE~` 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≀9?`rX* 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ΜnHxhI{+>=mtHp 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�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 cMY^YOovOTn#)p2q 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

+r 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 z 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

#^QJk&f0uj%N#`W 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
HI|)sc(QlfMI=@Zm1r_ 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⁡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

UDIEPcCNajm&Vnz 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� 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

nz{1GKR|c5{Au-1;merr}VjTw@e4slajzu1sId6 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

  • 0b`MqwI>Z|rm>4<``!GhD&6&=e^i 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

    Wa+?QodY+(ow#S@ojE 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≫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 z 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

  • ZZdM%9H07E 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≫&?E3yplXh3~Gsb8mcwYfE=SS4u%J!pA0i}x5p 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%0DI;{iZP<}WaB<~#sL&rlu3UXQWJ+CLEu1l{qQ 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
  • ej+PB0>Jj9?0nD#lOJnC` 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ʻiCu7>@YF;jyVd1rF>N}(8k~XMqXZ!4f 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%0DqR8mo{JWgtPruCT(L4w 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

    {#?ky{`+Ht)wi9AyCn44BY+b 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%0DvRy3*0n1u(UqkO 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�t8Rl+m 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

    n_jjmFevOq9Gn*scbz6v{tj$+4aN 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