diff --git a/Doc/library/aepack.rst b/Doc/library/aepack.rst
index 0ee93e5..daaa9b2 100644
--- a/Doc/library/aepack.rst
+++ b/Doc/library/aepack.rst
@@ -6,9 +6,7 @@
    :platform: Mac
    :synopsis: Conversion between Python variables and AppleEvent data containers.
 .. sectionauthor:: Vincent Marchetti <vincem@en.com>
-
-
-.. % \moduleauthor{Jack Jansen?}{email}
+.. moduleauthor:: Jack Jansen
 
 The :mod:`aepack` module defines functions for converting (packing) Python
 variables to AppleEvent descriptors and back (unpacking). Within Python the
diff --git a/Doc/library/aetools.rst b/Doc/library/aetools.rst
index b5fd4ad..da427eb 100644
--- a/Doc/library/aetools.rst
+++ b/Doc/library/aetools.rst
@@ -6,9 +6,7 @@
    :platform: Mac
    :synopsis: Basic support for sending Apple Events
 .. sectionauthor:: Jack Jansen <Jack.Jansen@cwi.nl>
-
-
-.. % \moduleauthor{Jack Jansen?}{email}
+.. moduleauthor:: Jack Jansen
 
 The :mod:`aetools` module contains the basic functionality on which Python
 AppleScript client support is built. It also imports and re-exports the core
diff --git a/Doc/library/aetypes.rst b/Doc/library/aetypes.rst
index 0dd0a88..c8c5d80 100644
--- a/Doc/library/aetypes.rst
+++ b/Doc/library/aetypes.rst
@@ -6,9 +6,7 @@
    :platform: Mac
    :synopsis: Python representation of the Apple Event Object Model.
 .. sectionauthor:: Vincent Marchetti <vincem@en.com>
-
-
-.. % \moduleauthor{Jack Jansen?}{email}
+.. moduleauthor:: Jack Jansen
 
 The :mod:`aetypes` defines classes used to represent Apple Event data
 descriptors and Apple Event object specifiers.
diff --git a/Doc/library/asyncore.rst b/Doc/library/asyncore.rst
index 2ed3c92..6830bae 100644
--- a/Doc/library/asyncore.rst
+++ b/Doc/library/asyncore.rst
@@ -8,13 +8,12 @@
 .. moduleauthor:: Sam Rushing <rushing@nightmare.com>
 .. sectionauthor:: Christopher Petrilli <petrilli@amber.org>
 .. sectionauthor:: Steve Holden <sholden@holdenweb.com>
+.. heavily adapted from original documentation by Sam Rushing
 
 
 This module provides the basic infrastructure for writing asynchronous  socket
 service clients and servers.
 
-.. % Heavily adapted from original documentation by Sam Rushing.
-
 There are only two ways to have a program on a single processor do  "more than
 one thing at a time." Multi-threaded programming is the  simplest and most
 popular way to do it, but there is another very different technique, that lets
diff --git a/Doc/library/audioop.rst b/Doc/library/audioop.rst
index 7779610..8ee2795 100644
--- a/Doc/library/audioop.rst
+++ b/Doc/library/audioop.rst
@@ -19,7 +19,7 @@
 
 This module provides support for a-LAW, u-LAW and Intel/DVI ADPCM encodings.
 
-.. % This para is mostly here to provide an excuse for the index entries...
+.. This para is mostly here to provide an excuse for the index entries...
 
 A few of the more complicated operations only take 16-bit samples, otherwise the
 sample size (in bytes) is always a parameter of the operation.
diff --git a/Doc/library/bisect.rst b/Doc/library/bisect.rst
index 10f72fb..114300e 100644
--- a/Doc/library/bisect.rst
+++ b/Doc/library/bisect.rst
@@ -5,11 +5,7 @@
 .. module:: bisect
    :synopsis: Array bisection algorithms for binary searching.
 .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
-
-
-.. % LaTeX produced by Fred L. Drake, Jr. <fdrake@acm.org>, with an
-.. % example based on the PyModules FAQ entry by Aaron Watters
-.. % <arw@pythonpros.com>.
+.. example based on the PyModules FAQ entry by Aaron Watters <arw@pythonpros.com>
 
 This module provides support for maintaining a list in sorted order without
 having to sort the list after each insertion.  For long lists of items with
diff --git a/Doc/library/cgi.rst b/Doc/library/cgi.rst
index 41ebf9d..9f0171c 100644
--- a/Doc/library/cgi.rst
+++ b/Doc/library/cgi.rst
@@ -176,7 +176,7 @@
 sections obsolete --- they are still useful to process file uploads efficiently,
 for example.
 
-.. % XXX: Is this true ?
+.. XXX: Is this true ?
 
 The interface consists of two simple methods. Using the methods you can process
 form data in a generic way, without the need to worry whether only one or more
diff --git a/Doc/library/codeop.rst b/Doc/library/codeop.rst
index 35430b4..456f6dd 100644
--- a/Doc/library/codeop.rst
+++ b/Doc/library/codeop.rst
@@ -7,9 +7,6 @@
 .. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
 .. sectionauthor:: Michael Hudson <mwh@python.net>
 
-
-.. % LaTeXed from excellent doc-string.
-
 The :mod:`codeop` module provides utilities upon which the Python
 read-eval-print loop can be emulated, as is done in the :mod:`code` module.  As
 a result, you probably don't want to use the module directly; if you want to
@@ -29,7 +26,6 @@
 
 To do just the former:
 
-
 .. function:: compile_command(source[, filename[, symbol]])
 
    Tries to compile *source*, which should be a string of Python code and return a
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index e01c52e..3fd0cc9 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -100,7 +100,7 @@
    where only the most recent activity is of interest.
 
    .. versionchanged:: 2.6
-      Added *maxlen*
+      Added *maxlen* parameter.
 
 Deque objects support the following methods:
 
diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst
index 6185aa0..979f351 100644
--- a/Doc/library/configparser.rst
+++ b/Doc/library/configparser.rst
@@ -87,7 +87,7 @@
    well. New applications should prefer this version if they don't need to be
    compatible with older versions of Python.
 
-   .. % XXX Need to explain what's safer/more predictable about it.
+   .. XXX Need to explain what's safer/more predictable about it.
 
 
 .. exception:: NoSectionError
diff --git a/Doc/library/constants.rst b/Doc/library/constants.rst
index 0d44b7b..3870874 100644
--- a/Doc/library/constants.rst
+++ b/Doc/library/constants.rst
@@ -15,19 +15,21 @@
 
 .. data:: False
 
-   The false value of the :class:`bool` type.
+   The false value of the :class:`bool` type. Assignments to ``False`` 
+   are illegal and raise a :exc:`SyntaxError`.
 
 
 .. data:: True
 
-   The true value of the :class:`bool` type.
+   The true value of the :class:`bool` type. Assignments to ``True`` 
+   are illegal and raise a :exc:`SyntaxError`.
 
 
 .. data:: None
 
    The sole value of :attr:`types.NoneType`.  ``None`` is frequently used to
    represent the absence of a value, as when default arguments are not passed to a
-   function.
+   function. Assignments to ``None`` are illegal and raise a :exc:`SyntaxError`.
 
 
 .. data:: NotImplemented
@@ -42,11 +44,11 @@
    The same as ``...``. Special value used mostly in conjunction with extended
    slicing syntax for user-defined container data types, as in ::
 
-      val = container[1:5, 7:10, ...]
+   .. XXX Someone who understands extended slicing should fill in here.
 
 
 .. data:: __debug__
 
-   A boolean value that is :data:`True` if Python was not started with the
-   ``-O`` command line option.  Its value is used indirectly by the
-   :keyword:`assert` statement, but it can also be used directly in code.
+   This constant is true if Python was not started with an :option:`-O` option.
+   Assignments to :const:`__debug__` are illegal and raise a :exc:`SyntaxError`.
+   See also the :keyword:`assert` statement.
diff --git a/Doc/library/copy.rst b/Doc/library/copy.rst
index 0abee4d..485cfc5 100644
--- a/Doc/library/copy.rst
+++ b/Doc/library/copy.rst
@@ -21,8 +21,6 @@
 
 For module specific errors, :exc:`copy.error` is raised.
 
-.. % 
-
 The difference between shallow and deep copying is only relevant for compound
 objects (objects that contain other objects, like lists or class instances):
 
diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
index c759832..bbe4408 100644
--- a/Doc/library/ctypes.rst
+++ b/Doc/library/ctypes.rst
@@ -69,7 +69,7 @@
    <CDLL 'libc.so.6', handle ... at ...>
    >>>
 
-.. % XXX Add section for Mac OS X.
+.. XXX Add section for Mac OS X.
 
 
 .. _ctypes-accessing-functions-from-loaded-dlls:
@@ -1256,10 +1256,6 @@
 
 ``long double`` is not implemented.
 
-.. % Local Variables:
-.. % compile-command: "make.bat"
-.. % End:
-
 
 .. _ctypes-ctypes-reference:
 
diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst
index 046b796..07ccc55 100644
--- a/Doc/library/curses.rst
+++ b/Doc/library/curses.rst
@@ -1167,7 +1167,7 @@
 Keys are referred to by integer constants with names starting with  ``KEY_``.
 The exact keycaps available are system dependent.
 
-.. % XXX should this table be alphabetized?
+.. XXX this table is far too large! should it be alphabetized?
 
 +-------------------+--------------------------------------------+
 | Key constant      | Key                                        |
diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst
index adc1664..3fad2fb 100644
--- a/Doc/library/datetime.rst
+++ b/Doc/library/datetime.rst
@@ -1,6 +1,3 @@
-.. % XXX what order should the types be discussed in?
-
-
 :mod:`datetime` --- Basic date and time types
 =============================================
 
@@ -10,6 +7,7 @@
 .. sectionauthor:: Tim Peters <tim@zope.com>
 .. sectionauthor:: A.M. Kuchling <amk@amk.ca>
 
+.. XXX what order should the types be discussed in?
 
 The :mod:`datetime` module supplies classes for manipulating dates and times in
 both simple and complex ways.  While date and time arithmetic is supported, the
@@ -202,7 +200,7 @@
 
 Supported operations:
 
-.. % XXX this table is too wide!
+.. XXX this table is too wide!
 
 +--------------------------------+-----------------------------------------------+
 | Operation                      | Result                                        |
diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst
index fecfdeb..218d1c8 100644
--- a/Doc/library/decimal.rst
+++ b/Doc/library/decimal.rst
@@ -88,7 +88,7 @@
    * IEEE standard 854-1987, `Unofficial IEEE 854 Text
      <http://www.cs.berkeley.edu/~ejr/projects/754/private/drafts/854-1987/dir.html>`_.
 
-.. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 .. _decimal-tutorial:
@@ -263,7 +263,7 @@
 the program manipulates the data no differently than with other Python numeric
 types.
 
-.. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 .. _decimal-decimal:
@@ -274,7 +274,7 @@
 
 .. class:: Decimal([value [, context]])
 
-   Constructs a new :class:`Decimal` object based from *value*.
+   Construct a new :class:`Decimal` object based from *value*.
 
    *value* can be an integer, string, tuple, or another :class:`Decimal` object. If
    no *value* is given, returns ``Decimal("0")``.  If *value* is a string, it
@@ -512,7 +512,7 @@
    correctly rounded using the :const:`ROUND_HALF_EVEN` rounding mode.
 
 
-.. method:  Decimal.logb([context])
+.. method:: Decimal.logb([context])
 
    For a nonzero number, return the adjusted exponent of its operand
    as a :class:`Decimal` instance.  If the operand is a zero then
@@ -624,7 +624,7 @@
 
 .. method:: Decimal.quantize(exp[, rounding[, context[, watchexp]]])
 
-   Returns a value equal to the first operand after rounding and
+   Return a value equal to the first operand after rounding and
    having the exponent of the second operand.
 
    >>> Decimal("1.41421356").quantize(Decimal("1.000"))
@@ -645,8 +645,8 @@
    the given ``context`` argument; if neither argument is given the
    rounding mode of the current thread's context is used.
 
-   If watchexp is set (default), then an error is returned whenever 
-   the resulting exponent is greater than Emax or less than Etiny.
+   If *watchexp* is set (default), then an error is returned whenever the
+   resulting exponent is greater than :attr:`Emax` or less than :attr:`Etiny`.
 
 .. method:: Decimal.radix()
 
@@ -657,7 +657,7 @@
 
 .. method:: Decimal.remainder_near(other[, context])
 
-   Computes the modulo as either a positive or negative value depending on which is
+   Compute the modulo as either a positive or negative value depending on which is
    closest to zero.  For instance, ``Decimal(10).remainder_near(6)`` returns
    ``Decimal("-2")`` which is closer to zero than ``Decimal("4")``.
 
@@ -720,7 +720,7 @@
 
 .. method:: Decimal.to_integral_exact([rounding[, context]])
 
-   Round the argument to the nearest integer, signaling
+   Round to the nearest integer, signaling
    :const:`Inexact` or :const:`Rounded` as appropriate if rounding
    occurs.  The rounding mode is determined by the ``rounding``
    parameter if given, else by the given ``context``.  If neither
@@ -730,14 +730,14 @@
 
 .. method:: Decimal.to_integral_value([rounding[, context]])
 
-   Rounds to the nearest integer without signaling :const:`Inexact` or
+   Round to the nearest integer without signaling :const:`Inexact` or
    :const:`Rounded`.  If given, applies *rounding*; otherwise, uses the rounding
    method in either the supplied *context* or the current context.
 
 
 .. method:: Decimal.trim()
 
-   Returns its argument with *insignificant* trailing zeros removed.
+   Return the decimal with *insignificant* trailing zeros removed.
    Here, a trailing zero is considered insignificant either if it
    follows the decimal point, or if the exponent of the argument (that
    is, the last element of the :meth:`as_tuple` representation) is
@@ -755,7 +755,7 @@
 exponent and sign are both zero, and whose digits are all either
 :const:`0` or :const:`1`.
 
-.. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 .. _decimal-context:
@@ -1023,7 +1023,7 @@
 
    Converts a number to a string using scientific notation.
 
-.. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 .. _decimal-signals:
@@ -1144,7 +1144,7 @@
            Rounded
            Subnormal
 
-.. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 .. _decimal-notes:
@@ -1241,7 +1241,7 @@
    >>> 1 / Decimal('Infinity')
    Decimal("0E-1000000026")
 
-.. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 .. _decimal-threads:
@@ -1279,7 +1279,7 @@
    t3.start()
     . . .
 
-.. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 .. _decimal-recipes:
@@ -1435,7 +1435,7 @@
        return +s
 
 
-.. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+.. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 .. _decimal-faq:
diff --git a/Doc/library/difflib.rst b/Doc/library/difflib.rst
index fe956b2..3b17d04 100644
--- a/Doc/library/difflib.rst
+++ b/Doc/library/difflib.rst
@@ -6,9 +6,9 @@
    :synopsis: Helpers for computing differences between objects.
 .. moduleauthor:: Tim Peters <tim_one@users.sourceforge.net>
 .. sectionauthor:: Tim Peters <tim_one@users.sourceforge.net>
+.. Markup by Fred L. Drake, Jr. <fdrake@acm.org>
 
 
-.. % LaTeXification by Fred L. Drake, Jr. <fdrake@acm.org>.
 
 This module provides classes and functions for comparing sequences. It
 can be used for example, for comparing files, and can produce difference
@@ -378,6 +378,12 @@
    then ``i+n != i'`` or ``j+n != j'``; in other words, adjacent triples always
    describe non-adjacent equal blocks.
 
+   .. XXX Explain why a dummy is used!
+
+   .. versionchanged:: 2.5
+      The guarantee that adjacent triples always describe non-adjacent blocks was
+      implemented.
+
    ::
 
       >>> s = SequenceMatcher(None, "abxcd", "abcd")
diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst
index 2616295..41cbe7f 100644
--- a/Doc/library/dis.rst
+++ b/Doc/library/dis.rst
@@ -452,13 +452,6 @@
    Unpacks TOS into *count* individual values, which are put onto the stack
    right-to-left.
 
-.. % \begin{opcodedesc}{UNPACK_LIST}{count}
-.. % This opcode is obsolete.
-.. % \end{opcodedesc}
-.. % \begin{opcodedesc}{UNPACK_ARG}{count}
-.. % This opcode is obsolete.
-.. % \end{opcodedesc}
-
 
 .. opcode:: DUP_TOPX (count)
 
@@ -486,10 +479,6 @@
 
    Works as ``DELETE_NAME``, but deletes a global name.
 
-.. % \begin{opcodedesc}{UNPACK_VARARG}{argc}
-.. % This opcode is obsolete.
-.. % \end{opcodedesc}
-
 
 .. opcode:: LOAD_CONST (consti)
 
@@ -577,22 +566,11 @@
    the iterator indicates it is exhausted ``TOS`` is popped, and the byte code
    counter is incremented by *delta*.
 
-.. % \begin{opcodedesc}{FOR_LOOP}{delta}
-.. % This opcode is obsolete.
-.. % \end{opcodedesc}
-.. % \begin{opcodedesc}{LOAD_LOCAL}{namei}
-.. % This opcode is obsolete.
-.. % \end{opcodedesc}
-
 
 .. opcode:: LOAD_GLOBAL (namei)
 
    Loads the global named ``co_names[namei]`` onto the stack.
 
-.. % \begin{opcodedesc}{SET_FUNC_ARGS}{argc}
-.. % This opcode is obsolete.
-.. % \end{opcodedesc}
-
 
 .. opcode:: SETUP_LOOP (delta)
 
@@ -690,7 +668,7 @@
 
    Pushes a slice object on the stack.  *argc* must be 2 or 3.  If it is 2,
    ``slice(TOS1, TOS)`` is pushed; if it is 3, ``slice(TOS2, TOS1, TOS)`` is
-   pushed. See the ``slice()`` built-in function for more information.
+   pushed. See the :func:`slice` built-in function for more information.
 
 
 .. opcode:: EXTENDED_ARG (ext)
diff --git a/Doc/library/dl.rst b/Doc/library/dl.rst
index ff42619..de641e3 100644
--- a/Doc/library/dl.rst
+++ b/Doc/library/dl.rst
@@ -7,9 +7,6 @@
    :synopsis: Call C functions in shared objects.
 .. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
 
-
-.. % ?????????? Anyone????????????
-
 The :mod:`dl` module defines an interface to the :cfunc:`dlopen` function, which
 is the most common interface on Unix platforms for handling dynamically linked
 libraries. It allows the program to call arbitrary functions in such a library.
diff --git a/Doc/library/doctest.rst b/Doc/library/doctest.rst
index 99a2921..04bc219 100644
--- a/Doc/library/doctest.rst
+++ b/Doc/library/doctest.rst
@@ -691,12 +691,7 @@
 surprise you a few times, as you learn exactly what Python does and doesn't
 guarantee about output.  For example, when printing a dict, Python doesn't
 guarantee that the key-value pairs will be printed in any particular order, so a
-test like
-
-.. % Hey! What happened to Monty Python examples?
-.. % Tim: ask Guido -- it's his example!
-
-::
+test like ::
 
    >>> foo()
    {"Hermione": "hippogryph", "Harry": "broomstick"}
diff --git a/Doc/library/email.rst b/Doc/library/email.rst
index df41563..72fb31d 100644
--- a/Doc/library/email.rst
+++ b/Doc/library/email.rst
@@ -1,7 +1,3 @@
-.. % Copyright (C) 2001-2007 Python Software Foundation
-.. % Author: barry@python.org (Barry Warsaw)
-
-
 :mod:`email` --- An email and MIME handling package
 ===================================================
 
@@ -10,6 +6,7 @@
               including MIME documents.
 .. moduleauthor:: Barry A. Warsaw <barry@python.org>
 .. sectionauthor:: Barry A. Warsaw <barry@python.org>
+.. Copyright (C) 2001-2007 Python Software Foundation
 
 
 The :mod:`email` package is a library for managing email messages, including
diff --git a/Doc/library/exceptions.rst b/Doc/library/exceptions.rst
index 786e825..e7721fa 100644
--- a/Doc/library/exceptions.rst
+++ b/Doc/library/exceptions.rst
@@ -111,16 +111,15 @@
 
 .. exception:: AttributeError
 
-   Raised when an attribute reference or assignment fails.  (When an object does
-   not support attribute references or attribute assignments at all,
-   :exc:`TypeError` is raised.)
-
-   .. % xref to attribute reference?
+   Raised when an attribute reference (see :ref:`attribute-references`) or
+   assignment fails.  (When an object does not support attribute references or
+   attribute assignments at all, :exc:`TypeError` is raised.)
 
 
 .. exception:: EOFError
 
-   Raised when attempting to read beyond the end of a file. (N.B.: the
+   Raised when one of the built-in functions (:func:`input` or :func:`raw_input`)
+   hits an end-of-file condition (EOF) without reading any data. (N.B.: the
    :meth:`file.read` and :meth:`file.readline` methods return an empty string
    when they hit EOF.)
 
@@ -162,14 +161,14 @@
    truncated to fall in the allowed range; if an index is not a plain integer,
    :exc:`TypeError` is raised.)
 
-   .. % XXXJH xref to sequences
+   .. XXX xref to sequences
 
 
 .. exception:: KeyError
 
    Raised when a mapping (dictionary) key is not found in the set of existing keys.
 
-   .. % XXXJH xref to mapping objects?
+   .. XXX xref to mapping objects?
 
 
 .. exception:: KeyboardInterrupt
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 02c709c2..49fd77d 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -28,7 +28,7 @@
    :func:`__import__` function.
 
    For example, the statement ``import spam`` results in the following call:
-   ``__import__('spam',`` ``globals(),`` ``locals(), [], -1)``; the statement
+   ``__import__('spam', globals(), locals(), [], -1)``; the statement
    ``from spam.ham import eggs`` results in ``__import__('spam.ham', globals(),
    locals(), ['eggs'], -1)``.  Note that even though ``locals()`` and ``['eggs']``
    are passed in as arguments, the :func:`__import__` function does not set the
@@ -359,7 +359,7 @@
    access to the standard :mod:`builtins` module and restricted environments are
    propagated.  If the *locals* dictionary is omitted it defaults to the *globals*
    dictionary.  If both dictionaries are omitted, the expression is executed in the
-   environment where :keyword:`eval` is called.  The return value is the result of
+   environment where :func:`eval` is called.  The return value is the result of
    the evaluated expression. Syntax errors are reported as exceptions.  Example::
 
       >>> x = 1
@@ -632,7 +632,7 @@
       The contents of this dictionary should not be modified; changes may not affect
       the values of local variables used by the interpreter.
 
-   Free variables are returned by *locals* when it is called in a function block.
+   Free variables are returned by :func:`locals` when it is called in a function block.
    Modifications of free variables may not affect the values used by the
    interpreter.  Free variables are not returned in class blocks.
 
diff --git a/Doc/library/gensuitemodule.rst b/Doc/library/gensuitemodule.rst
index 3fc5254..dbbc3a0 100644
--- a/Doc/library/gensuitemodule.rst
+++ b/Doc/library/gensuitemodule.rst
@@ -6,9 +6,7 @@
    :platform: Mac
    :synopsis: Create a stub package from an OSA dictionary
 .. sectionauthor:: Jack Jansen <Jack.Jansen@cwi.nl>
-
-
-.. % \moduleauthor{Jack Jansen?}{email}
+.. moduleauthor:: Jack Jansen
 
 The :mod:`gensuitemodule` module creates a Python package implementing stub code
 for the AppleScript suites that are implemented by a specific application,
diff --git a/Doc/library/getopt.rst b/Doc/library/getopt.rst
index b7220a5..35d91d2 100644
--- a/Doc/library/getopt.rst
+++ b/Doc/library/getopt.rst
@@ -9,7 +9,7 @@
 
 This module helps scripts to parse the command line arguments in ``sys.argv``.
 It supports the same conventions as the Unix :cfunc:`getopt` function (including
-the special meanings of arguments of the form '``-``' and '``--``'). Long
+the special meanings of arguments of the form '``-``' and '``--``').  Long
 options similar to those supported by GNU software may be used as well via an
 optional third argument. This module provides a single function and an
 exception:
diff --git a/Doc/library/getpass.rst b/Doc/library/getpass.rst
index 9a45b28..bd384b4 100644
--- a/Doc/library/getpass.rst
+++ b/Doc/library/getpass.rst
@@ -1,4 +1,3 @@
-
 :mod:`getpass` --- Portable password input
 ==========================================
 
@@ -6,9 +5,7 @@
    :synopsis: Portable reading of passwords and retrieval of the userid.
 .. moduleauthor:: Piers Lauder <piers@cs.su.oz.au>
 .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
-
-
-.. % Windows (& Mac?) support by Guido van Rossum.
+.. Windows (& Mac?) support by Guido van Rossum.
 
 The :mod:`getpass` module provides two functions:
 
diff --git a/Doc/library/heapq.rst b/Doc/library/heapq.rst
index e3b145c..f26d29b 100644
--- a/Doc/library/heapq.rst
+++ b/Doc/library/heapq.rst
@@ -1,4 +1,3 @@
-
 :mod:`heapq` --- Heap queue algorithm
 =====================================
 
@@ -8,9 +7,6 @@
 .. sectionauthor:: Guido van Rossum <guido@python.org>
 .. sectionauthor:: François Pinard
 
-
-.. % Theoretical explanation:
-
 This module provides an implementation of the heap queue algorithm, also known
 as the priority queue algorithm.
 
diff --git a/Doc/library/idle.rst b/Doc/library/idle.rst
index 44b59e9..8209aa9 100644
--- a/Doc/library/idle.rst
+++ b/Doc/library/idle.rst
@@ -1,20 +1,16 @@
 .. _idle:
 
-Idle
+IDLE
 ====
 
 .. moduleauthor:: Guido van Rossum <guido@Python.org>
 
-
-.. % \declaremodule{standard}{idle}
-.. % \modulesynopsis{A Python Integrated Development Environment}
-
 .. index::
-   single: Idle
+   single: IDLE
    single: Python Editor
    single: Integrated Development Environment
 
-Idle is the Python IDE built with the :mod:`Tkinter` GUI toolkit.
+IDLE is the Python IDE built with the :mod:`Tkinter` GUI toolkit.
 
 IDLE has the following features:
 
diff --git a/Doc/library/imaplib.rst b/Doc/library/imaplib.rst
index dab22e0..10f3a42 100644
--- a/Doc/library/imaplib.rst
+++ b/Doc/library/imaplib.rst
@@ -1,4 +1,3 @@
-
 :mod:`imaplib` --- IMAP4 protocol client
 ========================================
 
@@ -6,6 +5,10 @@
    :synopsis: IMAP4 protocol client (requires sockets).
 .. moduleauthor:: Piers Lauder <piers@communitysolutions.com.au>
 .. sectionauthor:: Piers Lauder <piers@communitysolutions.com.au>
+.. revised by ESR, January 2000
+.. changes for IMAP4_SSL by Tino Lange <Tino.Lange@isg.de>, March 2002
+.. changes for IMAP4_stream by Piers Lauder <piers@communitysolutions.com.au>,
+   November 2002
 
 
 .. index::
@@ -13,14 +16,6 @@
    pair: IMAP4_SSL; protocol
    pair: IMAP4_stream; protocol
 
-.. % Based on HTML documentation by Piers Lauder
-.. % <piers@communitysolutions.com.au>;
-.. % converted by Fred L. Drake, Jr. <fdrake@acm.org>.
-.. % Revised by ESR, January 2000.
-.. % Changes for IMAP4_SSL by Tino Lange <Tino.Lange@isg.de>, March 2002
-.. % Changes for IMAP4_stream by Piers Lauder
-.. % <piers@communitysolutions.com.au>, November 2002
-
 This module defines three classes, :class:`IMAP4`, :class:`IMAP4_SSL` and
 :class:`IMAP4_stream`, which encapsulate a connection to an IMAP4 server and
 implement a large subset of the IMAP4rev1 client protocol as defined in
diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst
index 54b52e4..21f6476 100644
--- a/Doc/library/itertools.rst
+++ b/Doc/library/itertools.rst
@@ -157,7 +157,7 @@
                   key = lambda x: x
               self.keyfunc = key
               self.it = iter(iterable)
-              self.tgtkey = self.currkey = self.currvalue = []
+              self.tgtkey = self.currkey = self.currvalue = object()
           def __iter__(self):
               return self
           def __next__(self):
@@ -350,14 +350,13 @@
    is equivalent to::
 
       def tee(iterable):
-          def gen(next, data={}, cnt=[0]):
+          def gen(next, data={}):
               for i in count():
-                  if i == cnt[0]:
-                      item = data[i] = next()
-                      cnt[0] += 1
+                  if i in data:
+                      yield data.pop(i)
                   else:
-                      item = data.pop(i)
-                  yield item
+                      data[i] = next()
+                      yield data[i]
           it = iter(iterable)
           return (gen(it.__next__), gen(it.__next__))
 
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 537ac3a..a95e2b5 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -2019,8 +2019,6 @@
 Configuration functions
 ^^^^^^^^^^^^^^^^^^^^^^^
 
-.. % 
-
 The following functions configure the logging module. They are located in the
 :mod:`logging.config` module.  Their use is optional --- you can configure the
 logging module using these functions or by making calls to the main API (defined
@@ -2204,13 +2202,12 @@
    class=logging.Formatter
 
 The ``format`` entry is the overall format string, and the ``datefmt`` entry is
-the :func:`strftime`\ -compatible date/time format string. If empty, the package
-substitutes ISO8601 format date/times, which is almost equivalent to specifying
-the date format string "The ISO8601 format also specifies milliseconds, which
-are appended to the result of using the above format string, with a comma
-separator. An example time in ISO8601 format is ``2003-01-23 00:29:50,411``.
-
-.. % Y-%m-%d %H:%M:%S".
+the :func:`strftime`\ -compatible date/time format string.  If empty, the
+package substitutes ISO8601 format date/times, which is almost equivalent to
+specifying the date format string ``"%Y-%m-%d %H:%M:%S"``.  The ISO8601 format
+also specifies milliseconds, which are appended to the result of using the above
+format string, with a comma separator.  An example time in ISO8601 format is
+``2003-01-23 00:29:50,411``.
 
 The ``class`` entry is optional.  It indicates the name of the formatter's class
 (as a dotted module and class name.)  This option is useful for instantiating a
diff --git a/Doc/library/mhlib.rst b/Doc/library/mhlib.rst
index 0dd5353..f6edf28 100644
--- a/Doc/library/mhlib.rst
+++ b/Doc/library/mhlib.rst
@@ -1,13 +1,9 @@
-
 :mod:`mhlib` --- Access to MH mailboxes
 =======================================
 
 .. module:: mhlib
    :synopsis: Manipulate MH mailboxes from Python.
-
-
-.. % LaTeX'ized from the comments in the module by Skip Montanaro
-.. % <skip@pobox.com>.
+.. sectionauthor:: Skip Montanaro <skip@pobox.com>
 
 The :mod:`mhlib` module provides a Python interface to MH folders and their
 contents.
diff --git a/Doc/library/nntplib.rst b/Doc/library/nntplib.rst
index c3de3d7..761190d 100644
--- a/Doc/library/nntplib.rst
+++ b/Doc/library/nntplib.rst
@@ -309,8 +309,6 @@
    is supplied, then the returned *list* is an empty list. This is an optional NNTP
    extension, and may not be supported by all servers.
 
-   .. % XXX huh?  Should that be (name, description)?
-
    RFC2980 says "It is suggested that this extension be deprecated".  Use
    :meth:`descriptions` or :meth:`description` instead.
 
diff --git a/Doc/library/optparse.rst b/Doc/library/optparse.rst
index f5488e7..e6668b6 100644
--- a/Doc/library/optparse.rst
+++ b/Doc/library/optparse.rst
@@ -1,7 +1,3 @@
-.. % THIS FILE IS AUTO-GENERATED!  DO NOT EDIT!
-.. % (Your changes will be lost the next time it is generated.)
-
-
 :mod:`optparse` --- More powerful command line option parser
 ============================================================
 
@@ -18,9 +14,6 @@
 to specify options in the conventional GNU/POSIX syntax, and additionally
 generates usage and help messages for you.
 
-.. % An intro blurb used only when generating LaTeX docs for the Python
-.. % manual (based on README.txt).
-
 Here's an example of using ``optparse`` in a simple script::
 
    from optparse import OptionParser
@@ -70,8 +63,6 @@
 where the value of *yourscript* is determined at runtime (normally from
 ``sys.argv[0]``).
 
-.. % $Id: intro.txt 413 2004-09-28 00:59:13Z greg $
-
 
 .. _optparse-background:
 
@@ -233,8 +224,6 @@
 implementation becomes.  Too much flexibility has drawbacks as well, of course;
 too many options can overwhelm users and make your code much harder to maintain.
 
-.. % $Id: tao.txt 413 2004-09-28 00:59:13Z greg $
-
 
 .. _optparse-tutorial:
 
@@ -652,8 +641,6 @@
    if __name__ == "__main__":
        main()
 
-.. % $Id: tutorial.txt 515 2006-06-10 15:37:45Z gward $
-
 
 .. _optparse-reference-guide:
 
@@ -1329,8 +1316,6 @@
      parser.add_option("--novice", action="store_const",
                        dest="mode", const="novice")
 
-.. % $Id: reference.txt 519 2006-06-11 14:39:11Z gward $
-
 
 .. _optparse-option-callbacks:
 
@@ -1626,8 +1611,6 @@
 (probably causing an error), rather than as arguments to ``"-c"``.  Fixing this
 is left as an exercise for the reader.
 
-.. % $Id: callbacks.txt 415 2004-09-30 02:26:17Z greg $
-
 
 .. _optparse-extending-optparse:
 
@@ -1818,6 +1801,3 @@
   about setting a default value for the option destinations in question; they can
   just leave the default as None and :meth:`ensure_value` will take care of
   getting it right when it's needed.
-
-.. % $Id: extending.txt 517 2006-06-10 16:18:11Z gward $
-
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 2a8325a..71e5f36 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -291,9 +291,8 @@
 
    Set the current process' user id. Availability: Unix.
 
-.. % placed in this section since it relates to errno.... a little weak
 
-
+.. placed in this section since it relates to errno.... a little weak
 .. function:: strerror(code)
 
    Return the error message corresponding to the error code in *code*.
diff --git a/Doc/library/ossaudiodev.rst b/Doc/library/ossaudiodev.rst
index 7be838b..e23b049 100644
--- a/Doc/library/ossaudiodev.rst
+++ b/Doc/library/ossaudiodev.rst
@@ -11,33 +11,33 @@
 OSS is available for a wide range of open-source and commercial Unices, and is
 the standard audio interface for Linux and recent versions of FreeBSD.
 
-.. % Things will get more complicated for future Linux versions, since
-.. % ALSA is in the standard kernel as of 2.5.x.  Presumably if you
-.. % use ALSA, you'll have to make sure its OSS compatibility layer
-.. % is active to use ossaudiodev, but you're gonna need it for the vast
-.. % majority of Linux audio apps anyways.
-.. % 
-.. % Sounds like things are also complicated for other BSDs.  In response
-.. % to my python-dev query, Thomas Wouters said:
-.. % 
-.. % > Likewise, googling shows OpenBSD also uses OSS/Free -- the commercial
-.. % > OSS installation manual tells you to remove references to OSS/Free from the
-.. % > kernel :)
-.. % 
-.. % but Aleksander Piotrowsk actually has an OpenBSD box, and he quotes
-.. % from its <soundcard.h>:
-.. % >  * WARNING!  WARNING!
-.. % >  * This is an OSS (Linux) audio emulator.
-.. % >  * Use the Native NetBSD API for developing new code, and this
-.. % >  * only for compiling Linux programs.
-.. % 
-.. % There's also an ossaudio manpage on OpenBSD that explains things
-.. % further.  Presumably NetBSD and OpenBSD have a different standard
-.. % audio interface.  That's the great thing about standards, there are so
-.. % many to choose from ... ;-)
-.. % 
-.. % This probably all warrants a footnote or two, but I don't understand
-.. % things well enough right now to write it!   --GPW
+.. Things will get more complicated for future Linux versions, since
+   ALSA is in the standard kernel as of 2.5.x.  Presumably if you
+   use ALSA, you'll have to make sure its OSS compatibility layer
+   is active to use ossaudiodev, but you're gonna need it for the vast
+   majority of Linux audio apps anyways.
+   
+   Sounds like things are also complicated for other BSDs.  In response
+   to my python-dev query, Thomas Wouters said:
+   
+   > Likewise, googling shows OpenBSD also uses OSS/Free -- the commercial
+   > OSS installation manual tells you to remove references to OSS/Free from the
+   > kernel :)
+   
+   but Aleksander Piotrowsk actually has an OpenBSD box, and he quotes
+   from its <soundcard.h>:
+   >  * WARNING!  WARNING!
+   >  * This is an OSS (Linux) audio emulator.
+   >  * Use the Native NetBSD API for developing new code, and this
+   >  * only for compiling Linux programs.
+   
+   There's also an ossaudio manpage on OpenBSD that explains things
+   further.  Presumably NetBSD and OpenBSD have a different standard
+   audio interface.  That's the great thing about standards, there are so
+   many to choose from ... ;-)
+   
+   This probably all warrants a footnote or two, but I don't understand
+   things well enough right now to write it!   --GPW
 
 
 .. seealso::
@@ -87,6 +87,10 @@
    second is required.  This is a historical artifact for compatibility with the
    older :mod:`linuxaudiodev` module which :mod:`ossaudiodev` supersedes.
 
+   .. XXX it might also be motivated
+      by my unfounded-but-still-possibly-true belief that the default
+      audio device varies unpredictably across operating systems.  -GW
+
 
 .. function:: openmixer([device])
 
diff --git a/Doc/library/othergui.rst b/Doc/library/othergui.rst
index 5a84285..b36568d 100644
--- a/Doc/library/othergui.rst
+++ b/Doc/library/othergui.rst
@@ -5,7 +5,6 @@
 
 There are an number of extension widget sets to :mod:`Tkinter`.
 
-
 .. seealso::
 
    `Python megawidgets <http://pmw.sourceforge.net/>`_
@@ -29,12 +28,10 @@
       since they can operate directly on Python data structures, without having to
       transfer data through the Tk/Tcl layer.
 
-      .. % 
 
 The major cross-platform (Windows, Mac OS X, Unix-like) GUI toolkits that are
 also available for Python:
 
-
 .. seealso::
 
    `PyGTK <http://www.pygtk.org/>`_
diff --git a/Doc/library/parser.rst b/Doc/library/parser.rst
index 9323090..b0e509a 100644
--- a/Doc/library/parser.rst
+++ b/Doc/library/parser.rst
@@ -8,13 +8,12 @@
 .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
 
 
-.. % Copyright 1995 Virginia Polytechnic Institute and State University
-.. % and Fred L. Drake, Jr.  This copyright notice must be distributed on
-.. % all copies, but this document otherwise may be distributed as part
-.. % of the Python distribution.  No fee may be charged for this document
-.. % in any representation, either on paper or electronically.  This
-.. % restriction does not affect other elements in a distributed package
-.. % in any way.
+.. Copyright 1995 Virginia Polytechnic Institute and State University and Fred
+   L. Drake, Jr.  This copyright notice must be distributed on all copies, but
+   this document otherwise may be distributed as part of the Python
+   distribution.  No fee may be charged for this document in any representation,
+   either on paper or electronically.  This restriction does not affect other
+   elements in a distributed package in any way.
 
 .. index:: single: parsing; Python source code
 
diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst
index c88fc29..7e04f5b 100644
--- a/Doc/library/pickle.rst
+++ b/Doc/library/pickle.rst
@@ -1,4 +1,3 @@
-
 :mod:`pickle` --- Python object serialization
 =============================================
 
@@ -12,10 +11,8 @@
 
 .. module:: pickle
    :synopsis: Convert Python objects to streams of bytes and back.
-
-
-.. % Substantial improvements by Jim Kerr <jbkerr@sr.hp.com>.
-.. % Rewritten by Barry Warsaw <barry@zope.com>
+.. sectionauthor:: Jim Kerr <jbkerr@sr.hp.com>.
+.. sectionauthor:: Barry Warsaw <barry@zope.com>
 
 The :mod:`pickle` module implements a fundamental, but powerful algorithm for
 serializing and de-serializing a Python object structure.  "Pickling" is the
@@ -607,10 +604,10 @@
 [#]_  Setting :attr:`persistent_load` to a list is usually used in conjunction
 with the :meth:`noload` method on the Unpickler.
 
-.. % BAW: Both pickle and cPickle support something called
-.. % inst_persistent_id() which appears to give unknown types a second
-.. % shot at producing a persistent id.  Since Jim Fulton can't remember
-.. % why it was added or what it's for, I'm leaving it undocumented.
+.. BAW: Both pickle and cPickle support something called inst_persistent_id()
+   which appears to give unknown types a second shot at producing a persistent
+   id.  Since Jim Fulton can't remember why it was added or what it's for, I'm
+   leaving it undocumented.
 
 
 .. _pickle-sub:
diff --git a/Doc/library/platform.rst b/Doc/library/platform.rst
index a668075..cddaa58 100644
--- a/Doc/library/platform.rst
+++ b/Doc/library/platform.rst
@@ -194,16 +194,12 @@
 Win95/98 specific
 ^^^^^^^^^^^^^^^^^
 
-
 .. function:: popen(cmd, mode='r', bufsize=None)
 
    Portable :func:`popen` interface.  Find a working popen implementation
    preferring :func:`win32pipe.popen`.  On Windows NT, :func:`win32pipe.popen`
    should work; on Windows 9x it hangs due to bugs in the MS C library.
 
-   .. % This KnowledgeBase article appears to be missing...
-   .. % See also \ulink{MS KnowledgeBase article Q150956}{}.
-
 
 Mac OS Platform
 ---------------
@@ -231,7 +227,7 @@
    Tries to determine the name of the OS distribution name Returns a tuple
    ``(distname, version, id)`` which defaults to the args given as parameters.
 
-.. % Document linux_distribution()?
+.. XXX Document linux_distribution()?
 
 
 .. function:: libc_ver(executable=sys.executable, lib='', version='', chunksize=2048)
diff --git a/Doc/library/poplib.rst b/Doc/library/poplib.rst
index b462ec5..893296f 100644
--- a/Doc/library/poplib.rst
+++ b/Doc/library/poplib.rst
@@ -4,16 +4,11 @@
 
 .. module:: poplib
    :synopsis: POP3 protocol client (requires sockets).
-
+.. sectionauthor:: Andrew T. Csillag
+.. revised by ESR, January 2000
 
 .. index:: pair: POP3; protocol
 
-.. % By Andrew T. Csillag
-.. % Even though I put it into LaTeX, I cannot really claim that I wrote
-.. % it since I just stole most of it from the poplib.py source code and
-.. % the imaplib ``chapter''.
-.. % Revised by ESR, January 2000
-
 This module defines a class, :class:`POP3`, which encapsulates a connection to a
 POP3 server and implements the protocol as defined in :rfc:`1725`.  The
 :class:`POP3` class supports both the minimal and optional command sets.
diff --git a/Doc/library/pprint.rst b/Doc/library/pprint.rst
index 2e4f3f2..22407ed 100644
--- a/Doc/library/pprint.rst
+++ b/Doc/library/pprint.rst
@@ -24,7 +24,7 @@
 
 The :mod:`pprint` module defines one class:
 
-.. % First the implementation class:
+.. First the implementation class:
 
 
 .. class:: PrettyPrinter(...)
@@ -65,8 +65,7 @@
 
 The :class:`PrettyPrinter` class supports several derivative functions:
 
-.. % Now the derivative functions:
-
+.. Now the derivative functions:
 
 .. function:: pformat(object[, indent[, width[, depth]]])
 
@@ -123,9 +122,6 @@
    recursive reference will be represented as ``<Recursion on typename with
    id=number>``.  The representation is not otherwise formatted.
 
-.. % This example is outside the {funcdesc} to keep it from running over
-.. % the right margin.
-
 ::
 
    >>> pprint.saferepr(stuff)
diff --git a/Doc/library/profile.rst b/Doc/library/profile.rst
index cc02436..fe3cadf 100644
--- a/Doc/library/profile.rst
+++ b/Doc/library/profile.rst
@@ -72,47 +72,47 @@
 :mod:`cProfile` is really a compatibility layer on top of the internal
 :mod:`_lsprof` module.
 
-.. % \section{How Is This Profiler Different From The Old Profiler?}
-.. % \nodename{Profiler Changes}
-.. % 
-.. % (This section is of historical importance only; the old profiler
-.. % discussed here was last seen in Python 1.1.)
-.. % 
-.. % The big changes from old profiling module are that you get more
-.. % information, and you pay less CPU time.  It's not a trade-off, it's a
-.. % trade-up.
-.. % 
-.. % To be specific:
-.. % 
-.. % \begin{description}
-.. % 
-.. % \item[Bugs removed:]
-.. % Local stack frame is no longer molested, execution time is now charged
-.. % to correct functions.
-.. % 
-.. % \item[Accuracy increased:]
-.. % Profiler execution time is no longer charged to user's code,
-.. % calibration for platform is supported, file reads are not done \emph{by}
-.. % profiler \emph{during} profiling (and charged to user's code!).
-.. % 
-.. % \item[Speed increased:]
-.. % Overhead CPU cost was reduced by more than a factor of two (perhaps a
-.. % factor of five), lightweight profiler module is all that must be
-.. % loaded, and the report generating module (\module{pstats}) is not needed
-.. % during profiling.
-.. % 
-.. % \item[Recursive functions support:]
-.. % Cumulative times in recursive functions are correctly calculated;
-.. % recursive entries are counted.
-.. % 
-.. % \item[Large growth in report generating UI:]
-.. % Distinct profiles runs can be added together forming a comprehensive
-.. % report; functions that import statistics take arbitrary lists of
-.. % files; sorting criteria is now based on keywords (instead of 4 integer
-.. % options); reports shows what functions were profiled as well as what
-.. % profile file was referenced; output format has been improved.
-.. % 
-.. % \end{description}
+.. \section{How Is This Profiler Different From The Old Profiler?}
+   \nodename{Profiler Changes}
+   
+   (This section is of historical importance only; the old profiler
+   discussed here was last seen in Python 1.1.)
+   
+   The big changes from old profiling module are that you get more
+   information, and you pay less CPU time.  It's not a trade-off, it's a
+   trade-up.
+   
+   To be specific:
+   
+   \begin{description}
+   
+   \item[Bugs removed:]
+   Local stack frame is no longer molested, execution time is now charged
+   to correct functions.
+   
+   \item[Accuracy increased:]
+   Profiler execution time is no longer charged to user's code,
+   calibration for platform is supported, file reads are not done \emph{by}
+   profiler \emph{during} profiling (and charged to user's code!).
+   
+   \item[Speed increased:]
+   Overhead CPU cost was reduced by more than a factor of two (perhaps a
+   factor of five), lightweight profiler module is all that must be
+   loaded, and the report generating module (\module{pstats}) is not needed
+   during profiling.
+   
+   \item[Recursive functions support:]
+   Cumulative times in recursive functions are correctly calculated;
+   recursive entries are counted.
+   
+   \item[Large growth in report generating UI:]
+   Distinct profiles runs can be added together forming a comprehensive
+   report; functions that import statistics take arbitrary lists of
+   files; sorting criteria is now based on keywords (instead of 4 integer
+   options); reports shows what functions were profiled as well as what
+   profile file was referenced; output format has been improved.
+   
+   \end{description}
 
 
 .. _profile-instant:
@@ -172,7 +172,7 @@
 string that is printed. The third method printed out all the statistics.  You
 might try the following sort calls:
 
-.. % (this is to comply with the semantics of the old profiler).
+.. (this is to comply with the semantics of the old profiler).
 
 ::
 
@@ -363,6 +363,8 @@
    a single report.  If additional files need to be combined with data in an
    existing :class:`Stats` object, the :meth:`add` method can be used.
 
+   .. (such as the old system profiler).
+
 
 .. _profile-stats:
 
@@ -457,7 +459,7 @@
    (numeric) is used, only one sort key (the numeric key) will be used, and
    additional arguments will be silently ignored.
 
-   .. % For compatibility with the old profiler,
+   .. For compatibility with the old profiler,
 
 
 .. method:: Stats.reverse_order()
@@ -466,8 +468,7 @@
    within the object.  Note that by default ascending vs descending order is
    properly selected based on the sort key of choice.
 
-   .. % This method is provided primarily for
-   .. % compatibility with the old profiler.
+   .. This method is provided primarily for compatibility with the old profiler.
 
 
 .. method:: Stats.print_stats([restriction, ...])
diff --git a/Doc/library/py_compile.rst b/Doc/library/py_compile.rst
index c815846..de9a80e 100644
--- a/Doc/library/py_compile.rst
+++ b/Doc/library/py_compile.rst
@@ -3,11 +3,8 @@
 
 .. module:: py_compile
    :synopsis: Generate byte-code files from Python source files.
-
-.. % Documentation based on module docstrings, by Fred L. Drake, Jr.
-.. % <fdrake@acm.org>
-
-
+.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
+.. documentation based on module docstrings
 
 .. index:: pair: file; byte-code
 
diff --git a/Doc/library/pyclbr.rst b/Doc/library/pyclbr.rst
index a052a69..788c60c 100644
--- a/Doc/library/pyclbr.rst
+++ b/Doc/library/pyclbr.rst
@@ -24,7 +24,7 @@
    be a sequence, and is used to augment the value of ``sys.path``, which is
    used to locate module source code.
 
-   .. % The 'inpackage' parameter appears to be for internal use only....
+   .. The 'inpackage' parameter appears to be for internal use only....
 
 
 .. function:: readmodule_ex(module[, path])
@@ -35,7 +35,7 @@
    the key ``'__path__'`` in the returned dictionary has as its value a list which
    contains the package search path.
 
-   .. % The 'inpackage' parameter appears to be for internal use only....
+   .. The 'inpackage' parameter appears to be for internal use only....
 
 
 .. _pyclbr-class-objects:
diff --git a/Doc/library/pyexpat.rst b/Doc/library/pyexpat.rst
index fcb7705..29ca540 100644
--- a/Doc/library/pyexpat.rst
+++ b/Doc/library/pyexpat.rst
@@ -7,14 +7,13 @@
 .. moduleauthor:: Paul Prescod <paul@prescod.net>
 
 
-.. % Markup notes:
-.. % 
-.. % Many of the attributes of the XMLParser objects are callbacks.
-.. % Since signature information must be presented, these are described
-.. % using the methoddesc environment.  Since they are attributes which
-.. % are set by client code, in-text references to these attributes
-.. % should be marked using the \member macro and should not include the
-.. % parentheses used when marking functions and methods.
+.. Markup notes:
+
+   Many of the attributes of the XMLParser objects are callbacks.  Since
+   signature information must be presented, these are described using the method
+   directive.  Since they are attributes which are set by client code, in-text
+   references to these attributes should be marked using the :member: role.
+
 
 .. index:: single: Expat
 
diff --git a/Doc/library/re.rst b/Doc/library/re.rst
index 88912eb..49c5215 100644
--- a/Doc/library/re.rst
+++ b/Doc/library/re.rst
@@ -84,8 +84,6 @@
 
 The special characters are:
 
-.. % 
-
 ``'.'``
    (Dot.)  In the default mode, this matches any character except a newline.  If
    the :const:`DOTALL` flag has been specified, this matches any character
@@ -297,8 +295,6 @@
 If the ordinary character is not on the list, then the resulting RE will match
 the second character.  For example, ``\$`` matches the character ``'$'``.
 
-.. % 
-
 ``\number``
    Matches the contents of the group of the same number.  Groups are numbered
    starting from 1.  For example, ``(.+) \1`` matches ``'the the'`` or ``'55 55'``,
@@ -384,9 +380,6 @@
 a group reference.  As for string literals, octal escapes are always at most
 three digits in length.
 
-.. % Note the lack of a period in the section title; it causes problems
-.. % with readers of the GNU info version.  See http://www.python.org/sf/581414.
-
 
 .. _matching-searching:
 
@@ -406,15 +399,11 @@
 :const:`MULTILINE` mode also immediately following a newline.  The "match"
 operation succeeds only if the pattern matches at the start of the string
 regardless of mode, or at the starting position given by the optional *pos*
-argument regardless of whether a newline precedes it.
-
-.. % Examples from Tim Peters:
-
-::
+argument regardless of whether a newline precedes it.  ::
 
    >>> re.match("c", "abcdef") # No match
    >>> re.search("c", "abcdef")
-  <_sre.SRE_Match object at 0x827e9c0> # Match
+   <_sre.SRE_Match object at 0x827e9c0> # Match
 
 
 .. _contents-of-module-re:
@@ -450,10 +439,9 @@
    but the version using :func:`compile` is more efficient when the expression
    will be used several times in a single program.
 
-   .. % (The compiled version of the last pattern passed to
-   .. % \function{re.match()} or \function{re.search()} is cached, so
-   .. % programs that use only a single regular expression at a time needn't
-   .. % worry about compiling regular expressions.)
+   .. (The compiled version of the last pattern passed to :func:`re.match` or
+      :func:`re.search` is cached, so programs that use only a single regular
+      expression at a time needn't worry about compiling regular expressions.)
 
 
 .. data:: I
diff --git a/Doc/library/sched.rst b/Doc/library/sched.rst
index c262a8d..57f9b5c 100644
--- a/Doc/library/sched.rst
+++ b/Doc/library/sched.rst
@@ -1,4 +1,3 @@
-
 :mod:`sched` --- Event scheduler
 ================================
 
@@ -6,9 +5,6 @@
    :synopsis: General purpose event scheduler.
 .. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
 
-
-.. % LaTeXed and enhanced from comments in file
-
 .. index:: single: event scheduling
 
 The :mod:`sched` module defines a class which implements a general purpose event
diff --git a/Doc/library/select.rst b/Doc/library/select.rst
index f68a0da..4a97179 100644
--- a/Doc/library/select.rst
+++ b/Doc/library/select.rst
@@ -58,8 +58,6 @@
    class yourself, as long as it has an appropriate :meth:`fileno` method (that
    really returns a file descriptor, not just a random integer).
 
-   .. % 
-
    .. note::
 
       .. index:: single: WinSock
diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst
index 3fdaa1f..3275179 100644
--- a/Doc/library/shutil.rst
+++ b/Doc/library/shutil.rst
@@ -5,9 +5,7 @@
 .. module:: shutil
    :synopsis: High-level file operations, including copying.
 .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
-
-
-.. % partly based on the docstrings
+.. partly based on the docstrings
 
 .. index::
    single: file; copying
diff --git a/Doc/library/sndhdr.rst b/Doc/library/sndhdr.rst
index 90d71a9..01a3917 100644
--- a/Doc/library/sndhdr.rst
+++ b/Doc/library/sndhdr.rst
@@ -5,9 +5,7 @@
 .. module:: sndhdr
    :synopsis: Determine type of a sound file.
 .. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
-
-
-.. % Based on comments in the module source file.
+.. Based on comments in the module source file.
 
 .. index::
    single: A-LAW
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index 5c3d9f6..a6557e1 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -542,7 +542,7 @@
    file object and socket object may be closed or garbage-collected independently.
    The socket must be in blocking mode (it can not have a timeout). The optional
    *mode* and *bufsize* arguments are interpreted the same way as by the built-in
-   :func:`file` function; see :ref:`built-in-funcs` for more information.
+   :func:`file` function.
 
 
 .. method:: socket.recv(bufsize[, flags])
diff --git a/Doc/library/socketserver.rst b/Doc/library/socketserver.rst
index 96fae6b..c900ea7 100644
--- a/Doc/library/socketserver.rst
+++ b/Doc/library/socketserver.rst
@@ -115,9 +115,8 @@
 important for stream services where each client can potentially be connected for
 a long time (if threads or subprocesses cannot be used).
 
-.. % XXX should data and methods be intermingled, or separate?
-.. % how should the distinction between class and instance variables be
-.. % drawn?
+.. XXX should data and methods be intermingled, or separate?
+   how should the distinction between class and instance variables be drawn?
 
 
 Server Objects
@@ -171,8 +170,7 @@
 
 The server classes support the following class variables:
 
-.. % XXX should class variables be covered before instance variables, or
-.. % vice versa?
+.. XXX should class variables be covered before instance variables, or vice versa?
 
 
 .. data:: allow_reuse_address
@@ -199,8 +197,8 @@
 server classes like :class:`TCPServer`; these methods aren't useful to external
 users of the server object.
 
-.. % should the default implementations of these be documented, or should
-.. % it be assumed that the user will look at SocketServer.py?
+.. XXX should the default implementations of these be documented, or should
+   it be assumed that the user will look at SocketServer.py?
 
 
 .. function:: finish_request()
@@ -230,9 +228,9 @@
    or thread to handle the request; the :class:`ForkingMixIn` and
    :class:`ThreadingMixIn` classes do this.
 
-.. % Is there any point in documenting the following two functions?
-.. % What would the purpose of overriding them be: initializing server
-.. % instance variables, adding new network families?
+.. Is there any point in documenting the following two functions?
+   What would the purpose of overriding them be: initializing server
+   instance variables, adding new network families?
 
 
 .. function:: server_activate()
diff --git a/Doc/library/sqlite3.rst b/Doc/library/sqlite3.rst
index 0b569bf..9d12d34 100644
--- a/Doc/library/sqlite3.rst
+++ b/Doc/library/sqlite3.rst
@@ -349,7 +349,7 @@
    memory overhead. It will probably be better than your own custom
    dictionary-based approach or even a db_row based solution.
 
-   .. % XXX what's a db_row-based solution?
+   .. XXX what's a db_row-based solution?
 
 
 .. attribute:: Connection.text_factory
diff --git a/Doc/library/statvfs.rst b/Doc/library/statvfs.rst
index 6ec7c38..0b32f65 100644
--- a/Doc/library/statvfs.rst
+++ b/Doc/library/statvfs.rst
@@ -1,4 +1,3 @@
-
 :mod:`statvfs` --- Constants used with :func:`os.statvfs`
 =========================================================
 
@@ -7,8 +6,6 @@
 .. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
 
 
-.. % LaTeX'ed from comments in module
-
 The :mod:`statvfs` module defines constants so interpreting the result if
 :func:`os.statvfs`, which returns a tuple, can be made without remembering
 "magic numbers."  Each of the constants defined in this module is the *index* of
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 196ad49..9763cba 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -162,6 +162,24 @@
 +------------+-------------------------+-------+
 
 .. index::
+   pair: operator; comparison
+   operator: ==
+   operator: <
+   operator: <=
+   operator: >
+   operator: >=
+   operator: !=
+   operator: is
+   operator: is not
+
+Notes:
+
+(1)
+    ``!=`` can also be written ``<>``, but this is an obsolete usage
+    kept for backwards compatibility only. New code should always use
+    ``!=``.
+
+.. index::
    pair: object; numeric
    pair: objects; comparing
 
@@ -335,8 +353,8 @@
    
    .. versionadded:: 2.6
 
-   
-.. % XXXJH exceptions: overflow (when? what operations?) zerodivision
+
+.. XXXJH exceptions: overflow (when? what operations?) zerodivision
 
 
 .. _bitstring-ops:
@@ -1154,6 +1172,8 @@
 Since Python strings have an explicit length, ``%s`` conversions do not assume
 that ``'\0'`` is the end of the string.
 
+.. XXX Examples?
+
 For safety reasons, floating point precisions are clipped to 50; ``%f``
 conversions for numbers whose absolute value is over 1e25 are replaced by ``%g``
 conversions. [#]_  All other errors raise exceptions.
@@ -1845,8 +1865,7 @@
 .. XXX this is quite out of date, must be updated with "io" module
 
 File objects are implemented using C's ``stdio`` package and can be
-created with the built-in :func:`file` and (more usually) :func:`open`
-constructors described in the :ref:`built-in-funcs` section. [#]_ File
+created with the built-in :func:`open` function.  File
 objects are also returned by some other built-in functions and methods,
 such as :func:`os.popen` and :func:`os.fdopen` and the :meth:`makefile`
 method of socket objects. Temporary files can be created using the
@@ -1870,7 +1889,7 @@
 
    As of Python 2.5, you can avoid having to call this method explicitly if you use
    the :keyword:`with` statement.  For example, the following code will
-   automatically close ``f`` when the :keyword:`with` block is exited::
+   automatically close *f* when the :keyword:`with` block is exited::
 
       from __future__ import with_statement
 
@@ -1998,6 +2017,9 @@
 
    Note that not all file objects are seekable.
 
+   .. versionchanged:: 2.6
+      Passing float values as offset has been deprecated.
+
 
 .. method:: file.tell()
 
@@ -2407,9 +2429,6 @@
    strings of meaningless digits without hampering correct use and without having
    to know the exact precision of floating point values on a particular machine.
 
-.. [#] :func:`file` is new in Python 2.2.  The older built-in :func:`open` is an alias
-   for :func:`file`.
-
 .. [#] The advantage of leaving the newline on is that returning an empty string is
    then an unambiguous EOF indication.  It is also possible (in cases where it
    might matter, for example, if you want to make an exact copy of a file while
diff --git a/Doc/library/struct.rst b/Doc/library/struct.rst
index 9e527f1..ee568e6 100644
--- a/Doc/library/struct.rst
+++ b/Doc/library/struct.rst
@@ -175,7 +175,7 @@
 processors are little-endian.
 
 Native size and alignment are determined using the C compiler's
-:keyword:`sizeof` expression.  This is always combined with native byte order.
+``sizeof`` expression.  This is always combined with native byte order.
 
 Standard size and alignment are as follows: no alignment is required for any
 type (so you have to use pad bytes); :ctype:`short` is 2 bytes; :ctype:`int` and
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 368bd4c..0205937 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -458,9 +458,8 @@
    implementation and, where needed, by :mod:`sitecustomize`.  Once used by the
    :mod:`site` module, it is removed from the :mod:`sys` module's namespace.
 
-   .. % Note that \refmodule{site} is not imported if
-   .. % the \programopt{-S} option is passed to the interpreter, in which
-   .. % case this function will remain available.
+   .. Note that :mod:`site` is not imported if the :option:`-S` option is passed
+      to the interpreter, in which case this function will remain available.
 
 
 .. function:: setdlopenflags(n)
diff --git a/Doc/library/tabnanny.rst b/Doc/library/tabnanny.rst
index 4402e78..f43659f 100644
--- a/Doc/library/tabnanny.rst
+++ b/Doc/library/tabnanny.rst
@@ -8,9 +8,7 @@
 .. moduleauthor:: Tim Peters <tim_one@users.sourceforge.net>
 .. sectionauthor:: Peter Funk <pf@artcom-gmbh.de>
 
-
-.. % rudimentary documentation based on module comments, by Peter Funk
-.. % <pf@artcom-gmbh.de>
+.. rudimentary documentation based on module comments
 
 For the time being this module is intended to be called as a script. However it
 is possible to import it into an IDE and use the function :func:`check`
@@ -55,14 +53,11 @@
    This function is used by :func:`check` as a callback parameter to the function
    :func:`tokenize.tokenize`.
 
-.. % XXX FIXME: Document \function{errprint},
-.. % \function{format_witnesses} \class{Whitespace}
-.. % check_equal, indents
-.. % \function{reset_globals}
+.. XXX document errprint, format_witnesses, Whitespace, check_equal, indents,
+   reset_globals
 
 
 .. seealso::
 
    Module :mod:`tokenize`
       Lexical scanner for Python source code.
-
diff --git a/Doc/library/tarfile.rst b/Doc/library/tarfile.rst
index 5f18155..9f049c1 100644
--- a/Doc/library/tarfile.rst
+++ b/Doc/library/tarfile.rst
@@ -205,10 +205,6 @@
    `GNU tar manual, Basic Tar Format <http://www.gnu.org/software/tar/manual/html_node/tar_134.html#SEC134>`_
       Documentation for tar archive files, including GNU tar extensions.
 
-.. % -----------------
-.. % TarFile Objects
-.. % -----------------
-
 
 .. _tarfile-objects:
 
@@ -421,10 +417,6 @@
    A dictionary containing key-value pairs of pax global headers.
 
 
-.. % -----------------
-.. % TarInfo Objects
-.. % -----------------
-
 
 .. _tarinfo-objects:
 
@@ -574,10 +566,6 @@
 
    Return :const:`True` if it is one of character device, block device or FIFO.
 
-.. % ------------------------
-.. % Examples
-.. % ------------------------
-
 
 .. _tar-examples:
 
@@ -635,10 +623,6 @@
        tar.extract(tarinfo)
    tar.close()
 
-.. % ------------
-.. % Tar format
-.. % ------------
-
 
 .. _tar-formats:
 
@@ -679,11 +663,6 @@
 * The SunOS tar extended format. This format is a variant of the POSIX.1-2001
   pax format, but is not compatible.
 
-.. % ----------------
-.. % Unicode issues
-.. % ----------------
-
-
 .. _tar-unicode:
 
 Unicode issues
diff --git a/Doc/library/test.rst b/Doc/library/test.rst
index 1ba4810..a0f7841 100644
--- a/Doc/library/test.rst
+++ b/Doc/library/test.rst
@@ -33,8 +33,6 @@
 Writing Unit Tests for the :mod:`test` package
 ----------------------------------------------
 
-.. % 
-
 It is preferred that tests that use the :mod:`unittest` module follow a few
 guidelines. One is to name the test module by starting it with ``test_`` and end
 it with the name of the module being tested. The test methods in the test module
diff --git a/Doc/library/thread.rst b/Doc/library/thread.rst
index 6c59954..867a1ff 100644
--- a/Doc/library/thread.rst
+++ b/Doc/library/thread.rst
@@ -63,12 +63,13 @@
    Raise the :exc:`SystemExit` exception.  When not caught, this will cause the
    thread to exit silently.
 
-.. % \begin{funcdesc}{exit_prog}{status}
-.. % Exit all threads and report the value of the integer argument
-.. % \var{status} as the exit status of the entire program.
-.. % \strong{Caveat:} code in pending \keyword{finally} clauses, in this thread
-.. % or in other threads, is not executed.
-.. % \end{funcdesc}
+..
+   function:: exit_prog(status)
+
+      Exit all threads and report the value of the integer argument
+      *status* as the exit status of the entire program.
+      **Caveat:** code in pending :keyword:`finally` clauses, in this thread
+      or in other threads, is not executed.
 
 
 .. function:: allocate_lock()
diff --git a/Doc/library/tix.rst b/Doc/library/tix.rst
index abe3ca5..f4bb20f 100644
--- a/Doc/library/tix.rst
+++ b/Doc/library/tix.rst
@@ -88,7 +88,7 @@
 demo of all the :mod:`Tix` widgets in the :file:`Demo/tix` directory of the
 standard distribution.
 
-.. % The Python sample code is still being added to Python, hence commented out
+.. The Python sample code is still being added to Python, hence commented out
 
 
 Basic Widgets
@@ -103,8 +103,8 @@
    widget to which a Balloon widget has been bound, a small pop-up window with a
    descriptive message will be shown on the screen.
 
-.. % Python Demo of:
-.. % \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl}
+.. Python Demo of:
+.. \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl}
 
 
 .. class:: ButtonBox()
@@ -113,8 +113,8 @@
    <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm>`_
    widget creates a box of buttons, such as is commonly used for ``Ok Cancel``.
 
-.. % Python Demo of:
-.. % \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl}
+.. Python Demo of:
+.. \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl}
 
 
 .. class:: ComboBox()
@@ -125,8 +125,8 @@
    choice by either typing in the entry subwdget or selecting from the listbox
    subwidget.
 
-.. % Python Demo of:
-.. % \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl}
+.. Python Demo of:
+.. \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl}
 
 
 .. class:: Control()
@@ -138,8 +138,8 @@
    the entry. The new value will be checked against the user-defined upper and
    lower limits.
 
-.. % Python Demo of:
-.. % \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl}
+.. Python Demo of:
+.. \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl}
 
 
 .. class:: LabelEntry()
@@ -149,8 +149,8 @@
    widget packages an entry widget and a label into one mega widget. It can be used
    be used to simplify the creation of "entry-form" type of interface.
 
-.. % Python Demo of:
-.. % \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl}
+.. Python Demo of:
+.. \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl}
 
 
 .. class:: LabelFrame()
@@ -161,8 +161,8 @@
    widgets inside a LabelFrame widget, one creates the new widgets relative to the
    :attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget.
 
-.. % Python Demo of:
-.. % \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl}
+.. Python Demo of:
+.. \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl}
 
 
 .. class:: Meter()
@@ -172,8 +172,8 @@
    can be used to show the progress of a background job which may take a long time
    to execute.
 
-.. % Python Demo of:
-.. % \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl}
+.. Python Demo of:
+.. \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl}
 
 
 .. class:: OptionMenu()
@@ -182,8 +182,8 @@
    <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm>`_
    creates a menu button of options.
 
-.. % Python Demo of:
-.. % \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl}
+.. Python Demo of:
+.. \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl}
 
 
 .. class:: PopupMenu()
@@ -194,8 +194,8 @@
    of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code
    to manipulate.
 
-.. % Python Demo of:
-.. % \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl}
+.. Python Demo of:
+.. \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl}
 
 
 .. class:: Select()
@@ -205,8 +205,8 @@
    is a container of button subwidgets. It can be used to provide radio-box or
    check-box style of selection options for the user.
 
-.. % Python Demo of:
-.. % \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl}
+.. Python Demo of:
+.. \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl}
 
 
 .. class:: StdButtonBox()
@@ -215,8 +215,8 @@
    <http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm>`_
    widget is a group of standard buttons for Motif-like dialog boxes.
 
-.. % Python Demo of:
-.. % \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl}
+.. Python Demo of:
+.. \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl}
 
 
 File Selectors
@@ -231,8 +231,8 @@
    sub-directories. The user can choose one of the directories displayed in the
    list or change to another directory.
 
-.. % Python Demo of:
-.. % \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl}
+.. Python Demo of:
+.. \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl}
 
 
 .. class:: DirTree()
@@ -243,8 +243,8 @@
    sub-directories. The user can choose one of the directories displayed in the
    list or change to another directory.
 
-.. % Python Demo of:
-.. % \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl}
+.. Python Demo of:
+.. \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl}
 
 
 .. class:: DirSelectDialog()
@@ -255,8 +255,8 @@
    can use this dialog window to navigate through the file system to select the
    desired directory.
 
-.. % Python Demo of:
-.. % \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl}
+.. Python Demo of:
+.. \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl}
 
 
 .. class:: DirSelectBox()
@@ -276,8 +276,8 @@
    :class:`ExFileSelectBox` widget is very similar to the standard file dialog on
    MS Windows 3.1.
 
-.. % Python Demo of:
-.. % \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl}
+.. Python Demo of:
+.. \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl}
 
 
 .. class:: FileSelectBox()
@@ -289,8 +289,8 @@
    selected into a :class:`ComboBox` widget so that they can be quickly selected
    again.
 
-.. % Python Demo of:
-.. % \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl}
+.. Python Demo of:
+.. \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl}
 
 
 .. class:: FileEntry()
@@ -301,8 +301,8 @@
    manually. Alternatively, the user can press the button widget that sits next to
    the entry, which will bring up a file selection dialog.
 
-.. % Python Demo of:
-.. % \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl}
+.. Python Demo of:
+.. \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl}
 
 
 Hierachical ListBox
@@ -317,8 +317,8 @@
    file system directory trees. The list entries are indented and connected by
    branch lines according to their places in the hierarchy.
 
-.. % Python Demo of:
-.. % \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl}
+.. Python Demo of:
+.. \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl}
 
 
 .. class:: CheckList()
@@ -329,12 +329,12 @@
    similarly to the Tk checkbutton or radiobutton widgets, except it is capable of
    handling many more items than checkbuttons or radiobuttons.
 
-.. % Python Demo of:
-.. % \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl}
-.. % Python Demo of:
-.. % \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl}
-.. % Python Demo of:
-.. % \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl}
+.. Python Demo of:
+.. \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl}
+.. Python Demo of:
+.. \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl}
+.. Python Demo of:
+.. \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl}
 
 
 .. class:: Tree()
@@ -344,10 +344,10 @@
    can be used to display hierarchical data in a tree form. The user can adjust the
    view of the tree by opening or closing parts of the tree.
 
-.. % Python Demo of:
-.. % \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl}
-.. % Python Demo of:
-.. % \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl}
+.. Python Demo of:
+.. \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl}
+.. Python Demo of:
+.. \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl}
 
 
 Tabular ListBox
@@ -364,18 +364,18 @@
    in a two dimensional format and (2) you can use graphical images as well as
    multiple colors and fonts for the list entries.
 
-.. % Python Demo of:
-.. % \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl}
-.. % Python Demo of:
-.. % \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl}
-.. % Grid has yet to be added to Python
-.. % \subsubsection{Grid Widget}
-.. % Python Demo of:
-.. % \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl}
-.. % Python Demo of:
-.. % \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl}
-.. % Python Demo of:
-.. % \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl}
+.. Python Demo of:
+.. \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl}
+.. Python Demo of:
+.. \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl}
+.. Grid has yet to be added to Python
+.. \subsubsection{Grid Widget}
+.. Python Demo of:
+.. \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl}
+.. Python Demo of:
+.. \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl}
+.. Python Demo of:
+.. \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl}
 
 
 Manager Widgets
@@ -390,8 +390,8 @@
    The panes can be arranged either vertically or horizontally.  The user changes
    the sizes of the panes by dragging the resize handle between two panes.
 
-.. % Python Demo of:
-.. % \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl}
+.. Python Demo of:
+.. \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl}
 
 
 .. class:: ListNoteBook()
@@ -404,8 +404,8 @@
    can be shown. The user can navigate through these pages by choosing the name of
    the desired page in the :attr:`hlist` subwidget.
 
-.. % Python Demo of:
-.. % \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl}
+.. Python Demo of:
+.. \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl}
 
 
 .. class:: NoteBook()
@@ -417,18 +417,18 @@
    these pages can be shown. The user can navigate through these pages by choosing
    the visual "tabs" at the top of the NoteBook widget.
 
-.. % Python Demo of:
-.. % \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl}
+.. Python Demo of:
+.. \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl}
 
-.. % \subsubsection{Scrolled Widgets}
-.. % Python Demo of:
-.. % \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl}
-.. % Python Demo of:
-.. % \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl}
-.. % Python Demo of:
-.. % \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl}
-.. % Python Demo of:
-.. % \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl}
+.. \subsubsection{Scrolled Widgets}
+.. Python Demo of:
+.. \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl}
+.. Python Demo of:
+.. \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl}
+.. Python Demo of:
+.. \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl}
+.. Python Demo of:
+.. \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl}
 
 
 Image Types
@@ -440,10 +440,10 @@
   capabilities to all :mod:`Tix` and :mod:`Tkinter` widgets to create color images
   from XPM files.
 
-  .. % Python Demo of:
-  .. % \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl}
-  .. % Python Demo of:
-  .. % \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl}
+  .. Python Demo of:
+  .. \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl}
+  .. Python Demo of:
+  .. \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl}
 
 * `Compound
   <http://tix.sourceforge.net/dist/current/man/html/TixCmd/compound.htm>`_ image
@@ -453,14 +453,14 @@
   display a bitmap and a text string simultaneously in a Tk :class:`Button`
   widget.
 
-  .. % Python Demo of:
-  .. % \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl}
-  .. % Python Demo of:
-  .. % \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl}
-  .. % Python Demo of:
-  .. % \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl}
-  .. % Python Demo of:
-  .. % \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl}
+  .. Python Demo of:
+  .. \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl}
+  .. Python Demo of:
+  .. \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl}
+  .. Python Demo of:
+  .. \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl}
+  .. Python Demo of:
+  .. \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl}
 
 
 Miscellaneous Widgets
diff --git a/Doc/library/tk.rst b/Doc/library/tk.rst
index bb852d2..3e2f100 100644
--- a/Doc/library/tk.rst
+++ b/Doc/library/tk.rst
@@ -36,8 +36,8 @@
    idle.rst
    othergui.rst
 
-.. % Other sections I have in mind are
-.. % Tkinter internals
-.. % Freezing Tkinter applications
+.. Other sections I have in mind are
+   Tkinter internals
+   Freezing Tkinter applications
 
 
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index f6c5c61..4d5cce8 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -59,7 +59,7 @@
    widget of Tk which usually is the main window of an application. Each instance
    has its own associated Tcl interpreter.
 
-   .. % FIXME: The following keyword arguments are currently recognized:
+   .. FIXME: The following keyword arguments are currently recognized:
 
 
 .. function:: Tcl(screenName=None, baseName=None, className='Tk', useTk=0)
@@ -114,8 +114,6 @@
 Tkinter.  Rather, it is intended as a stop gap, providing some introductory
 orientation on the system.
 
-.. % Converted to LaTeX by Mike Clarkson.
-
 Credits:
 
 * Tkinter was written by Steen Lumholt and Guido van Rossum.
@@ -218,8 +216,6 @@
 programmers almost always refer to the classes at the very bottom of the
 hierarchy.
 
-.. % BriefTclTk.html
-
 Notes:
 
 * These classes are provided for the purposes of organizing certain functions
@@ -334,13 +330,6 @@
 How Tk and Tkinter are Related
 ------------------------------
 
-.. % Relationship.html
-
-.. note::
-
-   This was derived from a graphical image; the image will be used more directly in
-   a subsequent version of this document.
-
 From the top down:
 
 Your App Here (Python)
@@ -453,8 +442,6 @@
 
 .. index:: single: packing (widgets)
 
-.. % Packer.html
-
 The packer is one of Tk's geometry-management mechanisms.    Geometry managers
 are used to specify the relative positioning of the positioning of widgets
 within their container - their mutual *master*.  In contrast to the more
@@ -463,8 +450,6 @@
 *filling*, etc - and works everything out to determine the exact placement
 coordinates for you.
 
-.. % See also \citetitle[classes/ClassPacker.html]{the Packer class interface}.
-
 The size of any *master* widget is determined by the size of the "slave widgets"
 inside.  The packer is used to control where slave widgets appear inside the
 master into which they are packed.  You can pack widgets into frames, and frames
@@ -521,8 +506,6 @@
 ``value``.  This connection works both ways: if the variable changes for any
 reason, the widget it's connected to will be updated to reflect the new value.
 
-.. % VarCouplings.html
-
 Unfortunately, in the current implementation of :mod:`Tkinter` it is not
 possible to hand over an arbitrary Python variable to a widget through a
 ``variable`` or ``textvariable`` option.  The only kinds of variables for which
@@ -569,8 +552,6 @@
 
 .. index:: single: window manager (widgets)
 
-.. % WindowMgr.html
-
 In Tk, there is a utility command, ``wm``, for interacting with the window
 manager.  Options to the ``wm`` command allow you to control things like titles,
 placement, icon bitmaps, and the like.  In :mod:`Tkinter`, these commands have
@@ -585,8 +566,6 @@
 This method begins with an underscore to denote the fact that this function is
 part of the implementation, and not an interface to Tk functionality.
 
-.. % See also \citetitle[classes/ClassWm.html]{the Wm class interface}.
-
 Here are some examples of typical usage::
 
    from Tkinter import *
@@ -614,8 +593,6 @@
 
 .. index:: single: Tk Option Data Types
 
-.. % OptionTypes.html
-
 anchor
    Legal values are points of the compass: ``"n"``, ``"ne"``, ``"e"``, ``"se"``,
    ``"s"``, ``"sw"``, ``"w"``, ``"nw"``, and also ``"center"``.
@@ -695,8 +672,6 @@
    single: bind (widgets)
    single: events (widgets)
 
-.. % Bindings.html
-
 The bind method from the widget command allows you to watch for certain events
 and to have a callback function trigger when that event type occurs.  The form
 of the bind method is::
@@ -752,8 +727,6 @@
 point at a specific place in a Text widget, or to particular characters in an
 Entry widget, or to particular menu items in a Menu widget.
 
-.. % Index.html
-
 Entry widget indexes (index, view index, etc.)
    Entry widgets have options that refer to character positions in the text being
    displayed.  You can use these :mod:`Tkinter` functions to access these special
diff --git a/Doc/library/undoc.rst b/Doc/library/undoc.rst
index 942a924..ae8fae7 100644
--- a/Doc/library/undoc.rst
+++ b/Doc/library/undoc.rst
@@ -169,3 +169,27 @@
 in the build tree and either rebuilding Python if the modules are statically
 linked, or building and installing the shared object if using dynamically-loaded
 extensions.
+
+.. (lib-old is empty as of Python 2.5)
+
+   Those which are written in Python will be installed into the directory
+   \file{lib-old/} installed as part of the standard library.  To use
+   these, the directory must be added to \code{sys.path}, possibly using
+   \envvar{PYTHONPATH}.
+
+:mod:`timing`
+   --- Measure time intervals to high resolution (use :func:`time.clock` instead).
+
+
+SGI-specific Extension modules
+==============================
+
+The following are SGI specific, and may be out of touch with the current version
+of reality.
+
+:mod:`cl`
+   --- Interface to the SGI compression library.
+
+:mod:`sv`
+   --- Interface to the "simple video" board on SGI Indigo (obsolete hardware).
+
diff --git a/Doc/library/wave.rst b/Doc/library/wave.rst
index d03f091..b931fed 100644
--- a/Doc/library/wave.rst
+++ b/Doc/library/wave.rst
@@ -1,13 +1,10 @@
-.. % Documentations stolen and LaTeX'ed from comments in file.
-
-
 :mod:`wave` --- Read and write WAV files
 ========================================
 
 .. module:: wave
    :synopsis: Provide an interface to the WAV sound format.
 .. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
-
+.. Documentations stolen from comments in file.
 
 The :mod:`wave` module provides a convenient interface to the WAV sound format.
 It does not support compression/decompression, but it does support mono/stereo.
diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst
index fdfbae0..195ac95 100644
--- a/Doc/library/weakref.rst
+++ b/Doc/library/weakref.rst
@@ -13,8 +13,8 @@
 The :mod:`weakref` module allows the Python programmer to create :dfn:`weak
 references` to objects.
 
-.. % When making changes to the examples in this file, be sure to update
-.. % Lib/test/test_weakref.py::libreftest too!
+.. When making changes to the examples in this file, be sure to update
+   Lib/test/test_weakref.py::libreftest too!
 
 In the following, the term :dfn:`referent` means the object which is referred to
 by a weak reference.
@@ -306,7 +306,7 @@
 other data structures without forcing the objects to remain alive, but the
 objects can still be retrieved by ID if they do.
 
-.. % Example contributed by Tim Peters.
+.. Example contributed by Tim Peters.
 
 ::
 
diff --git a/Doc/library/wsgiref.rst b/Doc/library/wsgiref.rst
index 0118032..e43d850 100644
--- a/Doc/library/wsgiref.rst
+++ b/Doc/library/wsgiref.rst
@@ -27,7 +27,7 @@
 See http://www.wsgi.org for more information about WSGI, and links to tutorials
 and other resources.
 
-.. % XXX If you're just trying to write a web application...
+.. XXX If you're just trying to write a web application...
 
 
 :mod:`wsgiref.util` -- WSGI environment utilities
diff --git a/Doc/library/xml.dom.minidom.rst b/Doc/library/xml.dom.minidom.rst
index 1af07b3..84a95f1 100644
--- a/Doc/library/xml.dom.minidom.rst
+++ b/Doc/library/xml.dom.minidom.rst
@@ -201,11 +201,11 @@
 
 * Operations are used as methods. Since the DOM uses only :keyword:`in`
   parameters, the arguments are passed in normal order (from left to right).
-  There are no optional arguments. :keyword:`void` operations return ``None``.
+  There are no optional arguments. ``void`` operations return ``None``.
 
 * IDL attributes map to instance attributes. For compatibility with the OMG IDL
   language mapping for Python, an attribute ``foo`` can also be accessed through
-  accessor methods :meth:`_get_foo` and :meth:`_set_foo`.  :keyword:`readonly`
+  accessor methods :meth:`_get_foo` and :meth:`_set_foo`.  ``readonly``
   attributes must not be changed; this is not enforced at runtime.
 
 * The types ``short int``, ``unsigned int``, ``unsigned long long``, and
@@ -216,7 +216,7 @@
   Values of type ``DOMString`` may also be ``None`` where allowed to have the IDL
   ``null`` value by the DOM specification from the W3C.
 
-* :keyword:`const` declarations map to variables in their respective scope (e.g.
+* ``const`` declarations map to variables in their respective scope (e.g.
   ``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); they must not be changed.
 
 * ``DOMException`` is currently not supported in :mod:`xml.dom.minidom`.
diff --git a/Doc/library/xml.dom.rst b/Doc/library/xml.dom.rst
index d75db2c..76edd43 100644
--- a/Doc/library/xml.dom.rst
+++ b/Doc/library/xml.dom.rst
@@ -38,13 +38,13 @@
    package <http://pyxml.sourceforge.net/>`_.  Refer to the documentation bundled
    with that package for information on the current state of DOM Level 3 support.
 
-.. % What if your needs are somewhere between SAX and the DOM?  Perhaps
-.. % you cannot afford to load the entire tree in memory but you find the
-.. % SAX model somewhat cumbersome and low-level.  There is also a module
-.. % called xml.dom.pulldom that allows you to build trees of only the
-.. % parts of a document that you need structured access to.  It also has
-.. % features that allow you to find your way around the DOM.
-.. % See http://www.prescod.net/python/pulldom
+.. What if your needs are somewhere between SAX and the DOM?  Perhaps
+   you cannot afford to load the entire tree in memory but you find the
+   SAX model somewhat cumbersome and low-level.  There is also a module
+   called xml.dom.pulldom that allows you to build trees of only the
+   parts of a document that you need structured access to.  It also has
+   features that allow you to find your way around the DOM.
+   See http://www.prescod.net/python/pulldom
 
 DOM applications typically start by parsing some XML into a DOM.  How this is
 accomplished is not covered at all by DOM Level 1, and Level 2 provides only
@@ -148,7 +148,7 @@
 within the class rather than at the module level to conform with the DOM
 specifications.
 
-.. % Should the Node documentation go here?
+.. Should the Node documentation go here?
 
 
 .. _dom-objects:
@@ -893,7 +893,7 @@
 
    This is raised if data is specified for a node which does not support data.
 
-   .. % XXX  a better explanation is needed!
+   .. XXX  a better explanation is needed!
 
 
 .. exception:: NoModificationAllowedErr
@@ -906,7 +906,7 @@
 
    Raised when an invalid or illegal string is specified.
 
-   .. % XXX  how is this different from InvalidCharacterErr ???
+   .. XXX  how is this different from InvalidCharacterErr?
 
 
 .. exception:: WrongDocumentErr
@@ -988,8 +988,8 @@
 a Python string or Unicode string.  Applications should be able to handle
 Unicode whenever a string is returned from the DOM.
 
-The IDL :keyword:`null` value is mapped to ``None``, which may be accepted or
-provided by the implementation whenever :keyword:`null` is allowed by the API.
+The IDL ``null`` value is mapped to ``None``, which may be accepted or
+provided by the implementation whenever ``null`` is allowed by the API.
 
 
 .. _dom-accessor-methods:
@@ -998,7 +998,7 @@
 ^^^^^^^^^^^^^^^^
 
 The mapping from OMG IDL to Python defines accessor functions for IDL
-:keyword:`attribute` declarations in much the way the Java mapping does.
+``attribute`` declarations in much the way the Java mapping does.
 Mapping the IDL declarations ::
 
    readonly attribute string someValue;
@@ -1017,13 +1017,13 @@
 objects are accessed via CORBA. While this does require some additional
 consideration for CORBA DOM clients, the implementers with experience using DOM
 over CORBA from Python do not consider this a problem.  Attributes that are
-declared :keyword:`readonly` may not restrict write access in all DOM
+declared ``readonly`` may not restrict write access in all DOM
 implementations.
 
 In the Python DOM API, accessor functions are not required.  If provided, they
 should take the form defined by the Python IDL mapping, but these methods are
 considered unnecessary since the attributes are accessible directly from Python.
-"Set" accessors should never be provided for :keyword:`readonly` attributes.
+"Set" accessors should never be provided for ``readonly`` attributes.
 
 The IDL definitions do not fully embody the requirements of the W3C DOM API,
 such as the notion of certain objects, such as the return value of
diff --git a/Doc/library/xml.etree.rst b/Doc/library/xml.etree.rst
index 9d39559..a944765 100644
--- a/Doc/library/xml.etree.rst
+++ b/Doc/library/xml.etree.rst
@@ -12,7 +12,7 @@
 this package contains the :mod:`ElementTree`,  :mod:`ElementPath`, and
 :mod:`ElementInclude` modules from the full  ElementTree distribution.
 
-.. % XXX To be continued!
+.. XXX To be continued!
 
 
 .. seealso::
diff --git a/Doc/library/xml.sax.handler.rst b/Doc/library/xml.sax.handler.rst
index 3ef3c83..c31efd8 100644
--- a/Doc/library/xml.sax.handler.rst
+++ b/Doc/library/xml.sax.handler.rst
@@ -205,7 +205,7 @@
    information to the application to expand prefixes in those contexts itself, if
    necessary.
 
-   .. % XXX This is not really the default, is it? MvL
+   .. XXX This is not really the default, is it? MvL
 
    Note that :meth:`startPrefixMapping` and :meth:`endPrefixMapping` events are not
    guaranteed to be properly nested relative to each-other: all
diff --git a/Doc/library/xml.sax.reader.rst b/Doc/library/xml.sax.reader.rst
index bb802ee..5994371 100644
--- a/Doc/library/xml.sax.reader.rst
+++ b/Doc/library/xml.sax.reader.rst
@@ -348,8 +348,8 @@
 
    Return the value of attribute *name*.
 
-.. % getValueByQName, getNameByQName, getQNameByName, getQNames available
-.. % here already, but documented only for derived class.
+.. getValueByQName, getNameByQName, getQNameByName, getQNames available
+.. here already, but documented only for derived class.
 
 
 .. _attributes-ns-objects:
diff --git a/Doc/library/xmlrpclib.rst b/Doc/library/xmlrpclib.rst
index bde0688..176c929 100644
--- a/Doc/library/xmlrpclib.rst
+++ b/Doc/library/xmlrpclib.rst
@@ -1,4 +1,3 @@
-
 :mod:`xmlrpclib` --- XML-RPC client access
 ==========================================
 
@@ -8,8 +7,8 @@
 .. sectionauthor:: Eric S. Raymond <esr@snark.thyrsus.com>
 
 
-.. % Not everything is documented yet.  It might be good to describe
-.. % Marshaller, Unmarshaller, getparser, dumps, loads, and Transport.
+.. XXX Not everything is documented yet.  It might be good to describe
+   Marshaller, Unmarshaller, getparser, dumps, loads, and Transport.
 
 XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a
 transport.  With it, a client can call methods with parameters on a remote
@@ -529,11 +528,9 @@
        print("ERROR", v)
 
 To access an XML-RPC server through a proxy, you need to define  a custom
-transport.  The following example,  written by NoboNobo, shows how:
+transport.  The following example shows how:
 
-.. % fill in original author's name if we ever learn it
-
-.. % Example taken from http://lowlife.jp/nobonobo/wiki/xmlrpcwithproxy.html
+.. Example taken from http://lowlife.jp/nobonobo/wiki/xmlrpcwithproxy.html
 
 ::
 
diff --git a/Doc/library/zipfile.rst b/Doc/library/zipfile.rst
index 6c946f8..7515440 100644
--- a/Doc/library/zipfile.rst
+++ b/Doc/library/zipfile.rst
@@ -7,9 +7,6 @@
 .. moduleauthor:: James C. Ahlstrom <jim@interet.com>
 .. sectionauthor:: James C. Ahlstrom <jim@interet.com>
 
-
-.. % LaTeX markup by Fred L. Drake, Jr. <fdrake@acm.org>
-
 The ZIP file format is a common archive and compression standard. This module
 provides tools to create, read, write, append, and list a ZIP file.  Any
 advanced use of this module will require an understanding of the format, as
diff --git a/Doc/library/zlib.rst b/Doc/library/zlib.rst
index 449394c..dda0b9c 100644
--- a/Doc/library/zlib.rst
+++ b/Doc/library/zlib.rst
@@ -74,8 +74,6 @@
    the algorithm is designed for use as a checksum algorithm, it is not suitable
    for use as a general hash algorithm.
 
-   .. % 
-
 
 .. function:: decompress(string[, wbits[, bufsize]])
 
