[Python-checkins] [3.12] gh-101100: Sphinx warnings: pick the low hanging fruits (GH-107386) (GH-107419)

serhiy-storchaka webhook-mailer at python.org
Sat Jul 29 02:16:31 EDT 2023


https://github.com/python/cpython/commit/d514e1439f396d984f4f886e19c47f56e565a7d1
commit: d514e1439f396d984f4f886e19c47f56e565a7d1
branch: 3.12
author: Serhiy Storchaka <storchaka at gmail.com>
committer: serhiy-storchaka <storchaka at gmail.com>
date: 2023-07-29T09:16:27+03:00
summary:

[3.12] gh-101100: Sphinx warnings: pick the low hanging fruits (GH-107386) (GH-107419)

(cherry picked from commit f2d07d3289947d10b065b2bb7670c8fb6b6582f2)

files:
M Doc/c-api/bool.rst
M Doc/faq/extending.rst
M Doc/howto/curses.rst
M Doc/install/index.rst
M Doc/library/asyncio-extending.rst
M Doc/library/asyncio-future.rst
M Doc/library/bz2.rst
M Doc/library/code.rst
M Doc/library/concurrent.rst
M Doc/library/curses.rst
M Doc/library/email.charset.rst
M Doc/library/email.encoders.rst
M Doc/library/email.generator.rst
M Doc/library/email.message.rst
M Doc/library/email.parser.rst
M Doc/library/filecmp.rst
M Doc/library/fileinput.rst
M Doc/library/graphlib.rst
M Doc/library/gzip.rst
M Doc/library/hashlib.rst
M Doc/library/importlib.resources.abc.rst
M Doc/library/json.rst
M Doc/library/logging.rst
M Doc/library/lzma.rst
M Doc/library/msvcrt.rst
M Doc/library/netrc.rst
M Doc/library/operator.rst
M Doc/library/poplib.rst
M Doc/library/pprint.rst
M Doc/library/pty.rst
M Doc/library/sched.rst
M Doc/library/selectors.rst
M Doc/library/shutil.rst
M Doc/library/stat.rst
M Doc/library/stdtypes.rst
M Doc/library/sysconfig.rst
M Doc/library/textwrap.rst
M Doc/library/urllib.error.rst
M Doc/library/winreg.rst
M Doc/library/winsound.rst
M Doc/library/xml.rst
M Doc/library/xml.sax.handler.rst
M Doc/library/xml.sax.utils.rst
M Doc/library/xmlrpc.rst
M Doc/reference/datamodel.rst
M Doc/reference/expressions.rst
M Doc/reference/lexical_analysis.rst
M Doc/tools/.nitignore
M Doc/tutorial/errors.rst
M Doc/tutorial/interactive.rst
M Doc/whatsnew/3.0.rst
M Misc/NEWS.d/3.11.0a6.rst

diff --git a/Doc/c-api/bool.rst b/Doc/c-api/bool.rst
index b2d8f2124fc20..b14fa6a0a982e 100644
--- a/Doc/c-api/bool.rst
+++ b/Doc/c-api/bool.rst
@@ -11,6 +11,12 @@ creation and deletion functions don't apply to booleans.  The following macros
 are available, however.
 
 
+.. c:var:: PyTypeObject PyBool_Type
+
+   This instance of :c:type:`PyTypeObject` represents the Python boolean type; it
+   is the same object as :class:`bool` in the Python layer.
+
+
 .. c:function:: int PyBool_Check(PyObject *o)
 
    Return true if *o* is of type :c:data:`PyBool_Type`.  This function always
diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst
index bc3080f60ee23..2a8b976925d04 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -81,13 +81,13 @@ How do I extract C values from a Python object?
 
 That depends on the object's type.  If it's a tuple, :c:func:`PyTuple_Size`
 returns its length and :c:func:`PyTuple_GetItem` returns the item at a specified
-index.  Lists have similar functions, :c:func:`PyListSize` and
+index.  Lists have similar functions, :c:func:`PyList_Size` and
 :c:func:`PyList_GetItem`.
 
 For bytes, :c:func:`PyBytes_Size` returns its length and
 :c:func:`PyBytes_AsStringAndSize` provides a pointer to its value and its
 length.  Note that Python bytes objects may contain null bytes so C's
-:c:func:`strlen` should not be used.
+:c:func:`!strlen` should not be used.
 
 To test the type of an object, first make sure it isn't ``NULL``, and then use
 :c:func:`PyBytes_Check`, :c:func:`PyTuple_Check`, :c:func:`PyList_Check`, etc.
diff --git a/Doc/howto/curses.rst b/Doc/howto/curses.rst
index a3068d86d85bc..4828e2fa29bd2 100644
--- a/Doc/howto/curses.rst
+++ b/Doc/howto/curses.rst
@@ -527,7 +527,7 @@ If you're in doubt about the detailed behavior of the curses
 functions, consult the manual pages for your curses implementation,
 whether it's ncurses or a proprietary Unix vendor's.  The manual pages
 will document any quirks, and provide complete lists of all the
-functions, attributes, and :const:`ACS_\*` characters available to
+functions, attributes, and :ref:`ACS_\* <curses-acs-codes>` characters available to
 you.
 
 Because the curses API is so large, some functions aren't supported in
diff --git a/Doc/install/index.rst b/Doc/install/index.rst
index 443c75b7684fb..ffb4a202fe89f 100644
--- a/Doc/install/index.rst
+++ b/Doc/install/index.rst
@@ -778,7 +778,7 @@ Notes:
 
 (2)
    On Unix, if the :envvar:`HOME` environment variable is not defined, the user's
-   home directory will be determined with the :func:`getpwuid` function from the
+   home directory will be determined with the :func:`~pwd.getpwuid` function from the
    standard :mod:`pwd` module. This is done by the :func:`os.path.expanduser`
    function used by Distutils.
 
diff --git a/Doc/library/asyncio-extending.rst b/Doc/library/asyncio-extending.rst
index 8ffd356f2d1cc..e7b293f484f8d 100644
--- a/Doc/library/asyncio-extending.rst
+++ b/Doc/library/asyncio-extending.rst
@@ -69,7 +69,7 @@ Task lifetime support
 =====================
 
 A third party task implementation should call the following functions to keep a task
-visible by :func:`asyncio.get_tasks` and :func:`asyncio.current_task`:
+visible by :func:`asyncio.all_tasks` and :func:`asyncio.current_task`:
 
 .. function:: _register_task(task)
 
diff --git a/Doc/library/asyncio-future.rst b/Doc/library/asyncio-future.rst
index 70cec9b2f9024..893ae5518f757 100644
--- a/Doc/library/asyncio-future.rst
+++ b/Doc/library/asyncio-future.rst
@@ -276,4 +276,4 @@ the Future has a result::
      :func:`concurrent.futures.as_completed` functions.
 
    - :meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument,
-     but :func:`concurrent.futures.cancel` does not.
+     but :meth:`concurrent.futures.Future.cancel` does not.
diff --git a/Doc/library/bz2.rst b/Doc/library/bz2.rst
index 32df99869eb53..ec4aeaa04395a 100644
--- a/Doc/library/bz2.rst
+++ b/Doc/library/bz2.rst
@@ -87,7 +87,8 @@ The :mod:`bz2` module contains:
    compressed streams.
 
    :class:`BZ2File` provides all of the members specified by the
-   :class:`io.BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`.
+   :class:`io.BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach`
+   and :meth:`~io.IOBase.truncate`.
    Iteration and the :keyword:`with` statement are supported.
 
    :class:`BZ2File` also provides the following method:
diff --git a/Doc/library/code.rst b/Doc/library/code.rst
index 538e5afc7822a..3d7f43c86a055 100644
--- a/Doc/library/code.rst
+++ b/Doc/library/code.rst
@@ -163,12 +163,12 @@ interpreter objects as well as the following additions.
 
    Push a line of source text to the interpreter. The line should not have a
    trailing newline; it may have internal newlines.  The line is appended to a
-   buffer and the interpreter's :meth:`runsource` method is called with the
+   buffer and the interpreter's :meth:`~InteractiveInterpreter.runsource` method is called with the
    concatenated contents of the buffer as source.  If this indicates that the
    command was executed or invalid, the buffer is reset; otherwise, the command is
    incomplete, and the buffer is left as it was after the line was appended.  The
    return value is ``True`` if more input is required, ``False`` if the line was
-   dealt with in some way (this is the same as :meth:`runsource`).
+   dealt with in some way (this is the same as :meth:`!runsource`).
 
 
 .. method:: InteractiveConsole.resetbuffer()
diff --git a/Doc/library/concurrent.rst b/Doc/library/concurrent.rst
index 2eba536512580..8caea78bbb57e 100644
--- a/Doc/library/concurrent.rst
+++ b/Doc/library/concurrent.rst
@@ -1,5 +1,5 @@
-The :mod:`concurrent` package
-=============================
+The :mod:`!concurrent` package
+==============================
 
 Currently, there is only one module in this package:
 
diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst
index 391c81a844d3e..9ab67c2197539 100644
--- a/Doc/library/curses.rst
+++ b/Doc/library/curses.rst
@@ -1648,6 +1648,8 @@ keys); also, the following keypad mappings are standard:
 | :kbd:`Page Down` | KEY_NPAGE |
 +------------------+-----------+
 
+.. _curses-acs-codes:
+
 The following table lists characters from the alternate character set. These are
 inherited from the VT100 terminal, and will generally be  available on software
 emulations such as X terminals.  When there is no graphic available, curses
diff --git a/Doc/library/email.charset.rst b/Doc/library/email.charset.rst
index adbe6c1c7d29b..aa0134412f3a6 100644
--- a/Doc/library/email.charset.rst
+++ b/Doc/library/email.charset.rst
@@ -150,7 +150,7 @@ Import this class from the :mod:`email.charset` module.
    .. method:: __str__()
 
       Returns *input_charset* as a string coerced to lower
-      case. :meth:`__repr__` is an alias for :meth:`__str__`.
+      case. :meth:`!__repr__` is an alias for :meth:`!__str__`.
 
 
    .. method:: __eq__(other)
diff --git a/Doc/library/email.encoders.rst b/Doc/library/email.encoders.rst
index 5d68b104f3a45..3bd377e33f6c1 100644
--- a/Doc/library/email.encoders.rst
+++ b/Doc/library/email.encoders.rst
@@ -25,7 +25,7 @@ is especially true for :mimetype:`image/\*` and :mimetype:`text/\*` type message
 containing binary data.
 
 The :mod:`email` package provides some convenient encoders in its
-:mod:`encoders` module.  These encoders are actually used by the
+:mod:`~email.encoders` module.  These encoders are actually used by the
 :class:`~email.mime.audio.MIMEAudio` and :class:`~email.mime.image.MIMEImage`
 class constructors to provide default encodings.  All encoder functions take
 exactly one argument, the message object to encode.  They usually extract the
diff --git a/Doc/library/email.generator.rst b/Doc/library/email.generator.rst
index 34ad7b7f200af..91d9d69a63d73 100644
--- a/Doc/library/email.generator.rst
+++ b/Doc/library/email.generator.rst
@@ -274,9 +274,9 @@ in with information about the part.
 .. rubric:: Footnotes
 
 .. [#] This statement assumes that you use the appropriate setting for
-       ``unixfrom``, and that there are no :mod:`policy` settings calling for
+       ``unixfrom``, and that there are no :mod:`email.policy` settings calling for
        automatic adjustments (for example,
-       :attr:`~email.policy.Policy.refold_source` must be ``none``, which is
+       :attr:`~email.policy.EmailPolicy.refold_source` must be ``none``, which is
        *not* the default).  It is also not 100% true, since if the message
        does not conform to the RFC standards occasionally information about the
        exact original text is lost during parsing error recovery.  It is a goal
diff --git a/Doc/library/email.message.rst b/Doc/library/email.message.rst
index 5e0509f418119..225f498781fa8 100644
--- a/Doc/library/email.message.rst
+++ b/Doc/library/email.message.rst
@@ -67,7 +67,7 @@ message objects.
       with the base :class:`~email.message.Message` class *maxheaderlen* is
       accepted, but defaults to ``None``, which means that by default the line
       length is controlled by the
-      :attr:`~email.policy.EmailPolicy.max_line_length` of the policy.  The
+      :attr:`~email.policy.Policy.max_line_length` of the policy.  The
       *policy* argument may be used to override the default policy obtained
       from the message instance.  This can be used to control some of the
       formatting produced by the method, since the specified *policy* will be
@@ -213,7 +213,7 @@ message objects.
          del msg['subject']
          msg['subject'] = 'Python roolz!'
 
-      If the :mod:`policy` defines certain headers to be unique (as the standard
+      If the :mod:`policy <email.policy>` defines certain headers to be unique (as the standard
       policies do), this method may raise a :exc:`ValueError` when an attempt
       is made to assign a value to such a header when one already exists.  This
       behavior is intentional for consistency's sake, but do not depend on it
@@ -378,7 +378,7 @@ message objects.
       deprecated.
 
       Note that existing parameter values of headers may be accessed through
-      the :attr:`~email.headerregistry.BaseHeader.params` attribute of the
+      the :attr:`~email.headerregistry.ParameterizedMIMEHeader.params` attribute of the
       header value (for example, ``msg['Content-Type'].params['charset']``).
 
       .. versionchanged:: 3.4 ``replace`` keyword was added.
@@ -691,7 +691,7 @@ message objects.
 
    .. method:: clear_content()
 
-      Remove the payload and all of the :exc:`Content-` headers, leaving
+      Remove the payload and all of the :mailheader:`!Content-` headers, leaving
       all other headers intact and in their original order.
 
 
diff --git a/Doc/library/email.parser.rst b/Doc/library/email.parser.rst
index d9a61616bbbdf..dda0466a6afa7 100644
--- a/Doc/library/email.parser.rst
+++ b/Doc/library/email.parser.rst
@@ -39,9 +39,9 @@ returns the root object when you close the parser.
 Note that the parser can be extended in limited ways, and of course you can
 implement your own parser completely from scratch.  All of the logic that
 connects the :mod:`email` package's bundled parser and the
-:class:`~email.message.EmailMessage` class is embodied in the :mod:`policy`
+:class:`~email.message.EmailMessage` class is embodied in the :class:`~email.policy.Policy`
 class, so a custom parser can create message object trees any way it finds
-necessary by implementing custom versions of the appropriate :mod:`policy`
+necessary by implementing custom versions of the appropriate :class:`!Policy`
 methods.
 
 
diff --git a/Doc/library/filecmp.rst b/Doc/library/filecmp.rst
index 0efb4897a1eb8..dfe4b7c59fd57 100644
--- a/Doc/library/filecmp.rst
+++ b/Doc/library/filecmp.rst
@@ -100,7 +100,7 @@ The :class:`dircmp` class
    used to get various bits of information about the directory trees being
    compared.
 
-   Note that via :meth:`__getattr__` hooks, all attributes are computed lazily,
+   Note that via :meth:`~object.__getattr__` hooks, all attributes are computed lazily,
    so there is no speed penalty if only those attributes which are lightweight
    to compute are used.
 
diff --git a/Doc/library/fileinput.rst b/Doc/library/fileinput.rst
index 4bc868759f202..f93e9a58791ee 100644
--- a/Doc/library/fileinput.rst
+++ b/Doc/library/fileinput.rst
@@ -177,7 +177,7 @@ available for subclassing as well:
       The keyword-only parameter *encoding* and *errors* are added.
 
    .. versionchanged:: 3.11
-      The ``'rU'`` and ``'U'`` modes and the :meth:`__getitem__` method have
+      The ``'rU'`` and ``'U'`` modes and the :meth:`!__getitem__` method have
       been removed.
 
 
diff --git a/Doc/library/graphlib.rst b/Doc/library/graphlib.rst
index fe7932e7a61cb..fdd8f39ef4e1c 100644
--- a/Doc/library/graphlib.rst
+++ b/Doc/library/graphlib.rst
@@ -115,7 +115,7 @@
       :meth:`TopologicalSorter.done` is less than the number that have been
       returned by :meth:`TopologicalSorter.get_ready`.
 
-      The :meth:`~TopologicalSorter.__bool__` method of this class defers to
+      The :meth:`~object.__bool__` method of this class defers to
       this function, so instead of::
 
           if ts.is_active():
@@ -204,7 +204,7 @@ The :mod:`graphlib` module defines the following exception classes:
    in the working graph. If multiple cycles exist, only one undefined choice among them will
    be reported and included in the exception.
 
-   The detected cycle can be accessed via the second element in the :attr:`~CycleError.args`
+   The detected cycle can be accessed via the second element in the :attr:`~BaseException.args`
    attribute of the exception instance and consists in a list of nodes, such that each node is,
    in the graph, an immediate predecessor of the next node in the list. In the reported list,
    the first and the last node will be the same, to make it clear that it is cyclic.
diff --git a/Doc/library/gzip.rst b/Doc/library/gzip.rst
index 979b39a3a5abb..60236a1190e42 100644
--- a/Doc/library/gzip.rst
+++ b/Doc/library/gzip.rst
@@ -70,7 +70,7 @@ The module defines the following items:
 .. class:: GzipFile(filename=None, mode=None, compresslevel=9, fileobj=None, mtime=None)
 
    Constructor for the :class:`GzipFile` class, which simulates most of the
-   methods of a :term:`file object`, with the exception of the :meth:`truncate`
+   methods of a :term:`file object`, with the exception of the :meth:`~io.IOBase.truncate`
    method.  At least one of *fileobj* and *filename* must be given a non-trivial
    value.
 
@@ -113,7 +113,7 @@ The module defines the following items:
 
    :class:`GzipFile` supports the :class:`io.BufferedIOBase` interface,
    including iteration and the :keyword:`with` statement.  Only the
-   :meth:`truncate` method isn't implemented.
+   :meth:`~io.IOBase.truncate` method isn't implemented.
 
    :class:`GzipFile` also provides the following method and attribute:
 
diff --git a/Doc/library/hashlib.rst b/Doc/library/hashlib.rst
index 8102767a43d6d..69fb79b49ca2a 100644
--- a/Doc/library/hashlib.rst
+++ b/Doc/library/hashlib.rst
@@ -244,7 +244,7 @@ by the SHAKE algorithm.
 
 .. method:: shake.digest(length)
 
-   Return the digest of the data passed to the :meth:`update` method so far.
+   Return the digest of the data passed to the :meth:`~hash.update` method so far.
    This is a bytes object of size *length* which may contain bytes in
    the whole range from 0 to 255.
 
@@ -507,9 +507,9 @@ Simple hashing
 
 To calculate hash of some data, you should first construct a hash object by
 calling the appropriate constructor function (:func:`blake2b` or
-:func:`blake2s`), then update it with the data by calling :meth:`update` on the
+:func:`blake2s`), then update it with the data by calling :meth:`~hash.update` on the
 object, and, finally, get the digest out of the object by calling
-:meth:`digest` (or :meth:`hexdigest` for hex-encoded string).
+:meth:`~hash.digest` (or :meth:`~hash.hexdigest` for hex-encoded string).
 
     >>> from hashlib import blake2b
     >>> h = blake2b()
diff --git a/Doc/library/importlib.resources.abc.rst b/Doc/library/importlib.resources.abc.rst
index b0e75737137f2..65c42858bbbb7 100644
--- a/Doc/library/importlib.resources.abc.rst
+++ b/Doc/library/importlib.resources.abc.rst
@@ -145,10 +145,10 @@
 
     An abstract base class for resource readers capable of serving
     the :meth:`importlib.resources.files` interface. Subclasses
-    :class:`importlib.resources.abc.ResourceReader` and provides
-    concrete implementations of the :class:`importlib.resources.abc.ResourceReader`'s
+    :class:`ResourceReader` and provides
+    concrete implementations of the :class:`!ResourceReader`'s
     abstract methods. Therefore, any loader supplying
-    :class:`importlib.abc.TraversableResources` also supplies ResourceReader.
+    :class:`!TraversableResources` also supplies :class:`!ResourceReader`.
 
     Loaders that wish to support resource reading are expected to
     implement this interface.
diff --git a/Doc/library/json.rst b/Doc/library/json.rst
index 35a08995487c1..6c3059381776c 100644
--- a/Doc/library/json.rst
+++ b/Doc/library/json.rst
@@ -192,7 +192,7 @@ Basic Usage
    dictionaries will be sorted by key.
 
    To use a custom :class:`JSONEncoder` subclass (e.g. one that overrides the
-   :meth:`default` method to serialize additional types), specify it with the
+   :meth:`~JSONEncoder.default` method to serialize additional types), specify it with the
    *cls* kwarg; otherwise :class:`JSONEncoder` is used.
 
    .. versionchanged:: 3.6
@@ -422,7 +422,7 @@ Encoders and Decoders
       Added support for int- and float-derived Enum classes.
 
    To extend this to recognize other objects, subclass and implement a
-   :meth:`default` method with another method that returns a serializable object
+   :meth:`~JSONEncoder.default` method with another method that returns a serializable object
    for ``o`` if possible, otherwise it should call the superclass implementation
    (to raise :exc:`TypeError`).
 
@@ -483,7 +483,7 @@ Encoders and Decoders
       :exc:`TypeError`).
 
       For example, to support arbitrary iterators, you could implement
-      :meth:`default` like this::
+      :meth:`~JSONEncoder.default` like this::
 
          def default(self, o):
             try:
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 22412e1a2113b..70a9c8b9aa86e 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -397,21 +397,21 @@ have specific values relative to the predefined levels. If you define a level
 with the same numeric value, it overwrites the predefined value; the predefined
 name is lost.
 
-+--------------+---------------+
-| Level        | Numeric value |
-+==============+===============+
-| ``CRITICAL`` | 50            |
-+--------------+---------------+
-| ``ERROR``    | 40            |
-+--------------+---------------+
-| ``WARNING``  | 30            |
-+--------------+---------------+
-| ``INFO``     | 20            |
-+--------------+---------------+
-| ``DEBUG``    | 10            |
-+--------------+---------------+
-| ``NOTSET``   | 0             |
-+--------------+---------------+
++-----------------------+---------------+
+| Level                 | Numeric value |
++=======================+===============+
+| .. py:data:: CRITICAL | 50            |
++-----------------------+---------------+
+| .. py:data:: ERROR    | 40            |
++-----------------------+---------------+
+| .. py:data:: WARNING  | 30            |
++-----------------------+---------------+
+| .. py:data:: INFO     | 20            |
++-----------------------+---------------+
+| .. py:data:: DEBUG    | 10            |
++-----------------------+---------------+
+| .. py:data:: NOTSET   | 0             |
++-----------------------+---------------+
 
 
 .. _handler:
diff --git a/Doc/library/lzma.rst b/Doc/library/lzma.rst
index 868d4dcfb6c99..434e7ac906118 100644
--- a/Doc/library/lzma.rst
+++ b/Doc/library/lzma.rst
@@ -100,7 +100,8 @@ Reading and writing compressed files
    *filters* arguments have the same meanings as for :class:`LZMACompressor`.
 
    :class:`LZMAFile` supports all the members specified by
-   :class:`io.BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`.
+   :class:`io.BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach`
+   and :meth:`~io.IOBase.truncate`.
    Iteration and the :keyword:`with` statement are supported.
 
    The following method is also provided:
diff --git a/Doc/library/msvcrt.rst b/Doc/library/msvcrt.rst
index 42fffee6a0f44..32693e3d007c0 100644
--- a/Doc/library/msvcrt.rst
+++ b/Doc/library/msvcrt.rst
@@ -38,7 +38,7 @@ File Operations
    Lock part of a file based on file descriptor *fd* from the C runtime.  Raises
    :exc:`OSError` on failure.  The locked region of the file extends from the
    current file position for *nbytes* bytes, and may continue beyond the end of the
-   file.  *mode* must be one of the :const:`LK_\*` constants listed below. Multiple
+   file.  *mode* must be one of the :const:`!LK_\*` constants listed below. Multiple
    regions in a file may be locked at the same time, but may not overlap.  Adjacent
    regions are not merged; they must be unlocked individually.
 
diff --git a/Doc/library/netrc.rst b/Doc/library/netrc.rst
index 88265d9b9e9e9..c36e5cfecfc6a 100644
--- a/Doc/library/netrc.rst
+++ b/Doc/library/netrc.rst
@@ -51,9 +51,19 @@ the Unix :program:`ftp` program and other FTP clients.
 
    Exception raised by the :class:`~netrc.netrc` class when syntactical errors are
    encountered in source text.  Instances of this exception provide three
-   interesting attributes:  :attr:`msg` is a textual explanation of the error,
-   :attr:`filename` is the name of the source file, and :attr:`lineno` gives the
-   line number on which the error was found.
+   interesting attributes:
+
+   .. attribute:: msg
+
+      Textual explanation of the error.
+
+   .. attribute:: filename
+
+      The name of the source file.
+
+   .. attribute:: lineno
+
+      The line number on which the error was found.
 
 
 .. _netrc-objects:
diff --git a/Doc/library/operator.rst b/Doc/library/operator.rst
index dab4de9eb6abb..57c67bcf3aa12 100644
--- a/Doc/library/operator.rst
+++ b/Doc/library/operator.rst
@@ -59,9 +59,9 @@ truth tests, identity tests, and boolean operations:
               __not__(obj)
 
    Return the outcome of :keyword:`not` *obj*.  (Note that there is no
-   :meth:`__not__` method for object instances; only the interpreter core defines
-   this operation.  The result is affected by the :meth:`__bool__` and
-   :meth:`__len__` methods.)
+   :meth:`!__not__` method for object instances; only the interpreter core defines
+   this operation.  The result is affected by the :meth:`~object.__bool__` and
+   :meth:`~object.__len__` methods.)
 
 
 .. function:: truth(obj)
diff --git a/Doc/library/poplib.rst b/Doc/library/poplib.rst
index fbd5e150b4cd5..943eb21f6eec0 100644
--- a/Doc/library/poplib.rst
+++ b/Doc/library/poplib.rst
@@ -148,7 +148,7 @@ A :class:`POP3` instance has the following methods:
 .. method:: POP3.pass_(password)
 
    Send password, response includes message count and mailbox size. Note: the
-   mailbox on the server is locked until :meth:`~poplib.quit` is called.
+   mailbox on the server is locked until :meth:`~POP3.quit` is called.
 
 
 .. method:: POP3.apop(user, secret)
diff --git a/Doc/library/pprint.rst b/Doc/library/pprint.rst
index d8269ef48cb36..e883acd67d6c7 100644
--- a/Doc/library/pprint.rst
+++ b/Doc/library/pprint.rst
@@ -45,7 +45,7 @@ The :mod:`pprint` module defines one class:
    several keyword parameters.
 
    *stream* (default ``sys.stdout``) is a :term:`file-like object` to
-   which the output will be written by calling its :meth:`write` method.
+   which the output will be written by calling its :meth:`!write` method.
    If both *stream* and ``sys.stdout`` are ``None``, then
    :meth:`~PrettyPrinter.pprint` silently returns.
 
diff --git a/Doc/library/pty.rst b/Doc/library/pty.rst
index 7f4da41e93802..ad4981c97119f 100644
--- a/Doc/library/pty.rst
+++ b/Doc/library/pty.rst
@@ -71,7 +71,7 @@ The :mod:`pty` module defines the following functions:
 
    Return the exit status value from :func:`os.waitpid` on the child process.
 
-   :func:`waitstatus_to_exitcode` can be used to convert the exit status into
+   :func:`os.waitstatus_to_exitcode` can be used to convert the exit status into
    an exit code.
 
    .. audit-event:: pty.spawn argv pty.spawn
diff --git a/Doc/library/sched.rst b/Doc/library/sched.rst
index 04215d31ba10c..01bac5afd0b9b 100644
--- a/Doc/library/sched.rst
+++ b/Doc/library/sched.rst
@@ -115,7 +115,7 @@ Scheduler Objects
 
 .. method:: scheduler.run(blocking=True)
 
-   Run all scheduled events. This method will wait  (using the :func:`delayfunc`
+   Run all scheduled events. This method will wait  (using the *delayfunc*
    function passed to the constructor) for the next event, then execute it and so
    on until there are no more scheduled events.
 
diff --git a/Doc/library/selectors.rst b/Doc/library/selectors.rst
index 0deb15cf4c503..dd50bac37e49b 100644
--- a/Doc/library/selectors.rst
+++ b/Doc/library/selectors.rst
@@ -60,9 +60,9 @@ constants below:
    +-----------------------+-----------------------------------------------+
    | Constant              | Meaning                                       |
    +=======================+===============================================+
-   | :const:`EVENT_READ`   | Available for read                            |
+   | .. data:: EVENT_READ  | Available for read                            |
    +-----------------------+-----------------------------------------------+
-   | :const:`EVENT_WRITE`  | Available for write                           |
+   | .. data:: EVENT_WRITE | Available for write                           |
    +-----------------------+-----------------------------------------------+
 
 
@@ -132,8 +132,8 @@ constants below:
 
       Change a registered file object's monitored events or attached data.
 
-      This is equivalent to :meth:`BaseSelector.unregister(fileobj)` followed
-      by :meth:`BaseSelector.register(fileobj, events, data)`, except that it
+      This is equivalent to ``BaseSelector.unregister(fileobj)`` followed
+      by ``BaseSelector.register(fileobj, events, data)``, except that it
       can be implemented more efficiently.
 
       This returns a new :class:`SelectorKey` instance, or raises a
diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst
index 7699d22a72aaf..4390a8e22306f 100644
--- a/Doc/library/shutil.rst
+++ b/Doc/library/shutil.rst
@@ -369,7 +369,7 @@ Directory and files operations
    If *copy_function* is given, it must be a callable that takes two arguments
    *src* and *dst*, and will be used to copy *src* to *dst* if
    :func:`os.rename` cannot be used.  If the source is a directory,
-   :func:`copytree` is called, passing it the :func:`copy_function`. The
+   :func:`copytree` is called, passing it the *copy_function*. The
    default *copy_function* is :func:`copy2`.  Using :func:`~shutil.copy` as the
    *copy_function* allows the move to succeed when it is not possible to also
    copy the metadata, at the expense of not copying any of the metadata.
diff --git a/Doc/library/stat.rst b/Doc/library/stat.rst
index 083dc5e3bcfd6..77538514598a5 100644
--- a/Doc/library/stat.rst
+++ b/Doc/library/stat.rst
@@ -13,8 +13,8 @@
 
 The :mod:`stat` module defines constants and functions for interpreting the
 results of :func:`os.stat`, :func:`os.fstat` and :func:`os.lstat` (if they
-exist).  For complete details about the :c:func:`stat`, :c:func:`fstat` and
-:c:func:`lstat` calls, consult the documentation for your system.
+exist).  For complete details about the :c:func:`stat`, :c:func:`!fstat` and
+:c:func:`!lstat` calls, consult the documentation for your system.
 
 .. versionchanged:: 3.4
    The stat module is backed by a C implementation.
@@ -89,9 +89,9 @@ mode:
 .. function:: S_IFMT(mode)
 
    Return the portion of the file's mode that describes the file type (used by the
-   :func:`S_IS\*` functions above).
+   :func:`!S_IS\*` functions above).
 
-Normally, you would use the :func:`os.path.is\*` functions for testing the type
+Normally, you would use the :func:`!os.path.is\*` functions for testing the type
 of a file; the functions here are useful when you are doing multiple tests of
 the same file and wish to avoid the overhead of the :c:func:`stat` system call
 for each test.  These are also useful when checking for information about a file
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index d0233e3f35394..804342386abd7 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -44,7 +44,7 @@ Any object can be tested for truth value, for use in an :keyword:`if` or
 .. index:: single: true
 
 By default, an object is considered true unless its class defines either a
-:meth:`__bool__` method that returns ``False`` or a :meth:`__len__` method that
+:meth:`~object.__bool__` method that returns ``False`` or a :meth:`__len__` method that
 returns zero, when called with the object. [1]_  Here are most of the built-in
 objects considered false:
 
diff --git a/Doc/library/sysconfig.rst b/Doc/library/sysconfig.rst
index 839c2c015b49a..c805c50ffc689 100644
--- a/Doc/library/sysconfig.rst
+++ b/Doc/library/sysconfig.rst
@@ -69,7 +69,7 @@ Python uses an installation scheme that differs depending on the platform and on
 the installation options.  These schemes are stored in :mod:`sysconfig` under
 unique identifiers based on the value returned by :const:`os.name`.
 
-Every new component that is installed using :mod:`distutils` or a
+Every new component that is installed using :mod:`!distutils` or a
 Distutils-based system will follow the same scheme to copy its file in the right
 places.
 
diff --git a/Doc/library/textwrap.rst b/Doc/library/textwrap.rst
index 1a9d5f98f78a7..a150eefbf932e 100644
--- a/Doc/library/textwrap.rst
+++ b/Doc/library/textwrap.rst
@@ -60,7 +60,7 @@ functions should be good enough; otherwise, you should use an instance of
    First the whitespace in *text* is collapsed (all whitespace is replaced by
    single spaces).  If the result fits in the *width*, it is returned.
    Otherwise, enough words are dropped from the end so that the remaining words
-   plus the :attr:`placeholder` fit within :attr:`width`::
+   plus the :attr:`.placeholder` fit within :attr:`.width`::
 
       >>> textwrap.shorten("Hello  world!", width=12)
       'Hello world!'
@@ -173,7 +173,7 @@ hyphenated words; only then will long words be broken if necessary, unless
    .. attribute:: expand_tabs
 
       (default: ``True``) If true, then all tab characters in *text* will be
-      expanded to spaces using the :meth:`expandtabs` method of *text*.
+      expanded to spaces using the :meth:`~str.expandtabs` method of *text*.
 
 
    .. attribute:: tabsize
diff --git a/Doc/library/urllib.error.rst b/Doc/library/urllib.error.rst
index 3adbdd2613227..a5bcb5b1e643b 100644
--- a/Doc/library/urllib.error.rst
+++ b/Doc/library/urllib.error.rst
@@ -72,6 +72,8 @@ The following exceptions are raised by :mod:`urllib.error` as appropriate:
    This exception is raised when the :func:`~urllib.request.urlretrieve`
    function detects that
    the amount of the downloaded data is less than the expected amount (given by
-   the *Content-Length* header).  The :attr:`content` attribute stores the
-   downloaded (and supposedly truncated) data.
+   the *Content-Length* header).
 
+   .. attribute:: content
+
+      The downloaded (and supposedly truncated) data.
diff --git a/Doc/library/winreg.rst b/Doc/library/winreg.rst
index 4ab671817710d..06bd4d87eb03c 100644
--- a/Doc/library/winreg.rst
+++ b/Doc/library/winreg.rst
@@ -288,7 +288,7 @@ This module offers the following functions:
    table (FAT) file system, the filename may not have an extension.
 
    A call to :func:`LoadKey` fails if the calling process does not have the
-   :const:`SE_RESTORE_PRIVILEGE` privilege.  Note that privileges are different
+   :c:data:`!SE_RESTORE_PRIVILEGE` privilege.  Note that privileges are different
    from permissions -- see the `RegLoadKey documentation
    <https://msdn.microsoft.com/en-us/library/ms724889%28v=VS.85%29.aspx>`__ for
    more details.
@@ -414,7 +414,7 @@ This module offers the following functions:
 
    If *key* represents a key on a remote computer, the path described by
    *file_name* is relative to the remote computer. The caller of this method must
-   possess the :const:`SeBackupPrivilege` security privilege.  Note that
+   possess the **SeBackupPrivilege** security privilege.  Note that
    privileges are different than permissions -- see the
    `Conflicts Between User Rights and Permissions documentation
    <https://msdn.microsoft.com/en-us/library/ms724878%28v=VS.85%29.aspx>`__
@@ -536,7 +536,7 @@ This module offers the following functions:
 Constants
 ------------------
 
-The following constants are defined for use in many :mod:`_winreg` functions.
+The following constants are defined for use in many :mod:`winreg` functions.
 
 .. _hkey-constants:
 
@@ -745,7 +745,7 @@ All registry functions in this module return one of these objects.
 All registry functions in this module which accept a handle object also accept
 an integer, however, use of the handle object is encouraged.
 
-Handle objects provide semantics for :meth:`__bool__` -- thus ::
+Handle objects provide semantics for :meth:`~object.__bool__` -- thus ::
 
    if handle:
        print("Yes")
diff --git a/Doc/library/winsound.rst b/Doc/library/winsound.rst
index 372f792a0f938..370c5216652ba 100644
--- a/Doc/library/winsound.rst
+++ b/Doc/library/winsound.rst
@@ -24,7 +24,7 @@ provided by Windows platforms.  It includes functions and several constants.
 
 .. function:: PlaySound(sound, flags)
 
-   Call the underlying :c:func:`PlaySound` function from the Platform API.  The
+   Call the underlying :c:func:`!PlaySound` function from the Platform API.  The
    *sound* parameter may be a filename, a system sound alias, audio data as a
    :term:`bytes-like object`, or ``None``.  Its
    interpretation depends on the value of *flags*, which can be a bitwise ORed
@@ -35,7 +35,7 @@ provided by Windows platforms.  It includes functions and several constants.
 
 .. function:: MessageBeep(type=MB_OK)
 
-   Call the underlying :c:func:`MessageBeep` function from the Platform API.  This
+   Call the underlying :c:func:`!MessageBeep` function from the Platform API.  This
    plays a sound as specified in the registry.  The *type* argument specifies which
    sound to play; possible values are ``-1``, ``MB_ICONASTERISK``,
    ``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, ``MB_ICONQUESTION``, and ``MB_OK``, all
diff --git a/Doc/library/xml.rst b/Doc/library/xml.rst
index cf30de67719b9..1e49b6568dfc2 100644
--- a/Doc/library/xml.rst
+++ b/Doc/library/xml.rst
@@ -75,10 +75,10 @@ decompression bomb         Safe                Safe                Safe
    potential reliance on system-provided libraries. Check
    :const:`pyexpat.EXPAT_VERSION`.
 2. :mod:`xml.etree.ElementTree` doesn't expand external entities and raises a
-   :exc:`ParserError` when an entity occurs.
+   :exc:`~xml.etree.ElementTree.ParseError` when an entity occurs.
 3. :mod:`xml.dom.minidom` doesn't expand external entities and simply returns
    the unexpanded entity verbatim.
-4. :mod:`xmlrpclib` doesn't expand external entities and omits them.
+4. :mod:`xmlrpc.client` doesn't expand external entities and omits them.
 5. Since Python 3.7.1, external general entities are no longer processed by
    default.
 
@@ -119,8 +119,8 @@ all known attack vectors with examples and references.
 
 .. _defusedxml-package:
 
-The :mod:`defusedxml` Package
-------------------------------------------------------
+The :mod:`!defusedxml` Package
+------------------------------
 
 `defusedxml`_ is a pure Python package with modified subclasses of all stdlib
 XML parsers that prevent any potentially malicious operation. Use of this
diff --git a/Doc/library/xml.sax.handler.rst b/Doc/library/xml.sax.handler.rst
index 719ce5ab1bcf6..e2f28e3244cb0 100644
--- a/Doc/library/xml.sax.handler.rst
+++ b/Doc/library/xml.sax.handler.rst
@@ -393,7 +393,7 @@ implements this interface, then register the object with your
 :class:`~xml.sax.xmlreader.XMLReader`, the parser
 will call the methods in your object to report all warnings and errors. There
 are three levels of errors available: warnings, (possibly) recoverable errors,
-and unrecoverable errors.  All methods take a :exc:`SAXParseException` as the
+and unrecoverable errors.  All methods take a :exc:`~xml.sax.SAXParseException` as the
 only parameter.  Errors and warnings may be converted to an exception by raising
 the passed-in exception object.
 
diff --git a/Doc/library/xml.sax.utils.rst b/Doc/library/xml.sax.utils.rst
index ab4606bcf9fe6..e57e76dcac782 100644
--- a/Doc/library/xml.sax.utils.rst
+++ b/Doc/library/xml.sax.utils.rst
@@ -92,5 +92,5 @@ or as base classes.
    reading.  The input source can be given as a string, a file-like object, or
    an :class:`~xml.sax.xmlreader.InputSource` object; parsers will use this
    function to implement the polymorphic *source* argument to their
-   :meth:`parse` method.
+   :meth:`~xml.sax.xmlreader.XMLReader.parse` method.
 
diff --git a/Doc/library/xmlrpc.rst b/Doc/library/xmlrpc.rst
index ae68157b0f63c..5f0a2cf68d01f 100644
--- a/Doc/library/xmlrpc.rst
+++ b/Doc/library/xmlrpc.rst
@@ -1,5 +1,5 @@
-:mod:`xmlrpc` --- XMLRPC server and client modules
-==================================================
+:mod:`!xmlrpc` --- XMLRPC server and client modules
+===================================================
 
 XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a
 transport.  With it, a client can call methods with parameters on a remote
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index ce36bff89424c..4bc49a5a83d7a 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1594,9 +1594,9 @@ Basic customization
 
    Called to implement truth value testing and the built-in operation
    ``bool()``; should return ``False`` or ``True``.  When this method is not
-   defined, :meth:`__len__` is called, if it is defined, and the object is
+   defined, :meth:`~object.__len__` is called, if it is defined, and the object is
    considered true if its result is nonzero.  If a class defines neither
-   :meth:`__len__` nor :meth:`__bool__`, all its instances are considered
+   :meth:`!__len__` nor :meth:`!__bool__`, all its instances are considered
    true.
 
 
@@ -2494,7 +2494,7 @@ through the object's keys; for sequences, it should iterate through the values.
 
    Called to implement the built-in function :func:`len`.  Should return the length
    of the object, an integer ``>=`` 0.  Also, an object that doesn't define a
-   :meth:`__bool__` method and whose :meth:`__len__` method returns zero is
+   :meth:`~object.__bool__` method and whose :meth:`!__len__` method returns zero is
    considered to be false in a Boolean context.
 
    .. impl-detail::
@@ -2503,7 +2503,7 @@ through the object's keys; for sequences, it should iterate through the values.
       If the length is larger than :data:`!sys.maxsize` some features (such as
       :func:`len`) may raise :exc:`OverflowError`.  To prevent raising
       :exc:`!OverflowError` by truth value testing, an object must define a
-      :meth:`__bool__` method.
+      :meth:`~object.__bool__` method.
 
 
 .. method:: object.__length_hint__(self)
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
index 08dcc8095bee8..5d7a36aa8ff52 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -1717,7 +1717,7 @@ control flow statements, the following values are interpreted as false:
 ``False``, ``None``, numeric zero of all types, and empty strings and containers
 (including strings, tuples, lists, dictionaries, sets and frozensets).  All
 other values are interpreted as true.  User-defined objects can customize their
-truth value by providing a :meth:`__bool__` method.
+truth value by providing a :meth:`~object.__bool__` method.
 
 .. index:: pair: operator; not
 
diff --git a/Doc/reference/lexical_analysis.rst b/Doc/reference/lexical_analysis.rst
index dde7ba1d941dc..83cd4402a36cf 100644
--- a/Doc/reference/lexical_analysis.rst
+++ b/Doc/reference/lexical_analysis.rst
@@ -787,7 +787,7 @@ is converted before formatting.  Conversion ``'!s'`` calls :func:`str` on
 the result, ``'!r'`` calls :func:`repr`, and ``'!a'`` calls :func:`ascii`.
 
 The result is then formatted using the :func:`format` protocol.  The
-format specifier is passed to the :meth:`__format__` method of the
+format specifier is passed to the :meth:`~object.__format__` method of the
 expression or conversion result.  An empty string is passed when the
 format specifier is omitted.  The formatted result is then included in
 the final value of the whole string.
diff --git a/Doc/tools/.nitignore b/Doc/tools/.nitignore
index 899e98acec8ad..b3ef4a6373195 100644
--- a/Doc/tools/.nitignore
+++ b/Doc/tools/.nitignore
@@ -4,7 +4,6 @@
 # to help avoid merge conflicts.
 
 Doc/c-api/arg.rst
-Doc/c-api/bool.rst
 Doc/c-api/buffer.rst
 Doc/c-api/datetime.rst
 Doc/c-api/descriptor.rst
@@ -31,19 +30,16 @@ Doc/c-api/unicode.rst
 Doc/extending/extending.rst
 Doc/extending/newtypes.rst
 Doc/faq/design.rst
-Doc/faq/extending.rst
 Doc/faq/gui.rst
 Doc/faq/library.rst
 Doc/faq/programming.rst
 Doc/glossary.rst
-Doc/howto/curses.rst
 Doc/howto/descriptor.rst
 Doc/howto/enum.rst
 Doc/howto/isolating-extensions.rst
 Doc/howto/logging-cookbook.rst
 Doc/howto/logging.rst
 Doc/howto/urllib2.rst
-Doc/install/index.rst
 Doc/library/2to3.rst
 Doc/library/__future__.rst
 Doc/library/abc.rst
@@ -52,7 +48,6 @@ Doc/library/ast.rst
 Doc/library/asyncio-dev.rst
 Doc/library/asyncio-eventloop.rst
 Doc/library/asyncio-extending.rst
-Doc/library/asyncio-future.rst
 Doc/library/asyncio-policy.rst
 Doc/library/asyncio-stream.rst
 Doc/library/asyncio-subprocess.rst
@@ -66,12 +61,10 @@ Doc/library/cgi.rst
 Doc/library/chunk.rst
 Doc/library/cmath.rst
 Doc/library/cmd.rst
-Doc/library/code.rst
 Doc/library/codecs.rst
 Doc/library/collections.abc.rst
 Doc/library/collections.rst
 Doc/library/concurrent.futures.rst
-Doc/library/concurrent.rst
 Doc/library/configparser.rst
 Doc/library/contextlib.rst
 Doc/library/copy.rst
@@ -86,11 +79,8 @@ Doc/library/dis.rst
 Doc/library/doctest.rst
 Doc/library/email.charset.rst
 Doc/library/email.compat32-message.rst
-Doc/library/email.encoders.rst
 Doc/library/email.errors.rst
-Doc/library/email.generator.rst
 Doc/library/email.headerregistry.rst
-Doc/library/email.message.rst
 Doc/library/email.mime.rst
 Doc/library/email.parser.rst
 Doc/library/email.policy.rst
@@ -98,27 +88,21 @@ Doc/library/enum.rst
 Doc/library/exceptions.rst
 Doc/library/faulthandler.rst
 Doc/library/fcntl.rst
-Doc/library/filecmp.rst
-Doc/library/fileinput.rst
 Doc/library/ftplib.rst
 Doc/library/functions.rst
 Doc/library/functools.rst
 Doc/library/getopt.rst
 Doc/library/getpass.rst
 Doc/library/gettext.rst
-Doc/library/graphlib.rst
 Doc/library/gzip.rst
-Doc/library/hashlib.rst
 Doc/library/http.client.rst
 Doc/library/http.cookiejar.rst
 Doc/library/http.cookies.rst
 Doc/library/http.server.rst
-Doc/library/importlib.resources.abc.rst
 Doc/library/importlib.resources.rst
 Doc/library/importlib.rst
 Doc/library/inspect.rst
 Doc/library/io.rst
-Doc/library/json.rst
 Doc/library/locale.rst
 Doc/library/logging.config.rst
 Doc/library/logging.handlers.rst
@@ -127,13 +111,10 @@ Doc/library/lzma.rst
 Doc/library/mailbox.rst
 Doc/library/mmap.rst
 Doc/library/msilib.rst
-Doc/library/msvcrt.rst
 Doc/library/multiprocessing.rst
 Doc/library/multiprocessing.shared_memory.rst
-Doc/library/netrc.rst
 Doc/library/nntplib.rst
 Doc/library/numbers.rst
-Doc/library/operator.rst
 Doc/library/optparse.rst
 Doc/library/os.path.rst
 Doc/library/os.rst
@@ -142,10 +123,7 @@ Doc/library/pickle.rst
 Doc/library/pickletools.rst
 Doc/library/platform.rst
 Doc/library/plistlib.rst
-Doc/library/poplib.rst
-Doc/library/pprint.rst
 Doc/library/profile.rst
-Doc/library/pty.rst
 Doc/library/pyclbr.rst
 Doc/library/pydoc.rst
 Doc/library/pyexpat.rst
@@ -154,32 +132,27 @@ Doc/library/readline.rst
 Doc/library/reprlib.rst
 Doc/library/resource.rst
 Doc/library/rlcompleter.rst
-Doc/library/sched.rst
 Doc/library/select.rst
 Doc/library/selectors.rst
 Doc/library/shelve.rst
-Doc/library/shutil.rst
 Doc/library/signal.rst
 Doc/library/site.rst
 Doc/library/smtplib.rst
 Doc/library/socket.rst
 Doc/library/socketserver.rst
 Doc/library/ssl.rst
-Doc/library/stat.rst
 Doc/library/stdtypes.rst
 Doc/library/string.rst
 Doc/library/subprocess.rst
 Doc/library/sunau.rst
 Doc/library/sys.rst
 Doc/library/sys_path_init.rst
-Doc/library/sysconfig.rst
 Doc/library/syslog.rst
 Doc/library/tarfile.rst
 Doc/library/telnetlib.rst
 Doc/library/tempfile.rst
 Doc/library/termios.rst
 Doc/library/test.rst
-Doc/library/textwrap.rst
 Doc/library/threading.rst
 Doc/library/time.rst
 Doc/library/tkinter.rst
@@ -192,14 +165,11 @@ Doc/library/turtle.rst
 Doc/library/unittest.mock-examples.rst
 Doc/library/unittest.mock.rst
 Doc/library/unittest.rst
-Doc/library/urllib.error.rst
 Doc/library/urllib.parse.rst
 Doc/library/urllib.request.rst
 Doc/library/uuid.rst
 Doc/library/weakref.rst
 Doc/library/webbrowser.rst
-Doc/library/winreg.rst
-Doc/library/winsound.rst
 Doc/library/wsgiref.rst
 Doc/library/xdrlib.rst
 Doc/library/xml.dom.minidom.rst
@@ -210,9 +180,7 @@ Doc/library/xml.rst
 Doc/library/xml.sax.handler.rst
 Doc/library/xml.sax.reader.rst
 Doc/library/xml.sax.rst
-Doc/library/xml.sax.utils.rst
 Doc/library/xmlrpc.client.rst
-Doc/library/xmlrpc.rst
 Doc/library/xmlrpc.server.rst
 Doc/library/zlib.rst
 Doc/license.rst
@@ -220,18 +188,14 @@ Doc/reference/compound_stmts.rst
 Doc/reference/datamodel.rst
 Doc/reference/expressions.rst
 Doc/reference/import.rst
-Doc/reference/lexical_analysis.rst
 Doc/reference/simple_stmts.rst
 Doc/tutorial/appendix.rst
 Doc/tutorial/classes.rst
 Doc/tutorial/controlflow.rst
 Doc/tutorial/datastructures.rst
-Doc/tutorial/errors.rst
 Doc/tutorial/inputoutput.rst
-Doc/tutorial/interactive.rst
 Doc/tutorial/introduction.rst
 Doc/tutorial/modules.rst
-Doc/tutorial/stdlib2.rst
 Doc/using/cmdline.rst
 Doc/using/configure.rst
 Doc/using/windows.rst
diff --git a/Doc/tutorial/errors.rst b/Doc/tutorial/errors.rst
index 8a207c385c6ab..1ec59767e9ce1 100644
--- a/Doc/tutorial/errors.rst
+++ b/Doc/tutorial/errors.rst
@@ -154,7 +154,7 @@ exception type.
 The *except clause* may specify a variable after the exception name.  The
 variable is bound to the exception instance which typically has an ``args``
 attribute that stores the arguments. For convenience, builtin exception
-types define :meth:`__str__` to print all the arguments without explicitly
+types define :meth:`~object.__str__` to print all the arguments without explicitly
 accessing ``.args``.  ::
 
    >>> try:
@@ -174,7 +174,7 @@ accessing ``.args``.  ::
    x = spam
    y = eggs
 
-The exception's :meth:`__str__` output is printed as the last part ('detail')
+The exception's :meth:`~object.__str__` output is printed as the last part ('detail')
 of the message for unhandled exceptions.
 
 :exc:`BaseException` is the common base class of all exceptions. One of its
diff --git a/Doc/tutorial/interactive.rst b/Doc/tutorial/interactive.rst
index c0eb1feec4eb4..0d3896a4832b5 100644
--- a/Doc/tutorial/interactive.rst
+++ b/Doc/tutorial/interactive.rst
@@ -23,7 +23,7 @@ Python statement names, the current local variables, and the available
 module names.  For dotted expressions such as ``string.a``, it will evaluate
 the expression up to the final ``'.'`` and then suggest completions from
 the attributes of the resulting object.  Note that this may execute
-application-defined code if an object with a :meth:`__getattr__` method
+application-defined code if an object with a :meth:`~object.__getattr__` method
 is part of the expression.  The default configuration also saves your
 history into a file named :file:`.python_history` in your user directory.
 The history will be available again during the next interactive interpreter
diff --git a/Doc/whatsnew/3.0.rst b/Doc/whatsnew/3.0.rst
index f9ac13036cbc8..379c74981fbf0 100644
--- a/Doc/whatsnew/3.0.rst
+++ b/Doc/whatsnew/3.0.rst
@@ -789,7 +789,7 @@ Operators And Special Methods
   :attr:`__doc__`, :attr:`__globals__`, :attr:`~definition.__name__`,
   respectively.
 
-* :meth:`__nonzero__` is now :meth:`__bool__`.
+* :meth:`!__nonzero__` is now :meth:`~object.__bool__`.
 
 Builtins
 --------
diff --git a/Misc/NEWS.d/3.11.0a6.rst b/Misc/NEWS.d/3.11.0a6.rst
index 8621edcfb04bb..fcec71c6f59da 100644
--- a/Misc/NEWS.d/3.11.0a6.rst
+++ b/Misc/NEWS.d/3.11.0a6.rst
@@ -352,7 +352,7 @@ rather than ``JUMP_FORWARD`` with an argument of ``(2**32)+offset``.
 .. nonce: 3Z_qxd
 .. section: Core and Builtins
 
-Correct the docstring for the :meth:`__bool__` method. Patch by Jelle
+Correct the docstring for the :meth:`~object.__bool__` method. Patch by Jelle
 Zijlstra.
 
 ..



More information about the Python-checkins mailing list