diff --git a/Doc/library/2to3.rst b/Doc/library/2to3.rst
index 7ab34da..03cfbbe 100644
--- a/Doc/library/2to3.rst
+++ b/Doc/library/2to3.rst
@@ -38,9 +38,9 @@
    $ 2to3 example.py
 
 A diff against the original source file is printed.  2to3 can also write the
-needed modifications right back to the source file.  (Of course, a backup of the
-original is also be made unless :option:`-n` is also given.)  Writing the
-changes back is enabled with the :option:`-w` flag::
+needed modifications right back to the source file.  (A backup of the original
+file is made unless :option:`-n` is also given.)  Writing the changes back is
+enabled with the :option:`-w` flag::
 
    $ 2to3 -w example.py
 
diff --git a/Doc/library/abc.rst b/Doc/library/abc.rst
index 8ab90cc..42f508d 100644
--- a/Doc/library/abc.rst
+++ b/Doc/library/abc.rst
@@ -150,7 +150,7 @@
 
    .. note::
 
-      Unlike C++'s pure virtual functions, or Java abstract methods, these abstract
+      Unlike Java abstract methods, these abstract
       methods may have an implementation. This implementation can be
       called via the :func:`super` mechanism from the class that
       overrides it.  This could be useful as an end-point for a
diff --git a/Doc/library/cgi.rst b/Doc/library/cgi.rst
index c8d9903..e9b2c77 100644
--- a/Doc/library/cgi.rst
+++ b/Doc/library/cgi.rst
@@ -65,16 +65,18 @@
 
 Begin by writing ``import cgi``.
 
-When you write a new script, consider adding the line::
+When you write a new script, consider adding these lines::
 
-   import cgitb; cgitb.enable()
+   import cgitb
+   cgitb.enable()
 
 This activates a special exception handler that will display detailed reports in
 the Web browser if any errors occur.  If you'd rather not show the guts of your
 program to users of your script, you can have the reports saved to files
-instead, with a line like this::
+instead, with code like this::
 
-   import cgitb; cgitb.enable(display=0, logdir="/tmp")
+   import cgitb
+   cgitb.enable(display=0, logdir="/tmp")
 
 It's very helpful to use this feature during script development. The reports
 produced by :mod:`cgitb` provide information that can save you a lot of time in
@@ -445,9 +447,10 @@
 
 Fortunately, once you have managed to get your script to execute *some* code,
 you can easily send tracebacks to the Web browser using the :mod:`cgitb` module.
-If you haven't done so already, just add the line::
+If you haven't done so already, just add the lines::
 
-   import cgitb; cgitb.enable()
+   import cgitb
+   cgitb.enable()
 
 to the top of your script.  Then try running it again; when a problem occurs,
 you should see a detailed report that will likely make apparent the cause of the
diff --git a/Doc/library/cgitb.rst b/Doc/library/cgitb.rst
index c106d9e..854ea95 100644
--- a/Doc/library/cgitb.rst
+++ b/Doc/library/cgitb.rst
@@ -24,9 +24,10 @@
 functions, to help you debug the problem.  Optionally, you can save this
 information to a file instead of sending it to the browser.
 
-To enable this feature, simply add one line to the top of your CGI script::
+To enable this feature, simply add this to the top of your CGI script::
 
-   import cgitb; cgitb.enable()
+   import cgitb
+   cgitb.enable()
 
 The options to the :func:`enable` function control whether the report is
 displayed in the browser and whether the report is logged to a file for later
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 3e5f2ac..eea7364 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -793,9 +793,9 @@
 
 .. method:: str.count(sub[, start[, end]])
 
-   Return the number of occurrences of substring *sub* in the range [*start*,
-   *end*].  Optional arguments *start* and *end* are interpreted as in slice
-   notation.
+   Return the number of non-overlapping occurrences of substring *sub* in the
+   range [*start*, *end*].  Optional arguments *start* and *end* are
+   interpreted as in slice notation.
 
 
 .. method:: str.encode([encoding[, errors]])
@@ -835,7 +835,7 @@
    found.
 
 
-.. method:: str.format(format_string, *args, **kwargs)
+.. method:: str.format(*args, **kwargs)
 
    Perform a string formatting operation.  The *format_string* argument can
    contain literal text or replacement fields delimited by braces ``{}``.  Each
diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst
index 623df5a..a04b04a 100644
--- a/Doc/library/xml.etree.elementtree.rst
+++ b/Doc/library/xml.etree.elementtree.rst
@@ -529,5 +529,5 @@
 .. [#] The encoding string included in XML output should conform to the
    appropriate standards. For example, "UTF-8" is valid, but "UTF8" is
    not. See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
-   and http://www.iana.org/assignments/character-sets .
+   and http://www.iana.org/assignments/character-sets.
 
