diff --git a/Doc/c-api/code.rst b/Doc/c-api/code.rst
index 7d9b4b6..0412138 100644
--- a/Doc/c-api/code.rst
+++ b/Doc/c-api/code.rst
@@ -29,7 +29,7 @@
 
 .. c:function:: int PyCode_Check(PyObject *co)
 
-   Return true if *co* is a :class:`code` object
+   Return true if *co* is a :class:`code` object.
 
 .. c:function:: int PyCode_GetNumFree(PyObject *co)
 
diff --git a/Doc/c-api/gen.rst b/Doc/c-api/gen.rst
index 33cd27a..0c851a7 100644
--- a/Doc/c-api/gen.rst
+++ b/Doc/c-api/gen.rst
@@ -17,7 +17,7 @@
 
 .. c:var:: PyTypeObject PyGen_Type
 
-   The type object corresponding to generator objects
+   The type object corresponding to generator objects.
 
 
 .. c:function:: int PyGen_Check(ob)
diff --git a/Doc/c-api/veryhigh.rst b/Doc/c-api/veryhigh.rst
index 6107665..9e54c14 100644
--- a/Doc/c-api/veryhigh.rst
+++ b/Doc/c-api/veryhigh.rst
@@ -168,7 +168,7 @@
 .. c:function:: struct _node* PyParser_SimpleParseFile(FILE *fp, const char *filename, int start)
 
    This is a simplified interface to :c:func:`PyParser_SimpleParseFileFlags` below,
-   leaving *flags* set to ``0``
+   leaving *flags* set to ``0``.
 
 
 .. c:function:: struct _node* PyParser_SimpleParseFileFlags(FILE *fp, const char *filename, int start, int flags)
diff --git a/Doc/distutils/apiref.rst b/Doc/distutils/apiref.rst
index 92803b1..c7d399f 100644
--- a/Doc/distutils/apiref.rst
+++ b/Doc/distutils/apiref.rst
@@ -926,7 +926,7 @@
 
    Walk two filename lists in parallel, testing if each source is newer than its
    corresponding target.  Return a pair of lists (*sources*, *targets*) where
-   source is newer than target, according to the semantics of :func:`newer`
+   source is newer than target, according to the semantics of :func:`newer`.
 
    .. % % equivalent to a listcomp...
 
diff --git a/Doc/library/2to3.rst b/Doc/library/2to3.rst
index bfa7ea3..7ebc208 100644
--- a/Doc/library/2to3.rst
+++ b/Doc/library/2to3.rst
@@ -271,7 +271,7 @@
 
 .. 2to3fixer:: input
 
-   Converts ``input(prompt)`` to ``eval(input(prompt))``
+   Converts ``input(prompt)`` to ``eval(input(prompt))``.
 
 .. 2to3fixer:: intern
 
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index 9955646..181291f 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -1948,4 +1948,4 @@
   ``%(default)s`` and ``%(prog)s``.
 
 * Replace the OptionParser constructor ``version`` argument with a call to
-  ``parser.add_argument('--version', action='version', version='<the version>')``
+  ``parser.add_argument('--version', action='version', version='<the version>')``.
diff --git a/Doc/library/bdb.rst b/Doc/library/bdb.rst
index 82ef37e..6980353 100644
--- a/Doc/library/bdb.rst
+++ b/Doc/library/bdb.rst
@@ -223,7 +223,7 @@
    .. method:: set_until(frame)
 
       Stop when the line with the line no greater than the current one is
-      reached or when returning from current frame
+      reached or when returning from current frame.
 
    .. method:: set_trace([frame])
 
diff --git a/Doc/library/cookie.rst b/Doc/library/cookie.rst
index 19786f7..8d64206 100644
--- a/Doc/library/cookie.rst
+++ b/Doc/library/cookie.rst
@@ -116,7 +116,7 @@
 
    Return an encoded value. *val* can be any type, but return value must be a
    string. This method does nothing in :class:`BaseCookie` --- it exists so it can
-   be overridden
+   be overridden.
 
    In general, it should be the case that :meth:`value_encode` and
    :meth:`value_decode` are inverses on the range of *value_decode*.
diff --git a/Doc/library/cookielib.rst b/Doc/library/cookielib.rst
index e559f82..7829f53 100644
--- a/Doc/library/cookielib.rst
+++ b/Doc/library/cookielib.rst
@@ -546,7 +546,7 @@
 
 .. attribute:: DefaultCookiePolicy.strict_ns_unverifiable
 
-   apply RFC 2965 rules on unverifiable transactions even to Netscape cookies
+   Apply RFC 2965 rules on unverifiable transactions even to Netscape cookies.
 
 
 .. attribute:: DefaultCookiePolicy.strict_ns_domain
diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst
index 564d10c..a203fbd 100644
--- a/Doc/library/decimal.rst
+++ b/Doc/library/decimal.rst
@@ -890,7 +890,7 @@
 
       Engineering notation has an exponent which is a multiple of 3, so there
       are up to 3 digits left of the decimal place.  For example, converts
-      ``Decimal('123E+1')`` to ``Decimal('1.23E+3')``
+      ``Decimal('123E+1')`` to ``Decimal('1.23E+3')``.
 
    .. method:: to_integral([rounding[, context]])
 
diff --git a/Doc/library/exceptions.rst b/Doc/library/exceptions.rst
index 9291c18..fe14656 100644
--- a/Doc/library/exceptions.rst
+++ b/Doc/library/exceptions.rst
@@ -496,7 +496,7 @@
 
 .. exception:: SyntaxWarning
 
-   Base class for warnings about dubious syntax
+   Base class for warnings about dubious syntax.
 
 
 .. exception:: RuntimeWarning
diff --git a/Doc/library/fractions.rst b/Doc/library/fractions.rst
index 81b419e..00a7672 100644
--- a/Doc/library/fractions.rst
+++ b/Doc/library/fractions.rst
@@ -89,7 +89,7 @@
 
       This class method constructs a :class:`Fraction` representing the exact
       value of *flt*, which must be a :class:`float`. Beware that
-      ``Fraction.from_float(0.3)`` is not the same value as ``Fraction(3, 10)``
+      ``Fraction.from_float(0.3)`` is not the same value as ``Fraction(3, 10)``.
 
       .. note:: From Python 2.7 onwards, you can also construct a
          :class:`Fraction` instance directly from a :class:`float`.
diff --git a/Doc/library/json.rst b/Doc/library/json.rst
index 6db8f97..b501d65 100644
--- a/Doc/library/json.rst
+++ b/Doc/library/json.rst
@@ -356,7 +356,7 @@
    .. method:: decode(s)
 
       Return the Python representation of *s* (a :class:`str` or
-      :class:`unicode` instance containing a JSON document)
+      :class:`unicode` instance containing a JSON document).
 
    .. method:: raw_decode(s)
 
diff --git a/Doc/library/locale.rst b/Doc/library/locale.rst
index 5590514..8fa1a1b 100644
--- a/Doc/library/locale.rst
+++ b/Doc/library/locale.rst
@@ -208,7 +208,7 @@
 
    .. data:: RADIXCHAR
 
-      Get the radix character (decimal dot, decimal comma, etc.)
+      Get the radix character (decimal dot, decimal comma, etc.).
 
    .. data:: THOUSEP
 
diff --git a/Doc/library/modulefinder.rst b/Doc/library/modulefinder.rst
index 40bf60f..4acddd2 100644
--- a/Doc/library/modulefinder.rst
+++ b/Doc/library/modulefinder.rst
@@ -55,7 +55,7 @@
    .. attribute:: modules
 
       A dictionary mapping module names to modules. See
-      :ref:`modulefinder-example`
+      :ref:`modulefinder-example`.
 
 
 .. _modulefinder-example:
diff --git a/Doc/library/msvcrt.rst b/Doc/library/msvcrt.rst
index d7fd3fb..87b8166 100644
--- a/Doc/library/msvcrt.rst
+++ b/Doc/library/msvcrt.rst
@@ -19,7 +19,7 @@
 The module implements both the normal and wide char variants of the console I/O
 api. The normal API deals only with ASCII characters and is of limited use
 for internationalized applications. The wide char API should be used where
-ever possible
+ever possible.
 
 .. _msvcrt-files:
 
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
index 109ffae..2c765f5 100644
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -1705,7 +1705,7 @@
       raised by :meth:`_callmethod`.
 
       Note in particular that an exception will be raised if *methodname* has
-      not been *exposed*
+      not been *exposed*.
 
       An example of the usage of :meth:`_callmethod`:
 
diff --git a/Doc/library/platform.rst b/Doc/library/platform.rst
index cb7144a..28b6f08 100644
--- a/Doc/library/platform.rst
+++ b/Doc/library/platform.rst
@@ -126,7 +126,7 @@
 
 .. function:: python_version()
 
-   Returns the Python version as string ``'major.minor.patchlevel'``
+   Returns the Python version as string ``'major.minor.patchlevel'``.
 
    Note that unlike the Python ``sys.version``, the returned value will always
    include the patchlevel (it defaults to 0).
diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst
index f350f5e..2bf9680 100644
--- a/Doc/library/shutil.rst
+++ b/Doc/library/shutil.rst
@@ -291,7 +291,7 @@
 .. function:: get_archive_formats()
 
    Return a list of supported formats for archiving.
-   Each element of the returned sequence is a tuple ``(name, description)``
+   Each element of the returned sequence is a tuple ``(name, description)``.
 
    By default :mod:`shutil` provides these formats:
 
diff --git a/Doc/library/wsgiref.rst b/Doc/library/wsgiref.rst
index 0b0c7c2..98989c3 100644
--- a/Doc/library/wsgiref.rst
+++ b/Doc/library/wsgiref.rst
@@ -479,7 +479,7 @@
 
    Similar to :class:`BaseCGIHandler`, but designed for use with HTTP origin
    servers.  If you are writing an HTTP server implementation, you will probably
-   want to subclass this instead of :class:`BaseCGIHandler`
+   want to subclass this instead of :class:`BaseCGIHandler`.
 
    This class is a subclass of :class:`BaseHandler`.  It overrides the
    :meth:`__init__`, :meth:`get_stdin`, :meth:`get_stderr`, :meth:`add_cgi_vars`,
diff --git a/Doc/library/xml.dom.minidom.rst b/Doc/library/xml.dom.minidom.rst
index 5cde5e2..4e7cd5a 100644
--- a/Doc/library/xml.dom.minidom.rst
+++ b/Doc/library/xml.dom.minidom.rst
@@ -18,7 +18,7 @@
 Model interface, with an API similar to that in other languages.  It is intended
 to be simpler than the full DOM and also significantly smaller.  Users who are
 not already proficient with the DOM should consider using the
-:mod:`xml.etree.ElementTree` module for their XML processing instead
+:mod:`xml.etree.ElementTree` module for their XML processing instead.
 
 
 .. warning::
diff --git a/Doc/library/xml.dom.rst b/Doc/library/xml.dom.rst
index b496aa1..6dba900 100644
--- a/Doc/library/xml.dom.rst
+++ b/Doc/library/xml.dom.rst
@@ -321,7 +321,7 @@
 .. attribute:: Node.prefix
 
    The part of the :attr:`tagName` preceding the colon if there is one, else the
-   empty string.  The value is a string, or ``None``
+   empty string.  The value is a string, or ``None``.
 
 
 .. attribute:: Node.namespaceURI
diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst
index 4f9b2a3..212a9e1 100644
--- a/Doc/library/xml.etree.elementtree.rst
+++ b/Doc/library/xml.etree.elementtree.rst
@@ -829,7 +829,7 @@
 
       Creates and returns a tree iterator for the root element.  The iterator
       loops over all elements in this tree, in section order.  *tag* is the tag
-      to look for (default is to return all elements)
+      to look for (default is to return all elements).
 
 
    .. method:: iterfind(match)
diff --git a/Misc/ACKS b/Misc/ACKS
index 5a30dab..32208f5 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1341,6 +1341,7 @@
 Amir Szekely
 Arfrever Frehtes Taifersar Arahesis
 Hideaki Takahashi
+Takase Arihiro
 Indra Talip
 Neil Tallim
 Geoff Talvola
