8000 Merge remote-tracking branch 'upstream/main' into linenos · python/cpython@498e98b · GitHub
[go: up one dir, main page]

Skip to content

Commit 498e98b

Browse files
committed
Merge remote-tracking branch 'upstream/main' into linenos
2 parents c7764ce + e500cc0 commit 498e98b

File tree

92 files changed

+2685
-666
lines changed
  • Doc
    • c-api
  • faq
  • howto
  • install
  • library
  • reference
  • using
  • whatsnew
  • Include
  • Lib
  • Misc/NEWS.d/next
  • Modules
  • Objects
  • Python
  • Some content is hidden

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

    92 files changed

    +2685
    -666
    lines changed

    Doc/c-api/dict.rst

    Lines changed: 51 additions & 0 deletions
    Original file line numberDiff line numberDiff line change
    @@ -238,3 +238,54 @@ Dictionary Objects
    238238
    for key, value in seq2:
    239239
    if override or key not in a:
    240240
    a[key] = value
    241+
    242+
    .. c:function:: int PyDict_AddWatcher(PyDict_WatchCallback callback)
    243+
    244+
    Register *callback* as a dictionary watcher. Return a non-negative integer
    245+
    id which must be passed to future calls to :c:func:`PyDict_Watch`. In case
    246+
    of error (e.g. no more watcher IDs available), return ``-1`` and set an
    247+
    exception.
    248+
    249+
    .. c:function:: int PyDict_ClearWatcher(int watcher_id)
    250+
    251+
    Clear watcher identified by *watcher_id* previously returned from
    252+
    :c:func:`PyDict_AddWatcher`. Return ``0`` on success, ``-1`` on error (e.g.
    253+
    if the given *watcher_id* was never registered.)
    254+
    255+
    .. c:function:: int PyDict_Watch(int watcher_id, PyObject *dict)
    256+
    257+
    Mark dictionary *dict* as watched. The callback granted *watcher_id* by
    258+
    :c:func:`PyDict_AddWatcher` will be called when *dict* is modified or
    259+
    deallocated.
    260+
    261+
    .. c:type:: PyDict_WatchEvent
    262+
    263+
    Enumeration of possible dictionary watcher events: ``PyDict_EVENT_ADDED``,
    264+
    ``PyDict_EVENT_MODIFIED``, ``PyDict_EVENT_DELETED``, ``PyDict_EVENT_CLONED``,
    265+
    ``PyDict_EVENT_CLEARED``, or ``PyDict_EVENT_DEALLOCATED``.
    266+
    267+
    .. c:type:: int (*PyDict_WatchCallback)(PyDict_WatchEvent event, PyObject *dict, PyObject *key, PyObject *new_value)
    268+
    269+
    Type of a dict watcher callback function.
    270+
    271+
    If *event* is ``PyDict_EVENT_CLEARED`` or ``PyDict_EVENT_DEALLOCATED``, both
    272+
    *key* and *new_value* will be ``NULL``. If *event* is ``PyDict_EVENT_ADDED``
    273+
    or ``PyDict_EVENT_MODIFIED``, *new_value* will be the new value for *key*.
    274+
    If *event* is ``PyDict_EVENT_DELETED``, *key* is being deleted from the
    275+
    dictionary and *new_value* will be ``NULL``.
    276+
    277+
    ``PyDict_EVENT_CLONED`` occurs when *dict* was previously empty and another
    278+
    dict is merged into it. To maintain efficiency of this operation, per-key
    279+
    ``PyDict_EVENT_ADDED`` events are not issued in this case; instead a
    280+
    single ``PyDict_EVENT_CLONED`` is issued, and *key* will be the source
    281+
    dictionary.
    282+
    283+
    The callback may inspect but must not modify *dict*; doing so could have
    284+
    unpredictable effects, including infinite recursion.
    285+
    286+
    Callbacks occur before the notified modification to *dict* takes place, so
    287+
    the prior state of *dict* can be inspected.
    288+
    289+
    If the callback returns with an exception set, it must return ``-1``; this
    290+
    exception will be printed as an unraisable exception using
    291+
    :c:func:`PyErr_WriteUnraisable`. Otherwise it should return ``0``.

    Doc/c-api/init.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -1929,7 +1929,7 @@ is not possible due to its implementation being opaque at build time.
    19291929
    Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after
    19301930
    first calling :c:func:`PyThread_tss_delete` to ensure any associated
    19311931
    thread locals have been unassigned. This is a no-op if the *key*
    1932-
    argument is `NULL`.
    1932+
    argument is ``NULL``.
    19331933
    19341934
    .. note::
    19351935
    A freed key becomes a dangling pointer. You should reset the key to

    Doc/c-api/type.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -40,7 +40,7 @@ Type Objects
    4040
    .. c:function:: unsigned long PyType_GetFlags(PyTypeObject* type)
    4141
    4242
    Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This function is primarily
    43-
    meant for use with `Py_LIMITED_API`; the individual flag bits are
    43+
    meant for use with ``Py_LIMITED_API``; the individual flag bits are
    4444
    guaranteed to be stable across Python releases, but access to
    4545
    :c:member:`~PyTypeObject.tp_flags` itself is not part of the limited API.
    4646

    Doc/faq/design.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -155,7 +155,7 @@ Why can't I use an assignment in an expression?
    155155

    156156
    Starting in Python 3.8, you can!
    157157

    158-
    Assignment expressions using the walrus operator `:=` assign a variable in an
    158+
    Assignment expressions using the walrus operator ``:=`` assign a variable in an
    159159
    expression::
    160160

    161161
    while chunk := fp.read(200):

    Doc/howto/enum.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -1109,7 +1109,7 @@ Enum Classes
    11091109
    The :class:`EnumType` metaclass is responsible for providing the
    11101110
    :meth:`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other methods that
    11111111
    allow one to do things with an :class:`Enum` class that fail on a typical
    1112-
    class, such as `list(Color)` or `some_enum_var in Color`. :class:`EnumType` is
    1112+
    class, such as ``list(Color)`` or ``some_enum_var in Color``. :class:`EnumType` is
    11131113
    responsible for ensuring that various other methods on the final :class:`Enum`
    11141114
    class are correct (such as :meth:`__new__`, :meth:`__getnewargs__`,
    11151115
    :meth:`__str__` and :meth:`__repr__`).

    Doc/howto/logging-cookbook.rst

    Lines changed: 2 additions & 2 deletions
    Original file line numberDiff line numberDiff line change
    @@ -562,7 +562,7 @@ To run a logging listener in production, you may need to use a process-managemen
    562562
    such as `Supervisor <http://supervisord.org/>`_. `Here
    563563
    <https://gist.github.com/vsajip/4b227eeec43817465ca835ca66f75e2b>`_ is a Gist which
    564564
    provides the bare-bones files to run the above functionality using Supervisor: you
    565-
    will need to change the `/path/to/` parts in the Gist to reflect the actual paths you
    565+
    will need to change the ``/path/to/`` parts in the Gist to reflect the actual paths you
    566566
    want to use.
    567567

    568568

    @@ -2774,7 +2774,7 @@ Formatting times using UTC (GMT) via configuration
    27742774
    --------------------------------------------------
    27752775

    27762776
    Sometimes you want to format times using UTC, which can be done using a class
    2777-
    such as `UTCFormatter`, shown below::
    2777+
    such as ``UTCFormatter``, shown below::
    27782778

    27792779
    import logging
    27802780
    import time

    Doc/howto/logging.rst

    Lines changed: 5 additions & 5 deletions
    Original file line numberDiff line numberDiff line change
    @@ -555,14 +555,14 @@ raw message. If there is no date format string, the default date format is:
    555555
    556556
    %Y-%m-%d %H:%M:%S
    557557
    558-
    with the milliseconds tacked on at the end. The ``style`` is one of `%`, '{'
    559-
    or '$'. If one of these is not specified, then '%' will be used.
    558+
    with the milliseconds tacked on at the end. The ``style`` is one of ``'%'``,
    559+
    ``'{'``, or ``'$'``. If one of these is not specified, then ``'%'`` will be used.
    560560

    561-
    If the ``style`` is '%', the message format string uses
    561+
    If the ``style`` is ``'%'``, the message format string uses
    562562
    ``%(<dictionary key>)s`` styled string substitution; the possible keys are
    563-
    documented in :ref:`logrecord-attributes`. If the style is '{', the message
    563+
    documented in :ref:`logrecord-attributes`. If the style is ``'{'``, the message
    564564
    format string is assumed to be compatible with :meth:`str.format` (using
    565-
    keyword arguments), while if the style is '$' then the message format string
    565+
    keyword arguments), while if the style is ``'$'`` then the message format string
    566566
    should conform to what is expected by :meth:`string.Template.substitute`.
    567567

    568568
    .. versionchanged:: 3.2

    Doc/howto/perf_profiling.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -151,7 +151,7 @@ Enabling perf profiling mode
    151151
    ----------------------------
    152152

    153153
    There are two main ways to activate the perf profiling mode. If you want it to be
    154-
    active since the start of the Python interpreter, you can use the `-Xperf` option:
    154+
    active since the start of the Python interpreter, you can use the ``-Xperf`` option:
    155155

    156156
    $ python -Xperf my_script.py
    157157

    Doc/install/index.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -765,7 +765,7 @@ And on Windows, the configuration files are:
    765765
    +--------------+-------------------------------------------------+-------+
    766766

    767767
    On all platforms, the "personal" file can be temporarily disabled by
    768-
    passing the `--no-user-cfg` option.
    768+
    passing the ``--no-user-cfg`` option.
    769769

    770770
    Notes:
    771771

    Doc/library/asyncio-future.rst

    Lines changed: 0 additions & 10 deletions
    Original file line numberDiff line numberDiff line change
    @@ -197,11 +197,6 @@ Future Object
    197197
    .. versionchanged:: 3.9
    198198
    Added the *msg* parameter.
    199199

    200-
    .. deprecated-removed:: 3.11 3.14
    201-
    *msg* parameter is ambiguous when multiple :meth:`cancel`
    202-
    are called with different cancellation messages.
    203-
    The argument will be removed.
    204-
    205200
    .. method:: exception()
    206201

    207202
    Return the exception that was set on this Future.
    @@ -282,8 +277,3 @@ the Future has a result::
    282277

    283278
    - :meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument,
    284279
    but :func:`concurrent.futures.cancel` does not.
    285-
    286-
    .. deprecated-removed:: 3.11 3.14
    287-
    *msg* parameter is ambiguous when multiple :meth:`cancel`
    288-
    are called with different cancellation messages.
    289-
    The argument will be removed.

    Doc/library/asyncio-protocol.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -553,7 +553,7 @@ accept factories that return streaming protocols.
    553553
    a connection is open.
    554554

    555555
    However, :meth:`protocol.eof_received() <Protocol.eof_received>`
    556-
    is called at most once. Once `eof_received()` is called,
    556+
    is called at most once. Once ``eof_received()`` is called,
    557557
    ``data_received()`` is not called anymore.
    558558

    559559
    .. method:: Protocol.eof_received()

    Doc/library/asyncio-task.rst

    Lines changed: 7 additions & 9 deletions
    Original file line numberDiff line numberDiff line change
    @@ -631,7 +631,7 @@ Timeouts
    631631

    632632
    Change the time the timeout will trigger.
    633633

    634-
    If *when* is `None`, any current deadline will be removed, and the
    634+
    If *when* is ``None``, any current deadline will be removed, and the
    635635
    context manager will wait indefinitely.
    636636

    637637
    If *when* is a float, it is set as the new deadline.
    @@ -867,17 +867,17 @@ Running in Threads
    867867
    # blocking_io complete at 19:50:54
    868868
    # finished main at 19:50:54
    869869

    870-
    Directly calling `blocking_io()` in any coroutine would block the event loop
    870+
    Directly calling ``blocking_io()`` in any coroutine would block the event loop
    871871
    for its duration, resulting in an additional 1 second of run time. Instead,
    872-
    by using `asyncio.to_thread()`, we can run it in a separate thread without
    872+
    by using ``asyncio.to_thread()``, we can run it in a separate thread without
    873873
    blocking the event loop.
    874874

    875875
    .. note::
    876876

    877-
    Due to the :term:`GIL`, `asyncio.to_thread()` can typically only be used
    877+
    Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used
    878878
    to make IO-bound functions non-blocking. However, for extension modules
    879879
    that release the GIL or alternative Python implementations that don't
    880-
    have one, `asyncio.to_thread()` can also be used for CPU-bound functions.
    880+
    have one, ``asyncio.to_thread()`` can also be used for CPU-bound functions.
    881881

    882882
    .. versionadded:: 3.9
    883883

    @@ -1144,10 +1144,8 @@ Task Object
    11441144
    .. versionchanged:: 3.9
    11451145
    Added the *msg* parameter.
    11461146

    1147-
    .. deprecated-removed:: 3.11 3.14
    1148-
    *msg* parameter is ambiguous when multiple :meth:`cancel`
    1149-
    are called with different cancellation messages.
    1150-
    The argument will be removed.
    1147+
    .. versionchanged:: 3.11
    1148+
    The ``msg`` parameter is propagated from cancelled task to its awaiter.
    11511149

    11521150
    .. _asyncio_example_task_cancel:
    11531151

    Doc/library/bdb.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -143,7 +143,7 @@ The :mod:`bdb` module also defines two classes:
    143143

    144144
    For real file names, the canonical form is an operating-system-dependent,
    145145
    :func:`case-normalized <os.path.normcase>` :func:`absolute path
    146-
    <os.path.abspath>`. A *filename* with angle brackets, such as `"<stdin>"`
    146+
    <os.path.abspath>`. A *filename* with angle brackets, such as ``"<stdin>"``
    147147
    generated in interactive mode, is returned unchanged.
    148148

    149149
    .. method:: reset()

    Doc/library/bz2.rst

    Lines changed: 2 additions & 2 deletions
    Original file line numberDiff line numberDiff line change
    @@ -206,7 +206,7 @@ Incremental (de)compression
    206206
    will be set to ``True``.
    207207

    208208
    Attempting to decompress data after the end of stream is reached
    209-
    raises an `EOFError`. Any data found after the end of the
    209+
    raises an :exc:`EOFError`. Any data found after the end of the
    210210
    stream is ignored and saved in the :attr:`~.unused_data` attribute.
    211211

    212212
    .. versionchanged:: 3.5
    @@ -303,7 +303,7 @@ Using :class:`BZ2Compressor` for incremental compression:
    303303
    >>> out = out + comp.flush()
    304304

    305305
    The example above uses a very "nonrandom" stream of data
    306-
    (a stream of `b"z"` chunks). Random data tends to compress poorly,
    306+
    (a stream of ``b"z"`` chunks). Random data tends to compress poorly,
    307307
    while ordered, repetitive data usually yields a high compression ratio.
    308308

    309309
    Writing and reading a bzip2-compressed file in binary mode:

    10000 Doc/library/concurrent.futures.rst

    Lines changed: 3 additions & 3 deletions
    Original file line numberDiff line numberDiff line change
    @@ -152,7 +152,7 @@ And::
    152152

    153153
    All threads enqueued to ``ThreadPoolExecutor`` will be joined before the
    154154
    interpreter can exit. Note that the exit handler which does this is
    155-
    executed *before* any exit handlers added using `atexit`. This means
    155+
    executed *before* any exit handlers added using ``atexit``. This means
    156156
    exceptions in the main thread must be caught and handled in order to
    157157
    signal threads to exit gracefully. For this reason, it is recommended
    158158
    that ``ThreadPoolExecutor`` not be used for long-running tasks.
    @@ -411,13 +411,13 @@ The :class:`Future` class encapsulates the asynchronous execution of a callable.
    411411
    tests.
    412412

    413413
    If the method returns ``False`` then the :class:`Future` was cancelled,
    414-
    i.e. :meth:`Future.cancel` was called and returned `True`. Any threads
    414+
    i.e. :meth:`Future.cancel` was called and returned ``True``. Any threads
    415415
    waiting on the :class:`Future` completing (i.e. through
    416416
    :func:`as_completed` or :func:`wait`) will be woken up.
    417417

    418418
    If the method returns ``True`` then the :class:`Future` was not cancelled
    419419
    and has been put in the running state, i.e. calls to
    420-
    :meth:`Future.running` will return `True`.
    420+
    :meth:`Future.running` will return ``True``.
    421421

    422422
    This method can only be called once and cannot be called after
    423423
    :meth:`Future.set_result` or :meth:`Future.set_exception` have been

    Doc/library/ctypes.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -1948,7 +1948,7 @@ Utility functions
    19481948
    .. function:: GetLastError()
    19491949

    19501950
    Windows only: Returns the last error code set by Windows in the calling thread.
    1951-
    This function calls the Windows `GetLastError()` function directly,
    1951+
    This function calls the Windows ``GetLastError()`` function directly,
    19521952
    it does not return the ctypes-private copy of the error code.
    19531953

    19541954
    .. function:: get_errno()

    Doc/library/curses.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -275,7 +275,7 @@ The module :mod:`curses` defines the following functions:
    275275
    Change the definition of a color, taking the number of the color to be changed
    276276
    followed by three RGB values (for the amounts of red, green, and blue
    277277
    components). The value of *color_number* must be between ``0`` and
    278-
    `COLORS - 1`. Each of *r*, *g*, *b*, must be a value between ``0`` and
    278+
    ``COLORS - 1``. Each of *r*, *g*, *b*, must be a value between ``0`` and
    279279
    ``1000``. When :func:`init_color` is used, all occurrences of that color on the
    280280
    screen immediately change to the new definition. This function is a no-op on
    281281
    most terminals; it is active only if :func:`can_change_color` returns ``True``.

    Doc/library/datetime.rst

    Lines changed: 2 additions & 2 deletions
    Original file line numberDiff line numberDiff line change
    @@ -1769,7 +1769,7 @@ Other constructor:
    17691769
    ISO 8601 format, with the following exceptions:
    17701770

    17711771
    1. Time zone offsets may have fractional seconds.
    1772-
    2. The leading `T`, normally required in cases where there may be ambiguity between
    1772+
    2. The leading ``T``, normally required in cases where there may be ambiguity between
    17731773
    a date and a time, is not required.
    17741774
    3. Fractional seconds may have any number of digits (anything beyond 6 will
    17751775
    be truncated).
    @@ -2265,7 +2265,7 @@ where historical changes have been made to civil time.
    22652265
    two digits of ``offset.hours`` and ``offset.minutes`` respectively.
    22662266

    22672267
    .. versionchanged:: 3.6
    2268-
    Name generated from ``offset=timedelta(0)`` is now plain `'UTC'`, not
    2268+
    Name generated from ``offset=timedelta(0)`` is now plain ``'UTC'``, not
    22692269
    ``'UTC+00:00'``.
    22702270

    22712271

    Doc/library/decimal.rst

    Lines changed: 4 additions & 4 deletions
    Original file line numberDiff line numberDiff line change
    @@ -576,11 +576,11 @@ Decimal objects
    576576
    Alternative constructor that only accepts instances of :class:`float` or
    577577
    :class:`int`.
    578578

    579-
    Note `Decimal.from_float(0.1)` is not the same as `Decimal('0.1')`.
    579+
    Note ``Decimal.from_float(0.1)`` is not the same as ``Decimal('0.1')``.
    580580
    Since 0.1 is not exactly representable in binary floating point, the
    581581
    value is stored as the nearest representable value which is
    582-
    `0x1.999999999999ap-4`. That equivalent value in decimal is
    583-
    `0.1000000000000000055511151231257827021181583404541015625`.
    582+
    ``0x1.999999999999ap-4``. That equivalent value in decimal is
    583+
    ``0.1000000000000000055511151231257827021181583404541015625``.
    584584

    585585
    .. note:: From Python 3.2 onwards, a :class:`Decimal` instance
    586586
    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
    12091209

    12101210
    .. method:: exp(x)
    12111211

    1212-
    Returns `e ** x`.
    1212+
    Returns ``e ** x``.
    12131213

    12141214

    12151215
    .. method:: fma(x, y, z)

    Doc/library/dis.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -367,7 +367,7 @@ details of bytecode instructions as :class:`Instruction` instances:
    367367

    368368
    .. class:: Positions
    369369

    370-
    In case the information is not available, some fields might be `None`.
    370+
    In case the information is not available, some fields might be ``None``.
    371371

    372372
    .. data:: lineno
    373373
    .. data:: end_lineno

    Doc/library/email.compat32-message.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -298,7 +298,7 @@ Here are the methods of the :class:`Message` class:
    298298
    In a model generated from bytes, any header values that (in contravention of
    299299
    the RFCs) contain non-ASCII bytes will, when retrieved through this
    300300
    interface, be represented as :class:`~email.header.Header` objects with
    301-
    a charset of `unknown-8bit`.
    301+
    a charset of ``unknown-8bit``.
    302302

    303303

    304304
    .. method:: __len__()

    Doc/library/email.headerregistry.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -153,7 +153,7 @@ headers.
    153153
    specified as ``-0000`` (indicating it is in UTC but contains no
    154154
    information about the source timezone), then :attr:`.datetime` will be a
    155155
    naive :class:`~datetime.datetime`. If a specific timezone offset is
    156-
    found (including `+0000`), then :attr:`.datetime` will contain an aware
    156+
    found (including ``+0000``), then :attr:`.datetime` will contain an aware
    157157
    ``datetime`` that uses :class:`datetime.timezone` to record the timezone
    158158
    offset.
    159159

    Doc/library/fractions.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -99,7 +99,7 @@ another rational number, or from a string.
    9999
    ``typing.SupportsInt`` instance checks.
    100100

    101101
    .. versionchanged:: 3.12
    102-
    Space is allowed around the slash for string inputs: `Fraction('2 / 3')`.
    102+
    Space is allowed around the slash for string inputs: ``Fraction('2 / 3')``.
    103103

    104104
    .. attribute:: numerator
    105105

    Doc/library/functools.rst

    Lines changed: 2 additions & 2 deletions
    Original file line numberDiff line numberDiff line change
    @@ -150,7 +150,7 @@ The :mod:`functools` module defines the following functions:
    150150
    arguments to the function must be hashable.
    151151

    152152
    Distinct argument patterns may be considered to be distinct calls with
    153-
    separate cache entries. For example, `f(a=1, b=2)` and `f(b=2, a=1)`
    153+
    separate cache entries. For example, ``f(a=1, b=2)`` and ``f(b=2, a=1)``
    154154
    differ in their keyword argument order and may have two separate cache
    155155
    entries.
    156156

    @@ -197,7 +197,7 @@ The :mod:`functools` module defines the following functions:
    197197
    The cache keeps references to the arguments and return values until they age
    198198
    out of the cache or until the cache is cleared.
    199199

    200-
    If a method is cached, the `self` instance argument is included in the
    200+
    If a method is cached, the ``self`` instance argument is included in the
    201201
    cache. See :ref:`faq-cache-method-calls`
    202202

    203203
    An `LRU (least recently used) cache

    Doc/library/hashlib.rst

    Lines changed: 1 addition & 1 deletion
    Original file line numberDiff line numberDiff line change
    @@ -426,7 +426,7 @@ Constructor functions also accept the following tree hashing parameters:
    426426
    BLAKE2s, 0 in sequential mode).
    427427

    428428
    * *last_node*: boolean indicating whether the processed node is the last
    429-
    one (`False` for sequential mode).
    429+
    one (``False`` for sequential mode).
    430430

    431431
    .. figure:: hashlib-blake2-tree.png
    432432
    :alt: Explanation of tree mode parameters.

    0 commit comments

    Comments
     (0)
    0