[Python-checkins] r75792 - in python/branches/release26-maint: Doc/contents.rst Doc/documenting/markup.rst Doc/faq Doc/faq/extending.rst Doc/faq/gui.rst Doc/howto/unicode.rst Doc/howto/webservers.rst Doc/install/index.rst Doc/library/__builtin__.rst Doc/library/codecs.rst Doc/library/configparser.rst Doc/library/curses.rst Doc/library/datetime.rst Doc/library/functions.rst Doc/library/getopt.rst Doc/library/inspect.rst Doc/library/io.rst Doc/library/mailbox.rst Doc/library/math.rst Doc/library/msilib.rst Doc/library/os.rst Doc/library/othergui.rst Doc/library/platform.rst Doc/library/pty.rst Doc/library/signal.rst Doc/library/stdtypes.rst Doc/library/sys.rst Doc/library/types.rst Doc/library/weakref.rst Doc/reference/datamodel.rst Doc/reference/executionmodel.rst Doc/reference/expressions.rst Doc/reference/simple_stmts.rst Doc/tools/sphinxext/indexcontent.html Doc/tools/sphinxext/pyspecific.py Doc/tools/sphinxext/static/basic.css Doc/tutorial/index.rst Doc/using/cmdline.rst Doc/using/windows.rst Doc/whatsnew/2.0.rst Doc/whatsnew/2.2.rst Doc/whatsnew/2.3.rst Doc/whatsnew/2.4.rst Doc/whatsnew/2.6.rst Lib/ctypes/wintypes.py Objects/stringobject.c Objects/unicodeobject.c Python/codecs.c

georg.brandl python-checkins at python.org
Tue Oct 27 16:08:28 CET 2009


Author: georg.brandl
Date: Tue Oct 27 16:08:27 2009
New Revision: 75792

Log:
Merged revisions 75363,75365,75376,75392,75394,75403,75418,75484,75572,75580,75590,75592,75594-75596,75600,75602-75603,75605-75607,75610-75613,75616-75617,75623,75627,75647 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75363 | georg.brandl | 2009-10-11 20:31:23 +0200 (So, 11 Okt 2009) | 1 line
  
  Add the Python FAQ lists to the documentation.  Copied from sandbox/faq.  Many thanks to AMK for the preparation work.
........
  r75365 | georg.brandl | 2009-10-11 22:16:16 +0200 (So, 11 Okt 2009) | 1 line
  
  Fix broken links found by "make linkcheck".  scipy.org seems to be done right now, so I could not verify links going there.
........
  r75376 | benjamin.peterson | 2009-10-12 03:26:07 +0200 (Mo, 12 Okt 2009) | 1 line
  
  platform we don't care about
........
  r75392 | andrew.kuchling | 2009-10-13 18:11:49 +0200 (Di, 13 Okt 2009) | 1 line
  
  Various link, textual, and markup fixes
........
  r75394 | georg.brandl | 2009-10-13 20:10:59 +0200 (Di, 13 Okt 2009) | 1 line
  
  Fix markup.
........
  r75403 | georg.brandl | 2009-10-14 17:57:46 +0200 (Mi, 14 Okt 2009) | 1 line
  
  #7126: os.environ changes *do* take effect in subprocesses started with os.system().
........
  r75418 | georg.brandl | 2009-10-14 20:48:32 +0200 (Mi, 14 Okt 2009) | 1 line
  
  #7116: str.join() takes an iterable.
........
  r75484 | georg.brandl | 2009-10-18 09:58:12 +0200 (So, 18 Okt 2009) | 1 line
  
  Fix missing word.
........
  r75572 | benjamin.peterson | 2009-10-20 23:55:17 +0200 (Di, 20 Okt 2009) | 1 line
  
  clarify buffer arg #7178
........
  r75580 | georg.brandl | 2009-10-21 09:15:59 +0200 (Mi, 21 Okt 2009) | 1 line
  
  #7170: fix explanation about non-weakrefable builtin types.
........
  r75590 | benjamin.peterson | 2009-10-22 04:36:47 +0200 (Do, 22 Okt 2009) | 1 line
  
  rewrite to be nice to other implementations
........
  r75592 | georg.brandl | 2009-10-22 09:05:48 +0200 (Do, 22 Okt 2009) | 1 line
  
  Fix punctuation.
........
  r75594 | georg.brandl | 2009-10-22 09:56:02 +0200 (Do, 22 Okt 2009) | 1 line
  
  Fix markup.
........
  r75595 | georg.brandl | 2009-10-22 09:56:56 +0200 (Do, 22 Okt 2009) | 1 line
  
  Fix duplicate target.
........
  r75596 | georg.brandl | 2009-10-22 10:05:04 +0200 (Do, 22 Okt 2009) | 1 line
  
  Add a new directive marking up implementation details and start using it.
........
  r75600 | georg.brandl | 2009-10-22 13:01:46 +0200 (Do, 22 Okt 2009) | 1 line
  
  Make it more robust.
........
  r75602 | georg.brandl | 2009-10-22 13:28:06 +0200 (Do, 22 Okt 2009) | 1 line
  
  Document new directive.
........
  r75603 | georg.brandl | 2009-10-22 13:28:23 +0200 (Do, 22 Okt 2009) | 1 line
  
  Allow short form with text as argument.
........
  r75605 | georg.brandl | 2009-10-22 13:48:10 +0200 (Do, 22 Okt 2009) | 1 line
  
  Use "impl-detail" directive where applicable.
........
  r75606 | georg.brandl | 2009-10-22 17:00:06 +0200 (Do, 22 Okt 2009) | 1 line
  
  #6324: membership test tries iteration via __iter__.
........
  r75607 | georg.brandl | 2009-10-22 17:04:09 +0200 (Do, 22 Okt 2009) | 1 line
  
  #7088: document new functions in signal as Unix-only.
........
  r75610 | georg.brandl | 2009-10-22 17:27:24 +0200 (Do, 22 Okt 2009) | 1 line
  
  Reorder __slots__ fine print and add a clarification.
........
  r75611 | georg.brandl | 2009-10-22 17:42:32 +0200 (Do, 22 Okt 2009) | 1 line
  
  #7035: improve docs of the various <method>_errors() functions, and give them docstrings.
........
  r75612 | georg.brandl | 2009-10-22 17:52:15 +0200 (Do, 22 Okt 2009) | 1 line
  
  #7156: document curses as Unix-only.
........
  r75613 | georg.brandl | 2009-10-22 17:54:35 +0200 (Do, 22 Okt 2009) | 1 line
  
  #6977: getopt does not support optional option arguments.
........
  r75616 | georg.brandl | 2009-10-22 18:17:05 +0200 (Do, 22 Okt 2009) | 1 line
  
  Add proper references.
........
  r75617 | georg.brandl | 2009-10-22 18:20:55 +0200 (Do, 22 Okt 2009) | 1 line
  
  Make printout margin important.
........
  r75623 | georg.brandl | 2009-10-23 10:14:44 +0200 (Fr, 23 Okt 2009) | 1 line
  
  #7188: fix optionxform() docs.
........
  r75627 | fred.drake | 2009-10-23 15:04:51 +0200 (Fr, 23 Okt 2009) | 2 lines
  
  add further note about what's passed to optionxform
........
  r75647 | georg.brandl | 2009-10-24 12:04:19 +0200 (Sa, 24 Okt 2009) | 1 line
  
  Fix markup.
........


Added:
   python/branches/release26-maint/Doc/faq/
      - copied from r75365, /python/trunk/Doc/faq/
Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Doc/contents.rst
   python/branches/release26-maint/Doc/documenting/markup.rst
   python/branches/release26-maint/Doc/faq/extending.rst
   python/branches/release26-maint/Doc/faq/gui.rst
   python/branches/release26-maint/Doc/howto/unicode.rst
   python/branches/release26-maint/Doc/howto/webservers.rst
   python/branches/release26-maint/Doc/install/index.rst
   python/branches/release26-maint/Doc/library/__builtin__.rst
   python/branches/release26-maint/Doc/library/codecs.rst
   python/branches/release26-maint/Doc/library/configparser.rst
   python/branches/release26-maint/Doc/library/curses.rst
   python/branches/release26-maint/Doc/library/datetime.rst
   python/branches/release26-maint/Doc/library/functions.rst
   python/branches/release26-maint/Doc/library/getopt.rst
   python/branches/release26-maint/Doc/library/inspect.rst
   python/branches/release26-maint/Doc/library/io.rst
   python/branches/release26-maint/Doc/library/mailbox.rst
   python/branches/release26-maint/Doc/library/math.rst
   python/branches/release26-maint/Doc/library/msilib.rst
   python/branches/release26-maint/Doc/library/os.rst
   python/branches/release26-maint/Doc/library/othergui.rst
   python/branches/release26-maint/Doc/library/platform.rst
   python/branches/release26-maint/Doc/library/pty.rst
   python/branches/release26-maint/Doc/library/signal.rst
   python/branches/release26-maint/Doc/library/stdtypes.rst
   python/branches/release26-maint/Doc/library/sys.rst
   python/branches/release26-maint/Doc/library/types.rst
   python/branches/release26-maint/Doc/library/weakref.rst
   python/branches/release26-maint/Doc/reference/datamodel.rst
   python/branches/release26-maint/Doc/reference/executionmodel.rst
   python/branches/release26-maint/Doc/reference/expressions.rst
   python/branches/release26-maint/Doc/reference/simple_stmts.rst
   python/branches/release26-maint/Doc/tools/sphinxext/indexcontent.html
   python/branches/release26-maint/Doc/tools/sphinxext/pyspecific.py
   python/branches/release26-maint/Doc/tools/sphinxext/static/basic.css
   python/branches/release26-maint/Doc/tutorial/index.rst
   python/branches/release26-maint/Doc/using/cmdline.rst
   python/branches/release26-maint/Doc/using/windows.rst
   python/branches/release26-maint/Doc/whatsnew/2.0.rst
   python/branches/release26-maint/Doc/whatsnew/2.2.rst
   python/branches/release26-maint/Doc/whatsnew/2.3.rst
   python/branches/release26-maint/Doc/whatsnew/2.4.rst
   python/branches/release26-maint/Doc/whatsnew/2.6.rst
   python/branches/release26-maint/Lib/ctypes/wintypes.py
   python/branches/release26-maint/Objects/stringobject.c
   python/branches/release26-maint/Objects/unicodeobject.c
   python/branches/release26-maint/Python/codecs.c

Modified: python/branches/release26-maint/Doc/contents.rst
==============================================================================
--- python/branches/release26-maint/Doc/contents.rst	(original)
+++ python/branches/release26-maint/Doc/contents.rst	Tue Oct 27 16:08:27 2009
@@ -15,6 +15,7 @@
    install/index.rst
    documenting/index.rst
    howto/index.rst
+   faq/index.rst
    glossary.rst
 
    about.rst

Modified: python/branches/release26-maint/Doc/documenting/markup.rst
==============================================================================
--- python/branches/release26-maint/Doc/documenting/markup.rst	(original)
+++ python/branches/release26-maint/Doc/documenting/markup.rst	Tue Oct 27 16:08:27 2009
@@ -626,6 +626,24 @@
 
 --------------
 
+.. describe:: impl-detail
+
+   This directive is used to mark CPython-specific information.  Use either with
+   a block content or a single sentence as an argument, i.e. either ::
+
+      .. impl-detail::
+
+         This describes some implementation detail.
+
+         More explanation.
+
+   or ::
+
+      .. impl-detail:: This shortly mentions an implementation detail.
+
+   "\ **CPython implementation detail:**\ " is automatically prepended to the
+   content.
+
 .. describe:: seealso
 
    Many sections include a list of references to module documentation or

Modified: python/branches/release26-maint/Doc/faq/extending.rst
==============================================================================
--- /python/trunk/Doc/faq/extending.rst	(original)
+++ python/branches/release26-maint/Doc/faq/extending.rst	Tue Oct 27 16:08:27 2009
@@ -48,7 +48,7 @@
 If you need to interface to some C or C++ library for which no Python extension
 currently exists, you can try wrapping the library's data types and functions
 with a tool such as `SWIG <http://www.swig.org>`_.  `SIP
-<http://www.riverbankcomputing.co.uk/software/sip/>`_, `CXX
+<http://www.riverbankcomputing.co.uk/software/sip/>`__, `CXX
 <http://cxx.sourceforge.net/>`_ `Boost
 <http://www.boost.org/libs/python/doc/index.html>`_, or `Weave
 <http://www.scipy.org/site_content/weave>`_ are also alternatives for wrapping

Modified: python/branches/release26-maint/Doc/faq/gui.rst
==============================================================================
--- /python/trunk/Doc/faq/gui.rst	(original)
+++ python/branches/release26-maint/Doc/faq/gui.rst	Tue Oct 27 16:08:27 2009
@@ -25,27 +25,26 @@
 page at http://www.tcl.tk.  Tcl/Tk is fully portable to the MacOS, Windows, and
 Unix platforms.
 
-wxWindows
+wxWidgets
 '''''''''
 
-wxWindows is a portable GUI class library written in C++ that's a portable
-interface to various platform-specific libraries; wxWidgets is a Python
-interface to wxWindows.  wxWindows supports Windows and MacOS; on Unix variants,
-it supports both GTk+ and Motif toolkits.  wxWindows preserves the look and feel
-of the underlying graphics toolkit, and there is quite a rich widget set and
-collection of GDI classes.  See `the wxWindows page <http://www.wxwindows.org>`_
-for more details.
-
-`wxWidgets <http://wxwidgets.org>`_ is an extension module that wraps many of
-the wxWindows C++ classes, and is quickly gaining popularity amongst Python
-developers.  You can get wxWidgets as part of the source or CVS distribution of
-wxWindows, or directly from its home page.
+wxWidgets is a GUI class library written in C++ that's a portable
+interface to various platform-specific libraries, and that has a
+Python interface called `wxPython <http://www.wxpython.org>`__.
+
+wxWidgets preserves the look and feel of the
+underlying graphics toolkit, and has a large set of widgets and
+collection of GDI classes.  See `the wxWidgets page
+<http://www.wxwidgets.org>`_ for more details.
+
+wxWidgets supports Windows and MacOS; on Unix variants,
+it supports both GTk+ and Motif toolkits.
 
 Qt
 '''
 
 There are bindings available for the Qt toolkit (`PyQt
-<http://www.riverbankcomputing.co.uk/software/pyqt/>`_) and for KDE (PyKDE).  If
+<http://www.riverbankcomputing.co.uk/software/pyqt/>`_) and for KDE (`PyKDE <http://www.riverbankcomputing.co.uk/software/pykde/intro>`__).  If
 you're writing open source software, you don't need to pay for PyQt, but if you
 want to write proprietary applications, you must buy a PyQt license from
 `Riverbank Computing <http://www.riverbankcomputing.co.uk>`_ and (up to Qt 4.4;
@@ -56,7 +55,7 @@
 ''''
 
 PyGtk bindings for the `Gtk+ toolkit <http://www.gtk.org>`_ have been
-implemented by by James Henstridge; see ftp://ftp.gtk.org/pub/gtk/python/.
+implemented by James Henstridge; see <http://www.pygtk.org>.
 
 FLTK
 ''''
@@ -85,14 +84,15 @@
 
 `The Mac port <http://python.org/download/mac>`_ by Jack Jansen has a rich and
 ever-growing set of modules that support the native Mac toolbox calls.  The port
-includes support for MacOS9 and MacOS X's Carbon libraries.  By installing the
-`PyObjc Objective-C bridge <http://pyobjc.sourceforge.net>`_, Python programs
-can use MacOS X's Cocoa libraries. See the documentation that comes with the Mac
-port.
+supports MacOS X's Carbon libraries.
+
+By installing the `PyObjc Objective-C bridge
+<http://pyobjc.sourceforge.net>`_, Python programs can use MacOS X's
+Cocoa libraries. See the documentation that comes with the Mac port.
 
 :ref:`Pythonwin <windows-faq>` by Mark Hammond includes an interface to the
-Microsoft Foundation Classes and a Python programming environment using it
-that's written mostly in Python.
+Microsoft Foundation Classes and a Python programming environment
+that's written mostly in Python using the MFC classes.
 
 
 Tkinter questions
@@ -105,23 +105,26 @@
 applications, the applications will not be truly stand-alone, as the application
 will still need the Tcl and Tk libraries.
 
-One solution is to ship the application with the tcl and tk libraries, and point
+One solution is to ship the application with the Tcl and Tk libraries, and point
 to them at run-time using the :envvar:`TCL_LIBRARY` and :envvar:`TK_LIBRARY`
 environment variables.
 
 To get truly stand-alone applications, the Tcl scripts that form the library
 have to be integrated into the application as well. One tool supporting that is
 SAM (stand-alone modules), which is part of the Tix distribution
-(http://tix.mne.com).  Build Tix with SAM enabled, perform the appropriate call
-to Tclsam_init etc inside Python's Modules/tkappinit.c, and link with libtclsam
-and libtksam (you might include the Tix libraries as well).
+(http://tix.sourceforge.net/).
+
+Build Tix with SAM enabled, perform the appropriate call to
+:cfunc:`Tclsam_init`, etc. inside Python's
+:file:`Modules/tkappinit.c`, and link with libtclsam and libtksam (you
+might include the Tix libraries as well).
 
 
 Can I have Tk events handled while waiting for I/O?
 ---------------------------------------------------
 
 Yes, and you don't even need threads!  But you'll have to restructure your I/O
-code a bit.  Tk has the equivalent of Xt's XtAddInput() call, which allows you
+code a bit.  Tk has the equivalent of Xt's :cfunc:`XtAddInput()` call, which allows you
 to register a callback function which will be called from the Tk mainloop when
 I/O is possible on a file descriptor.  Here's what you need::
 

Modified: python/branches/release26-maint/Doc/howto/unicode.rst
==============================================================================
--- python/branches/release26-maint/Doc/howto/unicode.rst	(original)
+++ python/branches/release26-maint/Doc/howto/unicode.rst	Tue Oct 27 16:08:27 2009
@@ -472,7 +472,7 @@
 from the above output, ``'Ll'`` means 'Letter, lowercase', ``'No'`` means
 "Number, other", ``'Mn'`` is "Mark, nonspacing", and ``'So'`` is "Symbol,
 other".  See
-<http://www.unicode.org/Public/UNIDATA/UCD.html#General_Category_Values> for a
+<http://unicode.org/Public/5.1.0/ucd/UCD.html#General_Category_Values> for a
 list of category codes.
 
 References

Modified: python/branches/release26-maint/Doc/howto/webservers.rst
==============================================================================
--- python/branches/release26-maint/Doc/howto/webservers.rst	(original)
+++ python/branches/release26-maint/Doc/howto/webservers.rst	Tue Oct 27 16:08:27 2009
@@ -270,8 +270,7 @@
 * lighttpd ships its own `FastCGI module
   <http://trac.lighttpd.net/trac/wiki/Docs%3AModFastCGI>`_ as well as an `SCGI
   module <http://trac.lighttpd.net/trac/wiki/Docs%3AModSCGI>`_.
-* nginx also supports `FastCGI
-  <http://wiki.codemongers.com/NginxSimplePythonFCGI>`_.
+* nginx also supports `FastCGI <http://wiki.nginx.org/NginxSimplePythonFCGI>`_.
 
 Once you have installed and configured the module, you can test it with the
 following WSGI-application::
@@ -524,7 +523,7 @@
 informations on a web server.
 
 Often relational database engines like `MySQL <http://www.mysql.com/>`_ or
-`PostgreSQL <http://http://www.postgresql.org/>`_ are used due to their good
+`PostgreSQL <http://www.postgresql.org/>`_ are used due to their good
 performance handling very large databases consisting of up to millions of
 entries.  These are *queried* using a language called `SQL
 <http://en.wikipedia.org/wiki/SQL>`_.  Python programmers in general do not like
@@ -628,7 +627,7 @@
 It has a big, international community which has created many sites using Django.
 There are also quite a lot of add-on projects which extend Django's normal
 functionality.  This is partly due to Django's well written `online
-documentation <http://doc.djangoproject.com/>`_ and the `Django book
+documentation <http://docs.djangoproject.com/>`_ and the `Django book
 <http://www.djangobook.com/>`_.
 
 

Modified: python/branches/release26-maint/Doc/install/index.rst
==============================================================================
--- python/branches/release26-maint/Doc/install/index.rst	(original)
+++ python/branches/release26-maint/Doc/install/index.rst	Tue Oct 27 16:08:27 2009
@@ -940,7 +940,8 @@
 These compilers require some special libraries. This task is more complex than
 for Borland's C++, because there is no program to convert the library.  First
 you have to create a list of symbols which the Python DLL exports. (You can find
-a good program for this task at http://www.emmestech.com/software/cygwin/pexports-0.43/download_pexports.html)
+a good program for this task at
+http://www.emmestech.com/software/pexports-0.43/download_pexports.html).
 
 .. I don't understand what the next line means. --amk
 .. (inclusive the references on data structures.)

Modified: python/branches/release26-maint/Doc/library/__builtin__.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/__builtin__.rst	(original)
+++ python/branches/release26-maint/Doc/library/__builtin__.rst	Tue Oct 27 16:08:27 2009
@@ -33,9 +33,10 @@
 
        # ...
 
-As an implementation detail, most modules have the name ``__builtins__`` (note
-the ``'s'``) made available as part of their globals.  The value of
-``__builtins__`` is normally either this module or the value of this modules's
-:attr:`__dict__` attribute.  Since this is an implementation detail, it may not
-be used by alternate implementations of Python.
+.. impl-detail::
 
+   Most modules have the name ``__builtins__`` (note the ``'s'``) made available
+   as part of their globals.  The value of ``__builtins__`` is normally either
+   this module or the value of this modules's :attr:`__dict__` attribute.  Since
+   this is an implementation detail, it may not be used by alternate
+   implementations of Python.

Modified: python/branches/release26-maint/Doc/library/codecs.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/codecs.rst	(original)
+++ python/branches/release26-maint/Doc/library/codecs.rst	Tue Oct 27 16:08:27 2009
@@ -54,7 +54,7 @@
    *incrementalencoder* and *incrementaldecoder*: These have to be factory
    functions providing the following interface:
 
-   ``factory(errors='strict')``
+      ``factory(errors='strict')``
 
    The factory functions must return objects providing the interfaces defined by
    the base classes :class:`IncrementalEncoder` and :class:`IncrementalDecoder`,
@@ -63,20 +63,24 @@
    *streamreader* and *streamwriter*: These have to be factory functions providing
    the following interface:
 
-   ``factory(stream, errors='strict')``
+      ``factory(stream, errors='strict')``
 
    The factory functions must return objects providing the interfaces defined by
    the base classes :class:`StreamWriter` and :class:`StreamReader`, respectively.
    Stream codecs can maintain state.
 
-   Possible values for errors are ``'strict'`` (raise an exception in case of an
-   encoding error), ``'replace'`` (replace malformed data with a suitable
-   replacement marker, such as ``'?'``), ``'ignore'`` (ignore malformed data and
-   continue without further notice), ``'xmlcharrefreplace'`` (replace with the
-   appropriate XML character reference (for encoding only)) and
-   ``'backslashreplace'`` (replace with backslashed escape sequences (for encoding
-   only)) as well as any other error handling name defined via
-   :func:`register_error`.
+   Possible values for errors are
+
+   * ``'strict'``: raise an exception in case of an encoding error
+   * ``'replace'``: replace malformed data with a suitable replacement marker,
+     such as ``'?'`` or ``'\ufffd'``
+   * ``'ignore'``: ignore malformed data and continue without further notice
+   * ``'xmlcharrefreplace'``: replace with the appropriate XML character
+     reference (for encoding only)
+   * ``'backslashreplace'``: replace with backslashed escape sequences (for
+     encoding only
+
+   as well as any other error handling name defined via :func:`register_error`.
 
    In case a search function cannot find a given encoding, it should return
    ``None``.
@@ -177,27 +181,33 @@
 
 .. function:: strict_errors(exception)
 
-   Implements the ``strict`` error handling.
+   Implements the ``strict`` error handling: each encoding or decoding error
+   raises a :exc:`UnicodeError`.
 
 
 .. function:: replace_errors(exception)
 
-   Implements the ``replace`` error handling.
+   Implements the ``replace`` error handling: malformed data is replaced with a
+   suitable replacement character such as ``'?'`` in bytestrings and
+   ``'\ufffd'`` in Unicode strings.
 
 
 .. function:: ignore_errors(exception)
 
-   Implements the ``ignore`` error handling.
+   Implements the ``ignore`` error handling: malformed data is ignored and
+   encoding or decoding is continued without further notice.
 
 
 .. function:: xmlcharrefreplace_errors(exception)
 
-   Implements the ``xmlcharrefreplace`` error handling.
+   Implements the ``xmlcharrefreplace`` error handling (for encoding only): the
+   unencodable character is replaced by an appropriate XML character reference.
 
 
 .. function:: backslashreplace_errors(exception)
 
-   Implements the ``backslashreplace`` error handling.
+   Implements the ``backslashreplace`` error handling (for encoding only): the
+   unencodable character is replaced by a backslashed escape sequence.
 
 To simplify working with encoded files or stream, the module also defines these
 utility functions:

Modified: python/branches/release26-maint/Doc/library/configparser.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/configparser.rst	(original)
+++ python/branches/release26-maint/Doc/library/configparser.rst	Tue Oct 27 16:08:27 2009
@@ -317,12 +317,23 @@
 
 .. method:: RawConfigParser.optionxform(option)
 
-   Transforms the option name *option* as found in an input file or as passed in by
-   client code to the form that should be used in the internal structures.  The
-   default implementation returns a lower-case version of *option*; subclasses may
-   override this or client code can set an attribute of this name on instances to
-   affect this behavior.  Setting this to :func:`str`, for example, would make
-   option names case sensitive.
+   Transforms the option name *option* as found in an input file or as passed in
+   by client code to the form that should be used in the internal structures.
+   The default implementation returns a lower-case version of *option*;
+   subclasses may override this or client code can set an attribute of this name
+   on instances to affect this behavior.
+
+   You don't necessarily need to subclass a ConfigParser to use this method, you
+   can also re-set it on an instance, to a function that takes a string
+   argument.  Setting it to ``str``, for example, would make option names case
+   sensitive::
+
+      cfgparser = ConfigParser()
+      ...
+      cfgparser.optionxform = str
+
+   Note that when reading configuration files, whitespace around the
+   option names are stripped before :meth:`optionxform` is called.
 
 
 .. _configparser-objects:

Modified: python/branches/release26-maint/Doc/library/curses.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/curses.rst	(original)
+++ python/branches/release26-maint/Doc/library/curses.rst	Tue Oct 27 16:08:27 2009
@@ -1,13 +1,13 @@
-
 :mod:`curses` --- Terminal handling for character-cell displays
 ===============================================================
 
 .. module:: curses
-   :synopsis: An interface to the curses library, providing portable terminal handling.
+   :synopsis: An interface to the curses library, providing portable terminal
+              handling.
+   :platform: Unix
 .. sectionauthor:: Moshe Zadka <moshez at zadka.site.co.il>
 .. sectionauthor:: Eric Raymond <esr at thyrsus.com>
 
-
 .. versionchanged:: 1.6
    Added support for the ``ncurses`` library and converted to a package.
 

Modified: python/branches/release26-maint/Doc/library/datetime.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/datetime.rst	(original)
+++ python/branches/release26-maint/Doc/library/datetime.rst	Tue Oct 27 16:08:27 2009
@@ -235,7 +235,7 @@
 |                                | (-*t1.days*, -*t1.seconds*,                   |
 |                                | -*t1.microseconds*), and to *t1*\* -1. (1)(4) |
 +--------------------------------+-----------------------------------------------+
-| ``abs(t)``                     | equivalent to +*t* when ``t.days >= 0``, and  |
+| ``abs(t)``                     | equivalent to +\ *t* when ``t.days >= 0``, and|
 |                                | to -*t* when ``t.days < 0``. (2)              |
 +--------------------------------+-----------------------------------------------+
 

Modified: python/branches/release26-maint/Doc/library/functions.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/functions.rst	(original)
+++ python/branches/release26-maint/Doc/library/functions.rst	Tue Oct 27 16:08:27 2009
@@ -523,8 +523,10 @@
 
    Return the "identity" of an object.  This is an integer (or long integer) which
    is guaranteed to be unique and constant for this object during its lifetime.
-   Two objects with non-overlapping lifetimes may have the same :func:`id` value.
-   (Implementation note: this is the address of the object.)
+   Two objects with non-overlapping lifetimes may have the same :func:`id`
+   value.
+
+   .. impl-detail:: This is the address of the object.
 
 
 .. function:: input([prompt])
@@ -1377,14 +1379,15 @@
    elements are never used (such as when the loop is usually terminated with
    :keyword:`break`).
 
-   .. note::
+   .. impl-detail::
 
-      :func:`xrange` is intended to be simple and fast. Implementations may impose
-      restrictions to achieve this. The C implementation of Python restricts all
-      arguments to native C longs ("short" Python integers), and also requires that
-      the number of elements fit in a native C long.  If a larger range is needed,
-      an alternate version can be crafted using the :mod:`itertools` module:
-      ``islice(count(start, step), (stop-start+step-1)//step)``.
+      :func:`xrange` is intended to be simple and fast.  Implementations may
+      impose restrictions to achieve this.  The C implementation of Python
+      restricts all arguments to native C longs ("short" Python integers), and
+      also requires that the number of elements fit in a native C long.  If a
+      larger range is needed, an alternate version can be crafted using the
+      :mod:`itertools` module: ``islice(count(start, step),
+      (stop-start+step-1)//step)``.
 
 
 .. function:: zip([iterable, ...])

Modified: python/branches/release26-maint/Doc/library/getopt.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/getopt.rst	(original)
+++ python/branches/release26-maint/Doc/library/getopt.rst	Tue Oct 27 16:08:27 2009
@@ -30,19 +30,20 @@
 
    .. note::
 
-      Unlike GNU :cfunc:`getopt`, after a non-option argument, all further arguments
-      are considered also non-options. This is similar to the way non-GNU Unix systems
-      work.
+      Unlike GNU :cfunc:`getopt`, after a non-option argument, all further
+      arguments are considered also non-options. This is similar to the way
+      non-GNU Unix systems work.
 
    *long_options*, if specified, must be a list of strings with the names of the
-   long options which should be supported.  The leading ``'-``\ ``-'`` characters
-   should not be included in the option name.  Long options which require an
-   argument should be followed by an equal sign (``'='``).  To accept only long
-   options, *options* should be an empty string.  Long options on the command line
-   can be recognized so long as they provide a prefix of the option name that
-   matches exactly one of the accepted options.  For example, if *long_options* is
-   ``['foo', 'frob']``, the option :option:`--fo` will match as :option:`--foo`,
-   but :option:`--f` will not match uniquely, so :exc:`GetoptError` will be raised.
+   long options which should be supported.  The leading ``'-``\ ``-'``
+   characters should not be included in the option name.  Long options which
+   require an argument should be followed by an equal sign (``'='``).  Optional
+   arguments are not supported.  To accept only long options, *options* should
+   be an empty string.  Long options on the command line can be recognized so
+   long as they provide a prefix of the option name that matches exactly one of
+   the accepted options.  For example, if *long_options* is ``['foo', 'frob']``,
+   the option :option:`--fo` will match as :option:`--foo`, but :option:`--f`
+   will not match uniquely, so :exc:`GetoptError` will be raised.
 
    The return value consists of two elements: the first is a list of ``(option,
    value)`` pairs; the second is the list of program arguments left after the

Modified: python/branches/release26-maint/Doc/library/inspect.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/inspect.rst	(original)
+++ python/branches/release26-maint/Doc/library/inspect.rst	Tue Oct 27 16:08:27 2009
@@ -353,9 +353,11 @@
 
    Return true if the object is a getset descriptor.
 
-   getsets are attributes defined in extension modules via ``PyGetSetDef``
-   structures.  For Python implementations without such types, this method will
-   always return ``False``.
+   .. impl-detail::
+
+      getsets are attributes defined in extension modules via
+      :ctype:`PyGetSetDef` structures.  For Python implementations without such
+      types, this method will always return ``False``.
 
    .. versionadded:: 2.5
 
@@ -364,9 +366,11 @@
 
    Return true if the object is a member descriptor.
 
-   Member descriptors are attributes defined in extension modules via
-   ``PyMemberDef`` structures.  For Python implementations without such types,
-   this method will always return ``False``.
+   .. impl-detail::
+
+      Member descriptors are attributes defined in extension modules via
+      :ctype:`PyMemberDef` structures.  For Python implementations without such
+      types, this method will always return ``False``.
 
    .. versionadded:: 2.5
 
@@ -567,10 +571,12 @@
 
    Return the frame object for the caller's stack frame.
 
-   This function relies on Python stack frame support in the interpreter, which
-   isn't guaranteed to exist in all implementations of Python. If running in
-   an implementation without Python stack frame support this function returns
-   ``None``.
+   .. impl-detail::
+
+      This function relies on Python stack frame support in the interpreter,
+      which isn't guaranteed to exist in all implementations of Python.  If
+      running in an implementation without Python stack frame support this
+      function returns ``None``.
 
 
 .. function:: stack([context])

Modified: python/branches/release26-maint/Doc/library/io.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/io.rst	(original)
+++ python/branches/release26-maint/Doc/library/io.rst	Tue Oct 27 16:08:27 2009
@@ -96,8 +96,8 @@
 
    *buffering* is an optional integer used to set the buffering policy.  By
    default full buffering is on.  Pass 0 to switch buffering off (only allowed
-   in binary mode), 1 to set line buffering, and an integer > 1 for full
-   buffering.
+   in binary mode), 1 to set line buffering, and an integer > 1 to indicate the
+   size of the buffer.
 
    *encoding* is the name of the encoding used to decode or encode the file.
    This should only be used in text mode.  The default encoding is platform

Modified: python/branches/release26-maint/Doc/library/mailbox.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/mailbox.rst	(original)
+++ python/branches/release26-maint/Doc/library/mailbox.rst	Tue Oct 27 16:08:27 2009
@@ -602,7 +602,7 @@
    `nmh - Message Handling System <http://www.nongnu.org/nmh/>`_
       Home page of :program:`nmh`, an updated version of the original :program:`mh`.
 
-   `MH & nmh: Email for Users & Programmers <http://www.ics.uci.edu/~mh/book/>`_
+   `MH & nmh: Email for Users & Programmers <http://rand-mh.sourceforge.net/book/>`_
       A GPL-licensed book on :program:`mh` and :program:`nmh`, with some information
       on the mailbox format.
 

Modified: python/branches/release26-maint/Doc/library/math.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/math.rst	(original)
+++ python/branches/release26-maint/Doc/library/math.rst	Tue Oct 27 16:08:27 2009
@@ -321,7 +321,7 @@
    The mathematical constant *e*.
 
 
-.. note::
+.. impl-detail::
 
    The :mod:`math` module consists mostly of thin wrappers around the platform C
    math library functions.  Behavior in exceptional cases is loosely specified

Modified: python/branches/release26-maint/Doc/library/msilib.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/msilib.rst	(original)
+++ python/branches/release26-maint/Doc/library/msilib.rst	Tue Oct 27 16:08:27 2009
@@ -396,10 +396,10 @@
 
 .. seealso::
 
-   `Directory Table <http://msdn.microsoft.com/library/en-us/msi/setup/directory_table.asp>`_
-   `File Table <http://msdn.microsoft.com/library/en-us/msi/setup/file_table.asp>`_
-   `Component Table <http://msdn.microsoft.com/library/en-us/msi/setup/component_table.asp>`_
-   `FeatureComponents Table <http://msdn.microsoft.com/library/en-us/msi/setup/featurecomponents_table.asp>`_
+   `Directory Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/directory_table.asp>`_
+   `File Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/file_table.asp>`_
+   `Component Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/component_table.asp>`_
+   `FeatureComponents Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/featurecomponents_table.asp>`_
 
 .. _features:
 
@@ -424,7 +424,7 @@
 
 .. seealso::
 
-   `Feature Table <http://msdn.microsoft.com/library/en-us/msi/setup/feature_table.asp>`_
+   `Feature Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/feature_table.asp>`_
 
 .. _msi-gui:
 
@@ -518,13 +518,13 @@
 
 .. seealso::
 
-   `Dialog Table <http://msdn.microsoft.com/library/en-us/msi/setup/dialog_table.asp>`_
-   `Control Table <http://msdn.microsoft.com/library/en-us/msi/setup/control_table.asp>`_
-   `Control Types <http://msdn.microsoft.com/library/en-us/msi/setup/controls.asp>`_
-   `ControlCondition Table <http://msdn.microsoft.com/library/en-us/msi/setup/controlcondition_table.asp>`_
-   `ControlEvent Table <http://msdn.microsoft.com/library/en-us/msi/setup/controlevent_table.asp>`_
-   `EventMapping Table <http://msdn.microsoft.com/library/en-us/msi/setup/eventmapping_table.asp>`_
-   `RadioButton Table <http://msdn.microsoft.com/library/en-us/msi/setup/radiobutton_table.asp>`_
+   `Dialog Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/dialog_table.asp>`_
+   `Control Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/control_table.asp>`_
+   `Control Types <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/controls.asp>`_
+   `ControlCondition Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/controlcondition_table.asp>`_
+   `ControlEvent Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/controlevent_table.asp>`_
+   `EventMapping Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/eventmapping_table.asp>`_
+   `RadioButton Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/radiobutton_table.asp>`_
 
 .. _msi-tables:
 
@@ -553,5 +553,3 @@
 
    This module contains definitions for the UIText and ActionText tables, for the
    standard installer actions.
-
-

Modified: python/branches/release26-maint/Doc/library/os.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/os.rst	(original)
+++ python/branches/release26-maint/Doc/library/os.rst	Tue Oct 27 16:08:27 2009
@@ -1836,9 +1836,9 @@
 .. function:: system(command)
 
    Execute the command (a string) in a subshell.  This is implemented by calling
-   the Standard C function :cfunc:`system`, and has the same limitations.  Changes
-   to :data:`os.environ`, :data:`sys.stdin`, etc. are not reflected in the
-   environment of the executed command.
+   the Standard C function :cfunc:`system`, and has the same limitations.
+   Changes to :data:`sys.stdin`, etc. are not reflected in the environment of the
+   executed command.
 
    On Unix, the return value is the exit status of the process encoded in the
    format specified for :func:`wait`.  Note that POSIX does not specify the meaning

Modified: python/branches/release26-maint/Doc/library/othergui.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/othergui.rst	(original)
+++ python/branches/release26-maint/Doc/library/othergui.rst	Tue Oct 27 16:08:27 2009
@@ -43,7 +43,7 @@
       `PythonCAD <http://www.pythoncad.org/>`_. An online `tutorial
       <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
 
-   `PyQt <http://www.riverbankcomputing.co.uk/pyqt/index.php>`_
+   `PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/>`_
       PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit.  Qt is an
       extensive C++ GUI application development framework that is
       available for Unix, Windows and Mac OS X. :program:`sip` is a tool

Modified: python/branches/release26-maint/Doc/library/platform.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/platform.rst	(original)
+++ python/branches/release26-maint/Doc/library/platform.rst	Tue Oct 27 16:08:27 2009
@@ -98,7 +98,7 @@
 .. function:: python_implementation()
 
    Returns a string identifying the Python implementation. Possible return values
-   are: 'CPython', 'IronPython', 'Jython'
+   are: 'CPython', 'IronPython', 'Jython'.
 
    .. versionadded:: 2.6
 

Modified: python/branches/release26-maint/Doc/library/pty.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/pty.rst	(original)
+++ python/branches/release26-maint/Doc/library/pty.rst	Tue Oct 27 16:08:27 2009
@@ -3,8 +3,8 @@
 ========================================
 
 .. module:: pty
-   :platform: IRIX, Linux
-   :synopsis: Pseudo-Terminal Handling for SGI and Linux.
+   :platform: Linux
+   :synopsis: Pseudo-Terminal Handling for Linux.
 .. moduleauthor:: Steen Lumholt
 .. sectionauthor:: Moshe Zadka <moshez at zadka.site.co.il>
 
@@ -14,8 +14,8 @@
 controlling terminal programmatically.
 
 Because pseudo-terminal handling is highly platform dependent, there is code to
-do it only for SGI and Linux. (The Linux code is supposed to work on other
-platforms, but hasn't been tested yet.)
+do it only for Linux. (The Linux code is supposed to work on other platforms,
+but hasn't been tested yet.)
 
 The :mod:`pty` module defines the following functions:
 
@@ -32,8 +32,8 @@
 .. function:: openpty()
 
    Open a new pseudo-terminal pair, using :func:`os.openpty` if possible, or
-   emulation code for SGI and generic Unix systems. Return a pair of file
-   descriptors ``(master, slave)``, for the master and the slave end, respectively.
+   emulation code for generic Unix systems. Return a pair of file descriptors
+   ``(master, slave)``, for the master and the slave end, respectively.
 
 
 .. function:: spawn(argv[, master_read[, stdin_read]])

Modified: python/branches/release26-maint/Doc/library/signal.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/signal.rst	(original)
+++ python/branches/release26-maint/Doc/library/signal.rst	Tue Oct 27 16:08:27 2009
@@ -157,8 +157,8 @@
 
    The old values are returned as a tuple: (delay, interval).
 
-   Attempting to pass an invalid interval timer will cause a
-   :exc:`ItimerError`.
+   Attempting to pass an invalid interval timer will cause an
+   :exc:`ItimerError`.  Availability: Unix.
 
    .. versionadded:: 2.6
 
@@ -166,6 +166,7 @@
 .. function:: getitimer(which)
 
    Returns current value of a given interval timer specified by *which*.
+   Availability: Unix.
 
    .. versionadded:: 2.6
 
@@ -186,14 +187,14 @@
 
 .. function:: siginterrupt(signalnum, flag)
 
-   Change system call restart behaviour: if *flag* is :const:`False`, system calls
-   will be restarted when interrupted by signal *signalnum*, otherwise system calls will
-   be interrupted. Returns nothing. Availability: Unix (see the man page
-   :manpage:`siginterrupt(3)` for further information).
-
-   Note that installing a signal handler with :func:`signal` will reset the restart
-   behaviour to interruptible by implicitly calling :cfunc:`siginterrupt` with a true *flag*
-   value for the given signal.
+   Change system call restart behaviour: if *flag* is :const:`False`, system
+   calls will be restarted when interrupted by signal *signalnum*, otherwise
+   system calls will be interrupted.  Returns nothing.  Availability: Unix (see
+   the man page :manpage:`siginterrupt(3)` for further information).
+
+   Note that installing a signal handler with :func:`signal` will reset the
+   restart behaviour to interruptible by implicitly calling
+   :cfunc:`siginterrupt` with a true *flag* value for the given signal.
 
    .. versionadded:: 2.6
 

Modified: python/branches/release26-maint/Doc/library/stdtypes.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/stdtypes.rst	(original)
+++ python/branches/release26-maint/Doc/library/stdtypes.rst	Tue Oct 27 16:08:27 2009
@@ -195,9 +195,11 @@
 :meth:`__cmp__` method.  Refer to :ref:`customization`) for information on the
 use of this method to effect object comparisons.
 
-**Implementation note:** Objects of different types except numbers are ordered
-by their type names; objects of the same types that don't support proper
-comparison are ordered by their address.
+.. impl-detail::
+
+   Objects of different types except numbers are ordered by their type names;
+   objects of the same types that don't support proper comparison are ordered by
+   their address.
 
 .. index::
    operator: in
@@ -765,13 +767,15 @@
    If *k* is ``None``, it is treated like ``1``.
 
 (6)
-   If *s* and *t* are both strings, some Python implementations such as CPython can
-   usually perform an in-place optimization for assignments of the form ``s=s+t``
-   or ``s+=t``.  When applicable, this optimization makes quadratic run-time much
-   less likely.  This optimization is both version and implementation dependent.
-   For performance sensitive code, it is preferable to use the :meth:`str.join`
-   method which assures consistent linear concatenation performance across versions
-   and implementations.
+   .. impl-detail::
+
+      If *s* and *t* are both strings, some Python implementations such as
+      CPython can usually perform an in-place optimization for assignments of
+      the form ``s = s + t`` or ``s += t``.  When applicable, this optimization
+      makes quadratic run-time much less likely.  This optimization is both
+      version and implementation dependent.  For performance sensitive code, it
+      is preferable to use the :meth:`str.join` method which assures consistent
+      linear concatenation performance across versions and implementations.
 
    .. versionchanged:: 2.4
       Formerly, string concatenation never occurred in-place.
@@ -961,10 +965,11 @@
    For 8-bit strings, this method is locale-dependent.
 
 
-.. method:: str.join(seq)
+.. method:: str.join(iterable)
 
-   Return a string which is the concatenation of the strings in the sequence *seq*.
-   The separator between elements is the string providing this method.
+   Return a string which is the concatenation of the strings in the
+   :term:`iterable` *iterable*.  The separator between elements is the string
+   providing this method.
 
 
 .. method:: str.ljust(width[, fillchar])
@@ -1593,10 +1598,13 @@
    example, sort by department, then by salary grade).
 
 (10)
-   While a list is being sorted, the effect of attempting to mutate, or even
-   inspect, the list is undefined.  The C implementation of Python 2.3 and newer
-   makes the list appear empty for the duration, and raises :exc:`ValueError` if it
-   can detect that the list has been mutated during a sort.
+   .. impl-detail::
+
+      While a list is being sorted, the effect of attempting to mutate, or even
+      inspect, the list is undefined.  The C implementation of Python 2.3 and
+      newer makes the list appear empty for the duration, and raises
+      :exc:`ValueError` if it can detect that the list has been mutated during a
+      sort.
 
 
 .. _types-set:
@@ -1970,20 +1978,21 @@
 
       Return a copy of the dictionary's list of ``(key, value)`` pairs.
 
-      .. note::
+      .. impl-detail::
 
          Keys and values are listed in an arbitrary order which is non-random,
          varies across Python implementations, and depends on the dictionary's
-         history of insertions and deletions. If :meth:`items`, :meth:`keys`,
-         :meth:`values`, :meth:`iteritems`, :meth:`iterkeys`, and
-         :meth:`itervalues` are called with no intervening modifications to the
-         dictionary, the lists will directly correspond.  This allows the
-         creation of ``(value, key)`` pairs using :func:`zip`: ``pairs =
-         zip(d.values(), d.keys())``.  The same relationship holds for the
-         :meth:`iterkeys` and :meth:`itervalues` methods: ``pairs =
-         zip(d.itervalues(), d.iterkeys())`` provides the same value for
-         ``pairs``. Another way to create the same list is ``pairs = [(v, k) for
-         (k, v) in d.iteritems()]``.
+         history of insertions and deletions.
+
+      If :meth:`items`, :meth:`keys`, :meth:`values`, :meth:`iteritems`,
+      :meth:`iterkeys`, and :meth:`itervalues` are called with no intervening
+      modifications to the dictionary, the lists will directly correspond.  This
+      allows the creation of ``(value, key)`` pairs using :func:`zip`: ``pairs =
+      zip(d.values(), d.keys())``.  The same relationship holds for the
+      :meth:`iterkeys` and :meth:`itervalues` methods: ``pairs =
+      zip(d.itervalues(), d.iterkeys())`` provides the same value for
+      ``pairs``. Another way to create the same list is ``pairs = [(v, k) for
+      (k, v) in d.iteritems()]``.
 
    .. method:: iteritems()
 

Modified: python/branches/release26-maint/Doc/library/sys.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/sys.rst	(original)
+++ python/branches/release26-maint/Doc/library/sys.rst	Tue Oct 27 16:08:27 2009
@@ -417,8 +417,10 @@
    that is deeper than the call stack, :exc:`ValueError` is raised.  The default
    for *depth* is zero, returning the frame at the top of the call stack.
 
-   This function should be used for internal and specialized purposes only. It
-   is not guaranteed to exist in all implementations of Python.
+   .. impl-detail::
+
+      This function should be used for internal and specialized purposes only.
+      It is not guaranteed to exist in all implementations of Python.
 
 
 .. function:: getprofile()
@@ -440,12 +442,12 @@
 
    Get the trace function as set by :func:`settrace`.
 
-   .. note::
+   .. impl-detail::
 
       The :func:`gettrace` function is intended only for implementing debuggers,
-      profilers, coverage tools and the like. Its behavior is part of the
-      implementation platform, rather than part of the language definition,
-      and thus may not be available in all Python implementations.
+      profilers, coverage tools and the like.  Its behavior is part of the
+      implementation platform, rather than part of the language definition, and
+      thus may not be available in all Python implementations.
 
    .. versionadded:: 2.6
 
@@ -809,12 +811,12 @@
 
    For more information on code and frame objects, refer to :ref:`types`.
 
-   .. note::
+   .. impl-detail::
 
       The :func:`settrace` function is intended only for implementing debuggers,
-      profilers, coverage tools and the like. Its behavior is part of the
-      implementation platform, rather than part of the language definition, and thus
-      may not be available in all Python implementations.
+      profilers, coverage tools and the like.  Its behavior is part of the
+      implementation platform, rather than part of the language definition, and
+      thus may not be available in all Python implementations.
 
 
 .. function:: settscdump(on_flag)

Modified: python/branches/release26-maint/Doc/library/types.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/types.rst	(original)
+++ python/branches/release26-maint/Doc/library/types.rst	Tue Oct 27 16:08:27 2009
@@ -241,8 +241,11 @@
    as ``datetime.timedelta.days``.  This type is used as descriptor for simple C
    data members which use standard conversion functions; it has the same purpose
    as the :class:`property` type, but for classes defined in extension modules.
-   In other implementations of Python, this type may be identical to
-   ``GetSetDescriptorType``.
+
+   .. impl-detail::
+
+      In other implementations of Python, this type may be identical to
+      ``GetSetDescriptorType``.
 
    .. versionadded:: 2.5
 

Modified: python/branches/release26-maint/Doc/library/weakref.rst
==============================================================================
--- python/branches/release26-maint/Doc/library/weakref.rst	(original)
+++ python/branches/release26-maint/Doc/library/weakref.rst	Tue Oct 27 16:08:27 2009
@@ -1,4 +1,3 @@
-
 :mod:`weakref` --- Weak references
 ==================================
 
@@ -73,6 +72,11 @@
 
    obj = Dict(red=1, green=2, blue=3)   # this object is weak referenceable
 
+.. impl-detail::
+
+   Other built-in types such as :class:`tuple` and :class:`long` do not support
+   weak references even when subclassed.
+
 Extension types can easily be made to support weak references; see
 :ref:`weakref-support`.
 

Modified: python/branches/release26-maint/Doc/reference/datamodel.rst
==============================================================================
--- python/branches/release26-maint/Doc/reference/datamodel.rst	(original)
+++ python/branches/release26-maint/Doc/reference/datamodel.rst	Tue Oct 27 16:08:27 2009
@@ -56,13 +56,16 @@
 they may be garbage-collected.  An implementation is allowed to postpone garbage
 collection or omit it altogether --- it is a matter of implementation quality
 how garbage collection is implemented, as long as no objects are collected that
-are still reachable.  (Implementation note: CPython currently uses a
-reference-counting scheme with (optional) delayed detection of cyclically linked
-garbage, which collects most objects as soon as they become unreachable, but is
-not guaranteed to collect garbage containing circular references.  See the
-documentation of the :mod:`gc` module for information on controlling the
-collection of cyclic garbage.  Other implementations act differently and CPython
-may change.)
+are still reachable.
+
+.. impl-detail::
+
+   CPython currently uses a reference-counting scheme with (optional) delayed
+   detection of cyclically linked garbage, which collects most objects as soon
+   as they become unreachable, but is not guaranteed to collect garbage
+   containing circular references.  See the documentation of the :mod:`gc`
+   module for information on controlling the collection of cyclic garbage.
+   Other implementations act differently and CPython may change.
 
 Note that the use of the implementation's tracing or debugging facilities may
 keep objects alive that would normally be collectable. Also note that catching
@@ -1672,15 +1675,15 @@
   *__slots__*; otherwise, the class attribute would overwrite the descriptor
   assignment.
 
+* The action of a *__slots__* declaration is limited to the class where it is
+  defined.  As a result, subclasses will have a *__dict__* unless they also define
+  *__slots__* (which must only contain names of any *additional* slots).
+
 * If a class defines a slot also defined in a base class, the instance variable
   defined by the base class slot is inaccessible (except by retrieving its
   descriptor directly from the base class). This renders the meaning of the
   program undefined.  In the future, a check may be added to prevent this.
 
-* The action of a *__slots__* declaration is limited to the class where it is
-  defined.  As a result, subclasses will have a *__dict__* unless they also define
-  *__slots__*.
-
 * Nonempty *__slots__* does not work for classes derived from "variable-length"
   built-in types such as :class:`long`, :class:`str` and :class:`tuple`.
 
@@ -1885,12 +1888,16 @@
 supply the following special method with a more efficient implementation, which
 also does not require the object be a sequence.
 
-
 .. method:: object.__contains__(self, item)
 
-   Called to implement membership test operators.  Should return true if *item* is
-   in *self*, false otherwise.  For mapping objects, this should consider the keys
-   of the mapping rather than the values or the key-item pairs.
+   Called to implement membership test operators.  Should return true if *item*
+   is in *self*, false otherwise.  For mapping objects, this should consider the
+   keys of the mapping rather than the values or the key-item pairs.
+
+   For objects that don't define :meth:`__contains__`, the membership test first
+   tries iteration via :meth:`__iter__`, then the old sequence iteration
+   protocol via :meth:`__getitem__`, see :ref:`this section in the language
+   reference <membership-test-details>`.
 
 
 .. _sequence-methods:

Modified: python/branches/release26-maint/Doc/reference/executionmodel.rst
==============================================================================
--- python/branches/release26-maint/Doc/reference/executionmodel.rst	(original)
+++ python/branches/release26-maint/Doc/reference/executionmodel.rst	Tue Oct 27 16:08:27 2009
@@ -128,7 +128,7 @@
 itself.  ``__builtins__`` can be set to a user-created dictionary to create a
 weak form of restricted execution.
 
-.. note::
+.. impl-detail::
 
    Users should not touch ``__builtins__``; it is strictly an implementation
    detail.  Users wanting to override values in the built-in namespace should

Modified: python/branches/release26-maint/Doc/reference/expressions.rst
==============================================================================
--- python/branches/release26-maint/Doc/reference/expressions.rst	(original)
+++ python/branches/release26-maint/Doc/reference/expressions.rst	Tue Oct 27 16:08:27 2009
@@ -663,13 +663,13 @@
 raised.  Otherwise, the list of filled slots is used as the argument list for
 the call.
 
-.. note::
+.. impl-detail::
 
-   An implementation may provide built-in functions whose positional parameters do
-   not have names, even if they are 'named' for the purpose of documentation, and
-   which therefore cannot be supplied by keyword.  In CPython, this is the case for
-   functions implemented in C that use :cfunc:`PyArg_ParseTuple` to parse their
-   arguments.
+   An implementation may provide built-in functions whose positional parameters
+   do not have names, even if they are 'named' for the purpose of documentation,
+   and which therefore cannot be supplied by keyword.  In CPython, this is the
+   case for functions implemented in C that use :cfunc:`PyArg_ParseTuple` to
+   parse their arguments.
 
 If there are more positional arguments than there are formal parameter slots, a
 :exc:`TypeError` exception is raised, unless a formal parameter using the syntax
@@ -1068,6 +1068,8 @@
   another one is made arbitrarily but consistently within one execution of a
   program.
 
+.. _membership-test-details:
+
 The operators :keyword:`in` and :keyword:`not in` test for collection
 membership.  ``x in s`` evaluates to true if *x* is a member of the collection
 *s*, and false otherwise.  ``x not in s`` returns the negation of ``x in s``.
@@ -1092,7 +1094,12 @@
 For user-defined classes which define the :meth:`__contains__` method, ``x in
 y`` is true if and only if ``y.__contains__(x)`` is true.
 
-For user-defined classes which do not define :meth:`__contains__` and do define
+For user-defined classes which do not define :meth:`__contains__` but do define
+:meth:`__iter__`, ``x in y`` is true if some value ``z`` with ``x == z`` is
+produced while iterating over ``y``.  If an exception is raised during the
+iteration, it is as if :keyword:`in` raised that exception.
+
+Lastly, the old-style iteration protocol is tried: if a class defines
 :meth:`__getitem__`, ``x in y`` is true if and only if there is a non-negative
 integer index *i* such that ``x == y[i]``, and all lower integer indices do not
 raise :exc:`IndexError` exception. (If any other exception is raised, it is as

Modified: python/branches/release26-maint/Doc/reference/simple_stmts.rst
==============================================================================
--- python/branches/release26-maint/Doc/reference/simple_stmts.rst	(original)
+++ python/branches/release26-maint/Doc/reference/simple_stmts.rst	Tue Oct 27 16:08:27 2009
@@ -219,9 +219,11 @@
   the length of the assigned sequence, thus changing the length of the target
   sequence, if the object allows it.
 
-(In the current implementation, the syntax for targets is taken to be the same
-as for expressions, and invalid syntax is rejected during the code generation
-phase, causing less detailed error messages.)
+.. impl-detail::
+
+   In the current implementation, the syntax for targets is taken to be the same
+   as for expressions, and invalid syntax is rejected during the code generation
+   phase, causing less detailed error messages.
 
 WARNING: Although the definition of assignment implies that overlaps between the
 left-hand side and the right-hand side are 'safe' (for example ``a, b = b, a``
@@ -950,9 +952,11 @@
 parameters or in a :keyword:`for` loop control target, :keyword:`class`
 definition, function definition, or :keyword:`import` statement.
 
-(The current implementation does not enforce the latter two restrictions, but
-programs should not abuse this freedom, as future implementations may enforce
-them or silently change the meaning of the program.)
+.. impl-detail::
+
+   The current implementation does not enforce the latter two restrictions, but
+   programs should not abuse this freedom, as future implementations may enforce
+   them or silently change the meaning of the program.
 
 .. index::
    statement: exec

Modified: python/branches/release26-maint/Doc/tools/sphinxext/indexcontent.html
==============================================================================
--- python/branches/release26-maint/Doc/tools/sphinxext/indexcontent.html	(original)
+++ python/branches/release26-maint/Doc/tools/sphinxext/indexcontent.html	Tue Oct 27 16:08:27 2009
@@ -26,6 +26,8 @@
          <span class="linkdescr">sharing modules with others</span></p>
       <p class="biglink"><a class="biglink" href="{{ pathto("documenting/index") }}">Documenting Python</a><br/>
          <span class="linkdescr">guide for documentation authors</span></p>
+      <p class="biglink"><a class="biglink" href="{{ pathto("faq/index") }}">FAQs</a><br/>
+         <span class="linkdescr">frequently asked questions (with answers!)</span></p>
     </td></tr>
   </table>
 

Modified: python/branches/release26-maint/Doc/tools/sphinxext/pyspecific.py
==============================================================================
--- python/branches/release26-maint/Doc/tools/sphinxext/pyspecific.py	(original)
+++ python/branches/release26-maint/Doc/tools/sphinxext/pyspecific.py	Tue Oct 27 16:08:27 2009
@@ -21,6 +21,8 @@
     Body.enum.converters['upperroman'] = lambda x: None
 
 
+# Support for marking up and linking to bugs.python.org issues
+
 def issue_role(typ, rawtext, text, lineno, inliner, options={}, content=[]):
     issue = utils.unescape(text)
     text = 'issue ' + issue
@@ -28,6 +30,34 @@
     return [refnode], []
 
 
+# Support for marking up implementation details
+
+from sphinx.util.compat import Directive
+
+class ImplementationDetail(Directive):
+
+    has_content = True
+    required_arguments = 0
+    optional_arguments = 1
+    final_argument_whitespace = True
+
+    def run(self):
+        pnode = nodes.compound(classes=['impl-detail'])
+        content = self.content
+        add_text = nodes.strong('CPython implementation detail:',
+                                'CPython implementation detail:')
+        if self.arguments:
+            n, m = self.state.inline_text(self.arguments[0], self.lineno)
+            pnode.append(nodes.paragraph('', '', *(n + m)))
+        self.state.nested_parse(content, self.content_offset, pnode)
+        if pnode.children and isinstance(pnode[0], nodes.paragraph):
+            pnode[0].insert(0, add_text)
+            pnode[0].insert(1, nodes.Text(' '))
+        else:
+            pnode.insert(0, nodes.paragraph('', '', add_text))
+        return [pnode]
+
+
 # Support for building "topic help" for pydoc
 
 pydoc_topic_labels = [
@@ -105,10 +135,12 @@
         finally:
             f.close()
 
+
 # Support for checking for suspicious markup
 
 import suspicious
 
+
 # Support for documenting Opcodes
 
 import re
@@ -131,6 +163,7 @@
 
 def setup(app):
     app.add_role('issue', issue_role)
+    app.add_directive('impl-detail', ImplementationDetail)
     app.add_builder(PydocTopicsBuilder)
     app.add_builder(suspicious.CheckSuspiciousMarkupBuilder)
     app.add_description_unit('opcode', 'opcode', '%s (opcode)',

Modified: python/branches/release26-maint/Doc/tools/sphinxext/static/basic.css
==============================================================================
--- python/branches/release26-maint/Doc/tools/sphinxext/static/basic.css	(original)
+++ python/branches/release26-maint/Doc/tools/sphinxext/static/basic.css	Tue Oct 27 16:08:27 2009
@@ -348,6 +348,17 @@
     background-color: #ffa
 }
 
+.impl-detail {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 7px;
+    border: 1px solid #ccc;
+}
+
+.impl-detail p {
+    margin: 0;
+}
+
 /* -- code displays --------------------------------------------------------- */
 
 pre {
@@ -408,7 +419,7 @@
     div.document,
     div.documentwrapper,
     div.bodywrapper {
-        margin: 0;
+        margin: 0 !important;
         width: 100%;
     }
 

Modified: python/branches/release26-maint/Doc/tutorial/index.rst
==============================================================================
--- python/branches/release26-maint/Doc/tutorial/index.rst	(original)
+++ python/branches/release26-maint/Doc/tutorial/index.rst	Tue Oct 27 16:08:27 2009
@@ -28,18 +28,17 @@
 interpreter handy for hands-on experience, but all examples are self-contained,
 so the tutorial can be read off-line as well.
 
-For a description of standard objects and modules, see the Python Library
-Reference document. The Python Reference Manual gives a more formal definition
-of the language. To write extensions in C or C++, read Extending and Embedding
-the Python Interpreter and Python/C API Reference. There are also several books
-covering Python in depth.
+For a description of standard objects and modules, see :ref:`library-index`.
+:ref:`reference-index` gives a more formal definition of the language.  To write
+extensions in C or C++, read :ref:`extending-index` and
+:ref:`c-api-index`. There are also several books covering Python in depth.
 
 This tutorial does not attempt to be comprehensive and cover every single
 feature, or even every commonly used feature. Instead, it introduces many of
 Python's most noteworthy features, and will give you a good idea of the
 language's flavor and style. After reading it, you will be able to read and
 write Python modules and programs, and you will be ready to learn more about the
-various Python library modules described in the Python Library Reference.
+various Python library modules described in :ref:`library-index`.
 
 The :ref:`glossary` is also worth going through.
 

Modified: python/branches/release26-maint/Doc/using/cmdline.rst
==============================================================================
--- python/branches/release26-maint/Doc/using/cmdline.rst	(original)
+++ python/branches/release26-maint/Doc/using/cmdline.rst	Tue Oct 27 16:08:27 2009
@@ -8,7 +8,7 @@
 The CPython interpreter scans the command line and the environment for various
 settings.
 
-.. note::
+.. impl-detail::
 
    Other implementations' command line schemes may differ.  See
    :ref:`implementations` for further resources.

Modified: python/branches/release26-maint/Doc/using/windows.rst
==============================================================================
--- python/branches/release26-maint/Doc/using/windows.rst	(original)
+++ python/branches/release26-maint/Doc/using/windows.rst	Tue Oct 27 16:08:27 2009
@@ -69,7 +69,7 @@
 `ActivePython <http://www.activestate.com/Products/activepython/>`_
     Installer with multi-platform compatibility, documentation, PyWin32
 
-`Python Enthought Edition <http://code.enthought.com/enthon/>`_
+`Enthought Python Distribution <http://www.enthought.com/products/epd.php>`_
     Popular modules (such as PyWin32) with their respective documentation, tool
     suite for building extensible python applications
 
@@ -223,8 +223,7 @@
 * Win32 API calls
 * Registry
 * Event log
-* `Microsoft Foundation Classes <http://msdn.microsoft.com/library/
-  en-us/vclib/html/_mfc_Class_Library_Reference_Introduction.asp>`_ (MFC)
+* `Microsoft Foundation Classes <http://msdn.microsoft.com/en-us/library/fe1cf721%28VS.80%29.aspx>`_ (MFC)
   user interfaces
 
 `PythonWin <http://web.archive.org/web/20060524042422/
@@ -301,7 +300,7 @@
       MinGW gcc under Windows" or "Installing Python extension with distutils
       and without Microsoft Visual C++" by Sébastien Sauvage, 2003
 
-   `MingW -- Python extensions <http://www.mingw.org/MinGWiki/index.php/Python%20extensions>`_
+   `MingW -- Python extensions <http://oldwiki.mingw.org/index.php/Python%20extensions>`_
       by Trent Apted et al, 2007
 
 

Modified: python/branches/release26-maint/Doc/whatsnew/2.0.rst
==============================================================================
--- python/branches/release26-maint/Doc/whatsnew/2.0.rst	(original)
+++ python/branches/release26-maint/Doc/whatsnew/2.0.rst	Tue Oct 27 16:08:27 2009
@@ -572,8 +572,7 @@
 mostly by Trent Mick of ActiveState.  (Confusingly, ``sys.platform`` is still
 ``'win32'`` on Win64 because it seems that for ease of porting, MS Visual C++
 treats code as 32 bit on Itanium.) PythonWin also supports Windows CE; see the
-Python CE page at http://starship.python.net/crew/mhammond/ce/ for more
-information.
+Python CE page at http://pythonce.sourceforge.net/ for more information.
 
 Another new platform is Darwin/MacOS X; initial support for it is in Python 2.0.
 Dynamic loading works, if you specify "configure --with-dyld --with-suffix=.x".
@@ -1041,8 +1040,8 @@
 to include SSL support, which adds an additional function to the :mod:`socket`
 module: :func:`socket.ssl(socket, keyfile, certfile)`, which takes a socket
 object and returns an SSL socket.  The :mod:`httplib` and :mod:`urllib` modules
-were also changed to support "https://" URLs, though no one has implemented FTP
-or SMTP over SSL.
+were also changed to support ``https://`` URLs, though no one has implemented
+FTP or SMTP over SSL.
 
 The :mod:`httplib` module has been rewritten by Greg Stein to support HTTP/1.1.
 Backward compatibility with the 1.5 version of :mod:`httplib` is provided,

Modified: python/branches/release26-maint/Doc/whatsnew/2.2.rst
==============================================================================
--- python/branches/release26-maint/Doc/whatsnew/2.2.rst	(original)
+++ python/branches/release26-maint/Doc/whatsnew/2.2.rst	Tue Oct 27 16:08:27 2009
@@ -30,7 +30,7 @@
 to the PEP for a particular new feature.
 
 
-.. seealso::
+.. seealso (now defunct)
 
    http://www.unixreview.com/documents/s=1356/urm0109h/0109h.htm
       "What's So Special About Python 2.2?" is also about the new 2.2 features, and
@@ -49,14 +49,14 @@
 complicated section of this article, I'll provide an overview of the changes and
 offer some comments.
 
-A long time ago I wrote a Web page (http://www.amk.ca/python/writing/warts.html)
-listing flaws in Python's design.  One of the most significant flaws was that
-it's impossible to subclass Python types implemented in C.  In particular, it's
-not possible to subclass built-in types, so you can't just subclass, say, lists
-in order to add a single useful method to them. The :mod:`UserList` module
-provides a class that supports all of the methods of lists and that can be
-subclassed further, but there's lots of C code that expects a regular Python
-list and won't accept a :class:`UserList` instance.
+A long time ago I wrote a Web page listing flaws in Python's design.  One of the
+most significant flaws was that it's impossible to subclass Python types
+implemented in C.  In particular, it's not possible to subclass built-in types,
+so you can't just subclass, say, lists in order to add a single useful method to
+them. The :mod:`UserList` module provides a class that supports all of the
+methods of lists and that can be subclassed further, but there's lots of C code
+that expects a regular Python list and won't accept a :class:`UserList`
+instance.
 
 Python 2.2 fixes this, and in the process adds some exciting new capabilities.
 A brief summary:

Modified: python/branches/release26-maint/Doc/whatsnew/2.3.rst
==============================================================================
--- python/branches/release26-maint/Doc/whatsnew/2.3.rst	(original)
+++ python/branches/release26-maint/Doc/whatsnew/2.3.rst	Tue Oct 27 16:08:27 2009
@@ -1855,10 +1855,10 @@
 
 .. seealso::
 
-   http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Objects/obmalloc.c
-      For the full details of the pymalloc implementation, see the comments at the top
-      of the file :file:`Objects/obmalloc.c` in the Python source code.  The above
-      link points to the file within the SourceForge CVS browser.
+   http://svn.python.org/view/python/trunk/Objects/obmalloc.c
+      For the full details of the pymalloc implementation, see the comments at
+      the top of the file :file:`Objects/obmalloc.c` in the Python source code.
+      The above link points to the file within the python.org SVN browser.
 
 .. ======================================================================
 

Modified: python/branches/release26-maint/Doc/whatsnew/2.4.rst
==============================================================================
--- python/branches/release26-maint/Doc/whatsnew/2.4.rst	(original)
+++ python/branches/release26-maint/Doc/whatsnew/2.4.rst	Tue Oct 27 16:08:27 2009
@@ -680,9 +680,6 @@
       Written by Facundo Batista and implemented by Facundo Batista, Eric Price,
       Raymond Hettinger, Aahz, and Tim Peters.
 
-   http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
-      A more detailed overview of the IEEE-754 representation.
-
    http://www.lahey.com/float.htm
       The article uses Fortran code to illustrate many of the problems that floating-
       point inaccuracy can cause.
@@ -756,7 +753,7 @@
   :ctype:`double` to an ASCII string.
 
 The code for these functions came from the GLib library
-(http://developer.gnome.org/arch/gtk/glib.html), whose developers kindly
+(http://library.gnome.org/devel/glib/stable/), whose developers kindly
 relicensed the relevant functions and donated them to the Python Software
 Foundation.  The :mod:`locale` module  can now change the numeric locale,
 letting extensions such as GTK+  produce the correct results.

Modified: python/branches/release26-maint/Doc/whatsnew/2.6.rst
==============================================================================
--- python/branches/release26-maint/Doc/whatsnew/2.6.rst	(original)
+++ python/branches/release26-maint/Doc/whatsnew/2.6.rst	Tue Oct 27 16:08:27 2009
@@ -1824,7 +1824,7 @@
 
   The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol
   available, instead of restricting itself to protocol 1.
-  (Contributed by W. Barnes; :issue:`1551443`.)
+  (Contributed by W. Barnes.)
 
 * The :mod:`cgi` module will now read variables from the query string
   of an HTTP POST request.  This makes it possible to use form actions
@@ -2977,7 +2977,7 @@
 * The BerkeleyDB module now has a C API object, available as
   ``bsddb.db.api``.   This object can be used by other C extensions
   that wish to use the :mod:`bsddb` module for their own purposes.
-  (Contributed by Duncan Grisby; :issue:`1551895`.)
+  (Contributed by Duncan Grisby.)
 
 * The new buffer interface, previously described in
   `the PEP 3118 section <#pep-3118-revised-buffer-protocol>`__,

Modified: python/branches/release26-maint/Lib/ctypes/wintypes.py
==============================================================================
--- python/branches/release26-maint/Lib/ctypes/wintypes.py	(original)
+++ python/branches/release26-maint/Lib/ctypes/wintypes.py	Tue Oct 27 16:08:27 2009
@@ -179,7 +179,7 @@
            'MSG', 'OLESTR', 'POINT', 'POINTL', 'RECT', 'RECTL', 'RGB',
            'SC_HANDLE', 'SERVICE_STATUS_HANDLE', 'SHORT', 'SIZE', 'SIZEL',
            'SMALL_RECT', 'UINT', 'ULARGE_INTEGER', 'ULONG', 'USHORT',
-           'VARIANT_BOOL', 'WCHAR', 'WIN32_FIND_DATAA', 'WIN32_FIND_DATAW',
+           'WCHAR', 'WIN32_FIND_DATAA', 'WIN32_FIND_DATAW',
            'WORD', 'WPARAM', '_COORD', '_FILETIME', '_LARGE_INTEGER',
            '_POINTL', '_RECTL', '_SMALL_RECT', '_ULARGE_INTEGER', 'tagMSG',
            'tagPOINT', 'tagRECT', 'tagSIZE']

Modified: python/branches/release26-maint/Objects/stringobject.c
==============================================================================
--- python/branches/release26-maint/Objects/stringobject.c	(original)
+++ python/branches/release26-maint/Objects/stringobject.c	Tue Oct 27 16:08:27 2009
@@ -1806,10 +1806,10 @@
 
 
 PyDoc_STRVAR(join__doc__,
-"S.join(sequence) -> string\n\
+"S.join(iterable) -> string\n\
 \n\
 Return a string which is the concatenation of the strings in the\n\
-sequence.  The separator between elements is S.");
+iterable.  The separator between elements is S.");
 
 static PyObject *
 string_join(PyStringObject *self, PyObject *orig)

Modified: python/branches/release26-maint/Objects/unicodeobject.c
==============================================================================
--- python/branches/release26-maint/Objects/unicodeobject.c	(original)
+++ python/branches/release26-maint/Objects/unicodeobject.c	Tue Oct 27 16:08:27 2009
@@ -7036,10 +7036,10 @@
 }
 
 PyDoc_STRVAR(join__doc__,
-             "S.join(sequence) -> unicode\n\
+             "S.join(iterable) -> unicode\n\
 \n\
 Return a string which is the concatenation of the strings in the\n\
-sequence.  The separator between elements is S.");
+iterable.  The separator between elements is S.");
 
 static PyObject*
 unicode_join(PyObject *self, PyObject *data)

Modified: python/branches/release26-maint/Python/codecs.c
==============================================================================
--- python/branches/release26-maint/Python/codecs.c	(original)
+++ python/branches/release26-maint/Python/codecs.c	Tue Oct 27 16:08:27 2009
@@ -774,7 +774,9 @@
 	    {
 		"strict_errors",
 		strict_errors,
-		METH_O
+		METH_O,
+		PyDoc_STR("Implements the 'strict' error handling, which "
+			  "raises a UnicodeError on coding errors.")
 	    }
 	},
 #ifdef Py_USING_UNICODE
@@ -783,7 +785,9 @@
 	    {
 		"ignore_errors",
 		ignore_errors,
-		METH_O
+		METH_O,
+		PyDoc_STR("Implements the 'ignore' error handling, which "
+			  "ignores malformed data and continues.")
 	    }
 	},
 	{
@@ -791,7 +795,9 @@
 	    {
 		"replace_errors",
 		replace_errors,
-		METH_O
+		METH_O,
+		PyDoc_STR("Implements the 'replace' error handling, which "
+			  "replaces malformed data with a replacement marker.")
 	    }
 	},
 	{
@@ -799,7 +805,10 @@
 	    {
 		"xmlcharrefreplace_errors",
 		xmlcharrefreplace_errors,
-		METH_O
+		METH_O,
+		PyDoc_STR("Implements the 'xmlcharrefreplace' error handling, "
+			  "which replaces an unencodable character with the "
+			  "appropriate XML character reference.")
 	    }
 	},
 	{
@@ -807,7 +816,10 @@
 	    {
 		"backslashreplace_errors",
 		backslashreplace_errors,
-		METH_O
+		METH_O,
+		PyDoc_STR("Implements the 'backslashreplace' error handling, "
+			  "which replaces an unencodable character with a "
+			  "backslashed escape sequence.")
 	    }
 	}
 #endif


More information about the Python-checkins mailing list