diff --git a/Doc/faq/extending.rst b/Doc/faq/extending.rst
index d2f94b9e0bb..4b3d6d5150c 100644
--- a/Doc/faq/extending.rst
+++ b/Doc/faq/extending.rst
@@ -26,6 +26,8 @@ function that is going to be called by the Python interpreter. Global or static
C++ objects with constructors are probably not a good idea.
+.. _c-wrapper-software:
+
Writing C is hard; are there any alternatives?
----------------------------------------------
@@ -197,11 +199,7 @@ begin by reading :ref:`the "Extending and Embedding" document
whole lot of difference between C and C++ -- so the strategy of building a new
Python type around a C structure (pointer) type will also work for C++ objects.
-For C++ libraries, you can look at `SIP
-`_, `CXX
-`_, `Boost
-`_, `Weave
-`_ or `SWIG `_
+For C++ libraries, see :ref:`c-wrapper-software`.
I added a module using the Setup file and the make fails; why?
diff --git a/Doc/library/re.rst b/Doc/library/re.rst
index 24968359af2..448bcb7271b 100644
--- a/Doc/library/re.rst
+++ b/Doc/library/re.rst
@@ -1226,9 +1226,9 @@ in each word of a sentence except for the first and last characters::
... random.shuffle(inner_word)
... return m.group(1) + "".join(inner_word) + m.group(3)
>>> text = "Professor Abdolmalek, please report your absences promptly."
- >>> re.sub("(\w)(\w+)(\w)", repl, text)
+ >>> re.sub(r"(\w)(\w+)(\w)", repl, text)
'Poefsrosr Aealmlobdk, pslaee reorpt your abnseces plmrptoy.'
- >>> re.sub("(\w)(\w+)(\w)", repl, text)
+ >>> re.sub(r"(\w)(\w+)(\w)", repl, text)
'Pofsroser Aodlambelk, plasee reoprt yuor asnebces potlmrpy.'