Merged revisions 87050,87101,87146,87156,87172,87175,87371,87378,87522-87524,87526,87530-87535 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87050 | georg.brandl | 2010-12-04 18:09:30 +0100 (Sa, 04 Dez 2010) | 1 line

  Fix typo.
........
  r87101 | georg.brandl | 2010-12-06 23:02:48 +0100 (Mo, 06 Dez 2010) | 1 line

  Remove visible XXX comments.
........
  r87146 | georg.brandl | 2010-12-09 19:08:43 +0100 (Do, 09 Dez 2010) | 1 line

  Fix "seperate".
........
  r87156 | georg.brandl | 2010-12-10 11:01:44 +0100 (Fr, 10 Dez 2010) | 1 line

  #10668: fix wrong call of __init__.
........
  r87172 | georg.brandl | 2010-12-11 20:10:30 +0100 (Sa, 11 Dez 2010) | 1 line

  Avoid AttributeError(_closed) when a TemporaryDirectory is deallocated whose mkdtemp call failed.
........
  r87175 | georg.brandl | 2010-12-11 23:19:34 +0100 (Sa, 11 Dez 2010) | 1 line

  Fix markup.
........
  r87371 | georg.brandl | 2010-12-18 17:21:58 +0100 (Sa, 18 Dez 2010) | 1 line

  Fix typo.
........
  r87378 | georg.brandl | 2010-12-18 18:51:28 +0100 (Sa, 18 Dez 2010) | 1 line

  #10723: add missing builtin exceptions.
........
  r87522 | georg.brandl | 2010-12-28 10:16:12 +0100 (Di, 28 Dez 2010) | 1 line

  Replace sys.maxint mention by sys.maxsize.
........
  r87523 | georg.brandl | 2010-12-28 10:18:24 +0100 (Di, 28 Dez 2010) | 1 line

  Remove confusing paragraph -- this is relevant only to advanced users anyway and does not belong into the tutorial.
........
  r87524 | georg.brandl | 2010-12-28 10:29:19 +0100 (Di, 28 Dez 2010) | 1 line

  Fix advice: call PyType_Ready to fill in ob_type of custom types.
........
  r87526 | georg.brandl | 2010-12-28 11:38:33 +0100 (Di, 28 Dez 2010) | 1 line

  #10777: fix iteration over dict keys while mutating the dict.
........
  r87530 | georg.brandl | 2010-12-28 12:06:07 +0100 (Di, 28 Dez 2010) | 1 line

  #10767: update README in crashers; not all may have a bug entry and/or be fixed.
........
  r87531 | georg.brandl | 2010-12-28 12:08:17 +0100 (Di, 28 Dez 2010) | 1 line

  #10742: document readonly attribute of memoryviews.
........
  r87532 | georg.brandl | 2010-12-28 12:15:49 +0100 (Di, 28 Dez 2010) | 1 line

  #10781: clarify that *encoding* is not a parameter for Node objects in general.
........
  r87533 | georg.brandl | 2010-12-28 12:38:12 +0100 (Di, 28 Dez 2010) | 1 line

  Remove history; adapt a bit more to reST, since this will once be part of the dev guide.
........
  r87534 | georg.brandl | 2010-12-28 12:48:53 +0100 (Di, 28 Dez 2010) | 1 line

  Rewrap.
........
  r87535 | georg.brandl | 2010-12-28 12:49:41 +0100 (Di, 28 Dez 2010) | 1 line

  #10739: document that on Windows, socket.makefile() does not make a file that has a true file descriptor usable where such a thing is expected.
........
diff --git a/Doc/ACKS.txt b/Doc/ACKS.txt
index 587652f..4bab21b 100644
--- a/Doc/ACKS.txt
+++ b/Doc/ACKS.txt
@@ -110,6 +110,7 @@
    * Andrew M. Kuchling
    * Dave Kuhlman
    * Erno Kuusela
+   * Ross Lagerwall
    * Thomas Lamb
    * Detlef Lannert
    * Piers Lauder
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst
index 8489c35..9af4cfc 100644
--- a/Doc/c-api/typeobj.rst
+++ b/Doc/c-api/typeobj.rst
@@ -820,7 +820,9 @@
    This field is not inherited by subtypes (computed attributes are inherited
    through a different mechanism).
 
-   Docs for PyGetSetDef (XXX belong elsewhere)::
+   .. XXX belongs elsewhere
+
+   Docs for PyGetSetDef::
 
       typedef PyObject *(*getter)(PyObject *, void *);
       typedef int (*setter)(PyObject *, PyObject *, void *);
@@ -867,7 +869,7 @@
 
       PyObject * tp_descr_get(PyObject *self, PyObject *obj, PyObject *type);
 
-   XXX explain.
+   .. XXX explain.
 
    This field is inherited by subtypes.
 
@@ -882,7 +884,7 @@
 
    This field is inherited by subtypes.
 
-   XXX explain.
+   .. XXX explain.
 
 
 .. cmember:: long PyTypeObject.tp_dictoffset
diff --git a/Doc/extending/windows.rst b/Doc/extending/windows.rst
index 3792656..beb2ee4 100644
--- a/Doc/extending/windows.rst
+++ b/Doc/extending/windows.rst
@@ -114,7 +114,7 @@
    Now your options are:
 
 #. Copy :file:`example.sln` and :file:`example.vcproj`, rename them to
-      :file:`spam.\*`, and edit them by hand, or
+   :file:`spam.\*`, and edit them by hand, or
 
 #. Create a brand new project; instructions are below.
 
@@ -183,8 +183,8 @@
 
 and add the following to the module initialization function::
 
-   MyObject_Type.ob_type = &PyType_Type;
-
+   if (PyType_Ready(&MyObject_Type) < 0)
+        return NULL;
 
 
 .. _dynamic-linking:
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index eab35f7..7822634 100644
--- a/Doc/glossary.rst
+++ b/Doc/glossary.rst
@@ -185,8 +185,8 @@
       not expressions.
 
    extension module
-      A module written in C or C++, using Python's C API to interact with the core and
-      with user code.
+      A module written in C or C++, using Python's C API to interact with the
+      core and with user code.
 
    finder
       An object that tries to find the :term:`loader` for a module. It must
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index e0b6121..ab4cb77 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -846,7 +846,7 @@
 original insertion position is changed and moved to the end::
 
     class LastUpdatedOrderedDict(OrderedDict):
-        'Store items is the order the keys were last added'
+        'Store items in the order the keys were last added'
         def __setitem__(self, key, value):
             if key in self:
                 del self[key]
diff --git a/Doc/library/exceptions.rst b/Doc/library/exceptions.rst
index f9a6bee..5886768 100644
--- a/Doc/library/exceptions.rst
+++ b/Doc/library/exceptions.rst
@@ -99,6 +99,12 @@
    :exc:`FloatingPointError`.
 
 
+.. exception:: BufferError
+
+   Raised when a :ref:`buffer <bufferobjects>` related operation cannot be
+   performed.
+
+
 .. exception:: LookupError
 
    The base class for the exceptions that are raised when a key or index used on
@@ -318,6 +324,18 @@
    of the exception instance returns only the message.
 
 
+.. exception:: IndentationError
+
+   Base class for syntax errors related to incorrect indentation.  This is a
+   subclass of :exc:`SyntaxError`.
+
+
+.. exception:: TabError
+
+   Raised when indentation contains an inconsistent use of tabs and spaces.
+   This is a subclass of :exc:`IndentationError`.
+
+
 .. exception:: SystemError
 
    Raised when the interpreter finds an internal error, but the situation does not
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index bad4417..96152f9 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -660,6 +660,12 @@
    *mode* and *bufsize* arguments are interpreted the same way as by the built-in
    :func:`file` function.
 
+   .. note::
+
+      On Windows, the file-like object created by :meth:`makefile` cannot be
+      used where a file object with a file descriptor is expected, such as the
+      stream arguments of :meth:`subprocess.Popen`.
+
 
 .. method:: socket.recv(bufsize[, flags])
 
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 2c47ebe..f0ba0a9 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -2665,6 +2665,10 @@
       A tuple of integers the length of :attr:`ndim` giving the size in bytes to
       access each element for each dimension of the array.
 
+   .. attribute:: readonly
+
+      A bool indicating whether the memory is read only.
+
    .. memoryview.suboffsets isn't documented because it only seems useful for C
 
 
diff --git a/Doc/library/xml.dom.minidom.rst b/Doc/library/xml.dom.minidom.rst
index cfde5b9..064ddd4 100644
--- a/Doc/library/xml.dom.minidom.rst
+++ b/Doc/library/xml.dom.minidom.rst
@@ -118,7 +118,7 @@
    to discard children of that node.
 
 
-.. method:: Node.writexml(writer[, indent=""[, addindent=""[, newl=""[, encoding=""]]]])
+.. method:: Node.writexml(writer[, indent=""[, addindent=""[, newl=""]]])
 
    Write XML to the writer object.  The writer should have a :meth:`write` method
    which matches that of the file object interface.  The *indent* parameter is the
@@ -126,6 +126,9 @@
    indentation to use for subnodes of the current one.  The *newl* parameter
    specifies the string to use to terminate newlines.
 
+   For the :class:`Document` node, an additional keyword argument *encoding* can
+   be used to specify the encoding field of the XML header.
+
    .. versionchanged:: 2.1
       The optional keyword parameters *indent*, *addindent*, and *newl* were added to
       support pretty output.
diff --git a/Doc/tutorial/interpreter.rst b/Doc/tutorial/interpreter.rst
index f5be98e..df93af2 100644
--- a/Doc/tutorial/interpreter.rst
+++ b/Doc/tutorial/interpreter.rst
@@ -58,14 +58,6 @@
 ``python -m module [arg] ...``, which executes the source file for *module* as
 if you had spelled out its full name on the command line.
 
-Note that there is a difference between ``python file`` and ``python <file``.
-In the latter case, input requests from the program, such as calls to
-:func:`input` and :func:`raw_input`, are satisfied from *file*.  Since this file
-has already been read until the end by the parser before the program starts
-executing, the program will encounter end-of-file immediately.  In the former
-case (which is usually what you want) they are satisfied from whatever file or
-device is connected to standard input of the Python interpreter.
-
 When a script file is used, it is sometimes useful to be able to run the script
 and enter interactive mode afterwards.  This can be done by passing :option:`-i`
 before the script.  (This does not work if the script is read from standard