Doc: fix default role usage (except in unittest mock docs)
diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
index aff4253..8a85952 100644
--- a/Doc/library/ctypes.rst
+++ b/Doc/library/ctypes.rst
@@ -1032,7 +1032,7 @@
    outside of Python's control (e.g. by the foreign code that calls the
    callback), ctypes creates a new dummy Python thread on every invocation. This
    behavior is correct for most purposes, but it means that values stored with
-   `threading.local` will *not* survive across different callbacks, even when
+   :class:`threading.local` will *not* survive across different callbacks, even when
    those calls are made from the same C thread.
 
 .. _ctypes-accessing-values-exported-from-dlls:
diff --git a/Doc/library/enum.rst b/Doc/library/enum.rst
index 30e07a7..743a211 100644
--- a/Doc/library/enum.rst
+++ b/Doc/library/enum.rst
@@ -401,7 +401,7 @@
 2-tuples with key/value pairs, or a mapping (e.g. dictionary) of names to
 values.  The last two options enable assigning arbitrary values to
 enumerations; the others auto-assign increasing integers starting with 1 (use
-the `start` parameter to specify a different starting value).  A
+the ``start`` parameter to specify a different starting value).  A
 new class derived from :class:`Enum` is returned.  In other words, the above
 assignment to :class:`Animal` is equivalent to::
 
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index 3b47391..b919bbe 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -1965,18 +1965,18 @@
 
    .. method:: starmap(func, iterable[, chunksize])
 
-      Like :meth:`map` except that the elements of the `iterable` are expected
+      Like :meth:`map` except that the elements of the *iterable* are expected
       to be iterables that are unpacked as arguments.
 
-      Hence an `iterable` of `[(1,2), (3, 4)]` results in `[func(1,2),
-      func(3,4)]`.
+      Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2),
+      func(3,4)]``.
 
       .. versionadded:: 3.3
 
    .. method:: starmap_async(func, iterable[, chunksize[, callback[, error_back]]])
 
       A combination of :meth:`starmap` and :meth:`map_async` that iterates over
-      `iterable` of iterables and calls `func` with the iterables unpacked.
+      *iterable* of iterables and calls *func* with the iterables unpacked.
       Returns a result object.
 
       .. versionadded:: 3.3
diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst
index ce5467f..47356f9 100644
--- a/Doc/library/pickle.rst
+++ b/Doc/library/pickle.rst
@@ -504,7 +504,7 @@
 .. method:: object.__getnewargs__()
 
    This method serve a similar purpose as :meth:`__getnewargs_ex__` but
-   for protocols 2 and newer.  It must return a tuple of arguments `args`
+   for protocols 2 and newer.  It must return a tuple of arguments ``args``
    which will be passed to the :meth:`__new__` method upon unpickling.
 
    In protocols 4 and newer, :meth:`__getnewargs__` will not be called if
diff --git a/Doc/library/poplib.rst b/Doc/library/poplib.rst
index bc7b3e7..45baad9 100644
--- a/Doc/library/poplib.rst
+++ b/Doc/library/poplib.rst
@@ -15,7 +15,7 @@
 This module defines a class, :class:`POP3`, which encapsulates a connection to a
 POP3 server and implements the protocol as defined in :rfc:`1939`. The
 :class:`POP3` class supports both the minimal and optional command sets from
-:rfc:`1939`. The :class:`POP3` class also supports the `STLS` command introduced
+:rfc:`1939`. The :class:`POP3` class also supports the ``STLS`` command introduced
 in :rfc:`2595` to enable encrypted communication on an already established connection.
 
 Additionally, this module provides a class :class:`POP3_SSL`, which provides
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index bee309e..3024086 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -667,7 +667,7 @@
    an underscore, and are not described here.  Regardless of its contents,
    :data:`sys.implementation` will not change during a run of the interpreter,
    nor between implementation versions.  (It may change between Python
-   language versions, however.)  See `PEP 421` for more information.
+   language versions, however.)  See :pep:`421` for more information.
 
    .. versionadded:: 3.3
 
diff --git a/Doc/library/test.rst b/Doc/library/test.rst
index 7a7182a..974909e 100644
--- a/Doc/library/test.rst
+++ b/Doc/library/test.rst
@@ -85,7 +85,7 @@
 
 This code pattern allows the testing suite to be run by :mod:`test.regrtest`,
 on its own as a script that supports the :mod:`unittest` CLI, or via the
-`python -m unittest` CLI.
+``python -m unittest`` CLI.
 
 The goal for regression testing is to try to break code. This leads to a few
 guidelines to be followed:
@@ -141,9 +141,9 @@
          arg = (1, 2, 3)
 
   When using this pattern, remember that all classes that inherit from
-  `unittest.TestCase` are run as tests.  The `Mixin` class in the example above
+  :class:`unittest.TestCase` are run as tests.  The :class:`Mixin` class in the example above
   does not have any data and so can't be run by itself, thus it does not
-  inherit from `unittest.TestCase`.
+  inherit from :class:`unittest.TestCase`.
 
 
 .. seealso::
diff --git a/Doc/library/xmlrpc.server.rst b/Doc/library/xmlrpc.server.rst
index aca4f36..37d1393 100644
--- a/Doc/library/xmlrpc.server.rst
+++ b/Doc/library/xmlrpc.server.rst
@@ -184,8 +184,8 @@
    # Print list of available methods
    print(s.system.listMethods())
 
-The following example included in `Lib/xmlrpc/server.py` module shows a server
-allowing dotted names and registering a multicall function.
+The following example included in the :file:`Lib/xmlrpc/server.py` module shows
+a server allowing dotted names and registering a multicall function.
 
 .. warning::