diff --git a/Doc/howto/urllib2.rst b/Doc/howto/urllib2.rst
index 7f54a410881514..33a2a7ea89ea07 100644
--- a/Doc/howto/urllib2.rst
+++ b/Doc/howto/urllib2.rst
@@ -594,5 +594,5 @@ This document was reviewed and revised by John Lee.
scripts with a localhost server, I have to prevent urllib from using
the proxy.
.. [#] urllib opener for SSL proxy (CONNECT method): `ASPN Cookbook Recipe
- `_.
+ `_.
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 6ed2ebb4098475..ed0e35dec534c1 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -134,7 +134,7 @@ The class can be used to simulate nested scopes and is useful in templating.
:attr:`~collections.ChainMap.parents` property.
* The `Nested Contexts recipe
- `_ has options to control
+ `_ has options to control
whether writes and other mutations apply only to the first mapping or to
any mapping in the chain.
diff --git a/Doc/library/difflib.rst b/Doc/library/difflib.rst
index d45e46448207a4..6a34f2e4d7f5e1 100644
--- a/Doc/library/difflib.rst
+++ b/Doc/library/difflib.rst
@@ -631,7 +631,7 @@ If you want to know how to change the first sequence into the second, use
work.
* `Simple version control recipe
- `_ for a small application
+ `_ for a small application
built with :class:`SequenceMatcher`.
diff --git a/Doc/library/math.rst b/Doc/library/math.rst
index 32fbf1c082cb4e..ea9cac2decf705 100644
--- a/Doc/library/math.rst
+++ b/Doc/library/math.rst
@@ -118,7 +118,7 @@ Number-theoretic and representation functions
For further discussion and two alternative approaches, see the `ASPN cookbook
recipes for accurate floating point summation
- `_\.
+ `_\.
.. function:: gcd(*integers)
diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index 8fbce18c56f17c..05ab9b70e01a78 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -55,7 +55,7 @@ from sources provided by the operating system.
`Complementary-Multiply-with-Carry recipe
- `_ for a compatible alternative
+ `_ for a compatible alternative
random number generator with a long period and comparatively simple update
operations.
diff --git a/Doc/library/shelve.rst b/Doc/library/shelve.rst
index 95c54991887022..1fa614f6584170 100644
--- a/Doc/library/shelve.rst
+++ b/Doc/library/shelve.rst
@@ -86,7 +86,7 @@ Two additional methods are supported:
.. seealso::
- `Persistent dictionary recipe `_
+ `Persistent dictionary recipe `_
with widely supported storage formats and having the speed of native
dictionaries.
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index dbb3135c985400..f5d5e1d54a72cd 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -1496,7 +1496,7 @@ objects that compare equal might have different :attr:`~range.start`,
.. seealso::
- * The `linspace recipe `_
+ * The `linspace recipe `_
shows how to implement a lazy version of range suitable for floating
point applications.
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 167244144839d6..5aa1b869d6cca9 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -864,7 +864,7 @@ always available.
additional garbage collector overhead if the object is managed by the garbage
collector.
- See `recursive sizeof recipe `_
+ See `recursive sizeof recipe `_
for an example of using :func:`getsizeof` recursively to find the size of
containers and all their contents.
diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst
index a94382b5d1737e..1300b759eca5c4 100644
--- a/Doc/whatsnew/3.2.rst
+++ b/Doc/whatsnew/3.2.rst
@@ -785,8 +785,8 @@ functools
(Contributed by Raymond Hettinger and incorporating design ideas from Jim
Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245
- `_\, `recipe 577479
- `_\, :issue:`10586`, and
+ `_\, `recipe 577479
+ `_\, :issue:`10586`, and
:issue:`10593`.)
* The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` attribute
diff --git a/Lib/test/test_math.py b/Lib/test/test_math.py
index aeaa99cfb8b5fb..0b0155807679c3 100644
--- a/Lib/test/test_math.py
+++ b/Lib/test/test_math.py
@@ -657,7 +657,7 @@ def testFsum(self):
def msum(iterable):
"""Full precision summation. Compute sum(iterable) without any
intermediate accumulation of error. Based on the 'lsum' function
- at http://code.activestate.com/recipes/393090/
+ at https://code.activestate.com/recipes/393090-binary-floating-point-summation-accurate-to-full-p/
"""
tmant, texp = 0, 0
diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c
index 23fa2b181648c9..bbd6bd010e1f17 100644
--- a/Modules/mathmodule.c
+++ b/Modules/mathmodule.c
@@ -1246,7 +1246,7 @@ FUNC1(tanh, tanh, 0,
"Return the hyperbolic tangent of x.")
/* Precision summation function as msum() by Raymond Hettinger in
- ,
+ ,
enhanced with the exact partials sum and roundoff from Mark
Dickinson's post at .
See those links for more details, proofs and other references.
diff --git a/Tools/peg_generator/pegen/sccutils.py b/Tools/peg_generator/pegen/sccutils.py
index 1f0586bb2f7d6d..da4c9331625dd9 100644
--- a/Tools/peg_generator/pegen/sccutils.py
+++ b/Tools/peg_generator/pegen/sccutils.py
@@ -18,7 +18,7 @@ def strongly_connected_components(
exactly once; vertices not part of a SCC are returned as
singleton sets.
- From http://code.activestate.com/recipes/578507/.
+ From https://code.activestate.com/recipes/578507-strongly-connected-components-of-a-directed-graph/.
"""
identified: Set[str] = set()
stack: List[str] = []
@@ -81,7 +81,7 @@ def topsort(
{B, C}
{A}
- From http://code.activestate.com/recipes/577413/.
+ From https://code.activestate.com/recipes/577413-topological-sort/history/1/.
"""
# TODO: Use a faster algorithm?
for k, v in data.items():