Merged revisions 75393,75416,75581,75609,75615 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k

................
  r75393 | georg.brandl | 2009-10-13 18:55:12 +0200 (Di, 13 Okt 2009) | 1 line

  Update module names in references in the FAQ.
................
  r75416 | georg.brandl | 2009-10-14 20:46:15 +0200 (Mi, 14 Okt 2009) | 1 line

  #7129: add missing function.
................
  r75581 | georg.brandl | 2009-10-21 09:17:48 +0200 (Mi, 21 Okt 2009) | 9 lines

  Merged revisions 75580 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75580 | georg.brandl | 2009-10-21 09:15:59 +0200 (Mi, 21 Okt 2009) | 1 line

    #7170: fix explanation about non-weakrefable builtin types.
  ........
................
  r75609 | georg.brandl | 2009-10-22 17:16:26 +0200 (Do, 22 Okt 2009) | 1 line

  #7137: fix makefile() documentation to match the new parameters.
................
  r75615 | georg.brandl | 2009-10-22 18:08:10 +0200 (Do, 22 Okt 2009) | 1 line

  #6927: fix wrong word.
................
diff --git a/Doc/faq/library.rst b/Doc/faq/library.rst
index d977c77..db69449 100644
--- a/Doc/faq/library.rst
+++ b/Doc/faq/library.rst
@@ -232,11 +232,9 @@
 How do I program using threads?
 -------------------------------
 
-.. XXX it's _thread in py3k
-
-Be sure to use the :mod:`threading` module and not the :mod:`thread` module.
+Be sure to use the :mod:`threading` module and not the :mod:`_thread` module.
 The :mod:`threading` module builds convenient abstractions on top of the
-low-level primitives provided by the :mod:`thread` module.
+low-level primitives provided by the :mod:`_thread` module.
 
 Aahz has a set of slides from his threading tutorial that are helpful; see
 http://starship.python.net/crew/aahz/OSCON2001/.
@@ -280,7 +278,7 @@
 
 Instead of trying to guess how long a :func:`time.sleep` delay will be enough,
 it's better to use some kind of semaphore mechanism.  One idea is to use the
-:mod:`Queue` module to create a queue object, let each thread append a token to
+:mod:`queue` module to create a queue object, let each thread append a token to
 the queue when it finishes, and let the main thread read as many tokens from the
 queue as there are threads.
 
@@ -288,8 +286,8 @@
 How do I parcel out work among a bunch of worker threads?
 ---------------------------------------------------------
 
-Use the :mod:`Queue` module to create a queue containing a list of jobs.  The
-:class:`~Queue.Queue` class maintains a list of objects with ``.put(obj)`` to
+Use the :mod:`queue` module to create a queue containing a list of jobs.  The
+:class:`~queue.Queue` class maintains a list of objects with ``.put(obj)`` to
 add an item to the queue and ``.get()`` to return an item.  The class will take
 care of the locking necessary to ensure that each job is handed out exactly
 once.
@@ -777,11 +775,10 @@
 
 Yes.
 
-.. XXX remove bsddb in py3k, fix other module names
-
-Python 2.3 includes the :mod:`bsddb` package which provides an interface to the
-BerkeleyDB library.  Interfaces to disk-based hashes such as :mod:`DBM <dbm>`
-and :mod:`GDBM <gdbm>` are also included with standard Python.
+Interfaces to disk-based hashes such as :mod:`DBM <dbm.ndbm>` and :mod:`GDBM
+<dbm.gnu>` are also included with standard Python.  There is also the
+:mod:`sqlite3` module, which provides a lightweight disk-based relational
+database.
 
 Support for most relational databases is available.  See the
 `DatabaseProgramming wiki page
@@ -794,8 +791,7 @@
 The :mod:`pickle` library module solves this in a very general way (though you
 still can't store things like open files, sockets or windows), and the
 :mod:`shelve` library module uses pickle and (g)dbm to create persistent
-mappings containing arbitrary Python objects.  For better performance, you can
-use the :mod:`cPickle` module.
+mappings containing arbitrary Python objects.
 
 A more awkward way of doing things is to use pickle's little sister, marshal.
 The :mod:`marshal` module provides very fast ways to store noncircular basic
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index f1dfccd..7d32939 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -364,7 +364,7 @@
 In general, don't use ``from modulename import *``.  Doing so clutters the
 importer's namespace.  Some people avoid this idiom even with the few modules
 that were designed to be imported in this manner.  Modules designed in this
-manner include :mod:`Tkinter`, and :mod:`threading`.
+manner include :mod:`tkinter`, and :mod:`threading`.
 
 Import modules at the top of a file.  Doing so makes it clear what other modules
 your code requires and avoids questions of whether the module name is in scope.
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index e6ad578..292ea2d 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -565,17 +565,17 @@
    is system-dependent (usually 5).
 
 
-.. method:: socket.makefile([mode[, bufsize]])
+.. method:: socket.makefile(mode='r', buffering=None, *, encoding=None, newline=None)
 
    .. index:: single: I/O control; buffering
 
    Return a :dfn:`file object` associated with the socket.  (File objects are
-   described in :ref:`bltin-file-objects`.) The file object
-   references a :cfunc:`dup`\ ped version of the socket file descriptor, so the
-   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.
+   described in :ref:`bltin-file-objects`.)  The file object references a
+   :cfunc:`dup`\ ped version of the socket file descriptor, so the 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
+   arguments are interpreted the same way as by the built-in :func:`open`
+   function.
 
 
 .. method:: socket.recv(bufsize[, flags])
diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst
index 9aaa58a..a667479 100644
--- a/Doc/library/weakref.rst
+++ b/Doc/library/weakref.rst
@@ -69,6 +69,10 @@
 
    obj = Dict(red=1, green=2, blue=3)   # this object is weak referenceable
 
+Other built-in types such as :class:`tuple` and :class:`int` do not support
+weak references even when subclassed (those types implemented as a
+:ctype:`PyVarObject`).
+
 Extension types can easily be made to support weak references; see
 :ref:`weakref-support`.
 
diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst
index 016ccbb..b2eef16 100644
--- a/Doc/reference/compound_stmts.rst
+++ b/Doc/reference/compound_stmts.rst
@@ -608,9 +608,9 @@
 .. [#] The exception is propagated to the invocation stack only if there is no
    :keyword:`finally` clause that negates the exception.
 
-.. [#] Currently, control "flows off the end" except in the case of an exception or the
-   execution of a :keyword:`return`, :keyword:`continue`, or :keyword:`break`
-   statement.
+.. [#] Currently, control "flows off the end" except in the case of an exception
+   or the execution of a :keyword:`return`, :keyword:`continue`, or
+   :keyword:`break` statement.
 
 .. [#] A string literal appearing as the first statement in the function body is
    transformed into the function's ``__doc__`` attribute and therefore the
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index e3abeb7..971c06e 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1532,7 +1532,7 @@
 
 The appropriate metaclass is determined by the following precedence rules:
 
-* If the ``metaclass`` keyword argument is based with the bases, it is used.
+* If the ``metaclass`` keyword argument is passed with the bases, it is used.
 
 * Otherwise, if there is at least one base class, its metaclass is used.