mirror of
https://github.com/python/cpython.git
synced 2025-09-25 01:43:11 +00:00
Co-authored-by: cui fliter <imcusg@gmail.com>
(cherry picked from commit e7ba6e9dbe
)
This commit is contained in:
parent
55faaa5c36
commit
84b023d243
10 changed files with 11 additions and 11 deletions
|
@ -604,7 +604,7 @@ in an editor window.
|
||||||
The editing features described in previous subsections work when entering
|
The editing features described in previous subsections work when entering
|
||||||
code interactively. IDLE's Shell window also responds to the following:
|
code interactively. IDLE's Shell window also responds to the following:
|
||||||
|
|
||||||
* :kbd:`C-c` attemps to interrupt statement execution (but may fail).
|
* :kbd:`C-c` attempts to interrupt statement execution (but may fail).
|
||||||
|
|
||||||
* :kbd:`C-d` closes Shell if typed at a ``>>>`` prompt.
|
* :kbd:`C-d` closes Shell if typed at a ``>>>`` prompt.
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ typedef struct {
|
||||||
PyObject *_co_freevars;
|
PyObject *_co_freevars;
|
||||||
} _PyCoCached;
|
} _PyCoCached;
|
||||||
|
|
||||||
/* Ancilliary data structure used for instrumentation.
|
/* Ancillary data structure used for instrumentation.
|
||||||
Line instrumentation creates an array of
|
Line instrumentation creates an array of
|
||||||
these. One entry per code unit.*/
|
these. One entry per code unit.*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -40,7 +40,7 @@ extern "C" {
|
||||||
#define PY_MONITORING_EVENT_RERAISE 14
|
#define PY_MONITORING_EVENT_RERAISE 14
|
||||||
|
|
||||||
|
|
||||||
/* Ancilliary events */
|
/* Ancillary events */
|
||||||
|
|
||||||
#define PY_MONITORING_EVENT_C_RETURN 15
|
#define PY_MONITORING_EVENT_C_RETURN 15
|
||||||
#define PY_MONITORING_EVENT_C_RAISE 16
|
#define PY_MONITORING_EVENT_C_RAISE 16
|
||||||
|
|
|
@ -480,7 +480,7 @@ async def wait_for(fut, timeout):
|
||||||
|
|
||||||
If the wait is cancelled, the task is also cancelled.
|
If the wait is cancelled, the task is also cancelled.
|
||||||
|
|
||||||
If the task supresses the cancellation and returns a value instead,
|
If the task suppresses the cancellation and returns a value instead,
|
||||||
that value is returned.
|
that value is returned.
|
||||||
|
|
||||||
This function is a coroutine.
|
This function is a coroutine.
|
||||||
|
|
|
@ -146,7 +146,7 @@ class _incompatible_extension_module_restrictions:
|
||||||
|
|
||||||
You can get the same effect as this function by implementing the
|
You can get the same effect as this function by implementing the
|
||||||
basic interface of multi-phase init (PEP 489) and lying about
|
basic interface of multi-phase init (PEP 489) and lying about
|
||||||
support for mulitple interpreters (or per-interpreter GIL).
|
support for multiple interpreters (or per-interpreter GIL).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, *, disable_check):
|
def __init__(self, *, disable_check):
|
||||||
|
|
|
@ -209,7 +209,7 @@ class WorkerThread(threading.Thread):
|
||||||
self._popen = None
|
self._popen = None
|
||||||
|
|
||||||
def create_stdout(self, stack: contextlib.ExitStack) -> TextIO:
|
def create_stdout(self, stack: contextlib.ExitStack) -> TextIO:
|
||||||
"""Create stdout temporay file (file descriptor)."""
|
"""Create stdout temporary file (file descriptor)."""
|
||||||
|
|
||||||
if MS_WINDOWS:
|
if MS_WINDOWS:
|
||||||
# gh-95027: When stdout is not a TTY, Python uses the ANSI code
|
# gh-95027: When stdout is not a TTY, Python uses the ANSI code
|
||||||
|
|
|
@ -419,7 +419,7 @@ def get_work_dir(parent_dir: StrPath, worker: bool = False) -> StrPath:
|
||||||
# the tests. The name of the dir includes the pid to allow parallel
|
# the tests. The name of the dir includes the pid to allow parallel
|
||||||
# testing (see the -j option).
|
# testing (see the -j option).
|
||||||
# Emscripten and WASI have stubbed getpid(), Emscripten has only
|
# Emscripten and WASI have stubbed getpid(), Emscripten has only
|
||||||
# milisecond clock resolution. Use randint() instead.
|
# millisecond clock resolution. Use randint() instead.
|
||||||
if support.is_emscripten or support.is_wasi:
|
if support.is_emscripten or support.is_wasi:
|
||||||
nounce = random.randint(0, 1_000_000)
|
nounce = random.randint(0, 1_000_000)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -249,8 +249,8 @@ class AsyncioWaitForTest(unittest.IsolatedAsyncioTestCase):
|
||||||
await self._test_cancel_wait_for(60.0)
|
await self._test_cancel_wait_for(60.0)
|
||||||
|
|
||||||
async def test_wait_for_cancel_suppressed(self):
|
async def test_wait_for_cancel_suppressed(self):
|
||||||
# GH-86296: Supressing CancelledError is discouraged
|
# GH-86296: Suppressing CancelledError is discouraged
|
||||||
# but if a task subpresses CancelledError and returns a value,
|
# but if a task suppresses CancelledError and returns a value,
|
||||||
# `wait_for` should return the value instead of raising CancelledError.
|
# `wait_for` should return the value instead of raising CancelledError.
|
||||||
# This is the same behavior as `asyncio.timeout`.
|
# This is the same behavior as `asyncio.timeout`.
|
||||||
|
|
||||||
|
|
|
@ -129,7 +129,7 @@ class ExceptionClassTests(unittest.TestCase):
|
||||||
|
|
||||||
d[HashThisKeyWillClearTheDict()] = Value() # refcount of Value() is 1 now
|
d[HashThisKeyWillClearTheDict()] = Value() # refcount of Value() is 1 now
|
||||||
|
|
||||||
# Exception.__setstate__ should aquire a strong reference of key and
|
# Exception.__setstate__ should acquire a strong reference of key and
|
||||||
# value in the dict. Otherwise, Value()'s refcount would go below
|
# value in the dict. Otherwise, Value()'s refcount would go below
|
||||||
# zero in the tp_hash call in PyObject_SetAttr(), and it would cause
|
# zero in the tp_hash call in PyObject_SetAttr(), and it would cause
|
||||||
# crash in GC.
|
# crash in GC.
|
||||||
|
|
|
@ -601,7 +601,7 @@ def check_private_names(manifest):
|
||||||
if name.startswith('_') and not item.abi_only:
|
if name.startswith('_') and not item.abi_only:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f'`{name}` is private (underscore-prefixed) and should be '
|
f'`{name}` is private (underscore-prefixed) and should be '
|
||||||
+ 'removed from the stable ABI list or or marked `abi_only`')
|
+ 'removed from the stable ABI list or marked `abi_only`')
|
||||||
|
|
||||||
def check_dump(manifest, filename):
|
def check_dump(manifest, filename):
|
||||||
"""Check that manifest.dump() corresponds to the data.
|
"""Check that manifest.dump() corresponds to the data.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue