diff --git a/Doc/howto/regex.rst b/Doc/howto/regex.rst
index 8f39eeb..07a8b56 100644
--- a/Doc/howto/regex.rst
+++ b/Doc/howto/regex.rst
@@ -76,7 +76,7 @@
 Here's a complete list of the metacharacters; their meanings will be discussed
 in the rest of this HOWTO. ::
 
-   . ^ $ * + ? { [ ] \ | ( )
+   . ^ $ * + ? { } [ ] \ | ( )
 
 The first metacharacters we'll look at are ``[`` and ``]``. They're used for
 specifying a character class, which is a set of characters that you wish to
diff --git a/Doc/library/asyncore.rst b/Doc/library/asyncore.rst
index aa16aca..31c1aa1 100644
--- a/Doc/library/asyncore.rst
+++ b/Doc/library/asyncore.rst
@@ -284,7 +284,8 @@
            asyncore.dispatcher.__init__(self)
            self.create_socket()
            self.connect( (host, 80) )
-           self.buffer = bytes('GET %s HTTP/1.0\r\n\r\n' % path, 'ascii')
+           self.buffer = bytes('GET %s HTTP/1.0\r\nHost: %s\r\n\r\n' %
+                               (path, host), 'ascii')
 
        def handle_connect(self):
            pass
diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst
index 369571a..1ca22c8 100644
--- a/Doc/library/curses.rst
+++ b/Doc/library/curses.rst
@@ -1173,6 +1173,9 @@
 +------------------+-------------------------------+
 | ``A_NORMAL``     | Normal attribute.             |
 +------------------+-------------------------------+
+| ``A_REVERSE``    | Reverse background and        |
+|                  | foreground colors.            |
++------------------+-------------------------------+
 | ``A_STANDOUT``   | Standout mode.                |
 +------------------+-------------------------------+
 | ``A_UNDERLINE``  | Underline mode.               |
diff --git a/Doc/library/locale.rst b/Doc/library/locale.rst
index e5f5f84..dd6f954 100644
--- a/Doc/library/locale.rst
+++ b/Doc/library/locale.rst
@@ -161,7 +161,7 @@
    .. data:: D_T_FMT
 
       Get a string that can be used as a format string for :func:`strftime` to
-      represent time and date in a locale-specific way.
+      represent date and time in a locale-specific way.
 
    .. data:: D_FMT
 
@@ -246,12 +246,17 @@
 
    .. data:: ERA_D_T_FMT
 
-      Get a format string for :func:`strftime` to represent dates and times in a
+      Get a format string for :func:`strftime` to represent date and time in a
       locale-specific era-based way.
 
    .. data:: ERA_D_FMT
 
-      Get a format string for :func:`strftime` to represent time in a
+      Get a format string for :func:`strftime` to represent a date in a
+      locale-specific era-based way.
+
+   .. data:: ERA_T_FMT
+
+      Get a format string for :func:`strftime` to represent a time in a
       locale-specific era-based way.
 
    .. data:: ALT_DIGITS
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 3d268f9..6fab5c6 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -2322,7 +2322,7 @@
 .. class:: memoryview(obj)
 
    Create a :class:`memoryview` that references *obj*.  *obj* must support the
-   buffer protocol.  Builtin objects that support the buffer protocol include
+   buffer protocol.  Built-in objects that support the buffer protocol include
    :class:`bytes` and :class:`bytearray`.
 
    A :class:`memoryview` has the notion of an *element*, which is the
diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
index 692746f..e995a7c 100644
--- a/Doc/library/turtle.rst
+++ b/Doc/library/turtle.rst
@@ -2306,9 +2306,11 @@
 | bytedesign     | complex classical            | :func:`tracer`, delay,|
 |                | turtle graphics pattern      | :func:`update`        |
 +----------------+------------------------------+-----------------------+
-| chaos          | graphs verhust dynamics,     | world coordinates     |
-|                | proves that you must not     |                       |
-|                | trust computers' computations|                       |
+| chaos          | graphs Verhulst dynamics,    | world coordinates     |
+|                | shows that computer's        |                       |
+|                | computations can generate    |                       |
+|                | results sometimes against the|                       |
+|                | common sense expectations    |                       |
 +----------------+------------------------------+-----------------------+
 | clock          | analog clock showing time    | turtles as clock's    |
 |                | of your computer             | hands, ontimer        |
diff --git a/Doc/reference/simple_stmts.rst b/Doc/reference/simple_stmts.rst
index 0aadbb9..a375117 100644
--- a/Doc/reference/simple_stmts.rst
+++ b/Doc/reference/simple_stmts.rst
@@ -119,9 +119,6 @@
 * If the target list is a comma-separated list of targets: The object must be an
   iterable with the same number of items as there are targets in the target list,
   and the items are assigned, from left to right, to the corresponding targets.
-  (This rule is relaxed as of Python 1.5; in earlier versions, the object had to
-  be a tuple.  Since strings are sequences, an assignment like ``a, b = "xy"`` is
-  now legal as long as the string has the right length.)
 
   * If the target list contains one target prefixed with an asterisk, called a
     "starred" target: The object must be a sequence with at least as many items
@@ -991,10 +988,3 @@
 
    :pep:`3104` - Access to Names in Outer Scopes
       The specification for the :keyword:`nonlocal` statement.
-
-
-.. rubric:: Footnotes
-
-.. [#] It may occur within an :keyword:`except` or :keyword:`else` clause.  The
-   restriction on occurring in the :keyword:`try` clause is implementor's
-   laziness and will eventually be lifted.
diff --git a/Doc/tutorial/inputoutput.rst b/Doc/tutorial/inputoutput.rst
index d94bfe0..b35cc80 100644
--- a/Doc/tutorial/inputoutput.rst
+++ b/Doc/tutorial/inputoutput.rst
@@ -19,18 +19,16 @@
 of file objects; the standard output file can be referenced as ``sys.stdout``.
 See the Library Reference for more information on this.)
 
-.. index:: module: string
-
 Often you'll want more control over the formatting of your output than simply
 printing space-separated values.  There are two ways to format your output; the
 first way is to do all the string handling yourself; using string slicing and
 concatenation operations you can create any layout you can imagine.  The
-standard module :mod:`string` contains some useful operations for padding
+string type has some methods that perform useful operations for padding
 strings to a given column width; these will be discussed shortly.  The second
 way is to use the :meth:`str.format` method.
 
-The :mod:`string` module contains a class Template which offers yet another way
-to substitute values into strings.
+The :mod:`string` module contains a :class:`~string.Template` class which offers
+yet another way to substitute values into strings.
 
 One question remains, of course: how do you convert values to strings? Luckily,
 Python has ways to convert any value to a string: pass it to the :func:`repr`
