cpython/Doc
Guido van Rossum 3d392eb327 Merged revisions 58947-59004 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r58952 | christian.heimes | 2007-11-12 10:58:08 -0800 (Mon, 12 Nov 2007) | 6 lines

  readline module cleanup
  fixed indention to tabs
  use Py_RETURN_NONE macro
  added more error checks to on_completion_display_matches_hook

  open question: Does PyList_SetItem(l, i, o) steal a reference to o in the case of an error?
........
  r58956 | guido.van.rossum | 2007-11-12 12:06:40 -0800 (Mon, 12 Nov 2007) | 2 lines

  Add the test from issue 1704621 (the issue itself is already fixed here).
........
  r58963 | amaury.forgeotdarc | 2007-11-13 13:54:28 -0800 (Tue, 13 Nov 2007) | 23 lines

  Merge from py3k branch:
  Correction for issue1265 (pdb bug with "with" statement).

  When an unfinished generator-iterator is garbage collected, PyEval_EvalFrameEx
  is called with a GeneratorExit exception set.  This leads to funny results
  if the sys.settrace function itself makes use of generators.
  A visible effect is that the settrace function is reset to None.
  Another is that the eventual "finally" block of the generator is not called.

  It is necessary to save/restore the exception around the call to the trace
  function.

  This happens a lot with py3k: isinstance() of an ABCMeta instance runs
      def __instancecheck__(cls, instance):
          """Override for isinstance(instance, cls)."""
          return any(cls.__subclasscheck__(c)
                     for c in {instance.__class__, type(instance)})
  which lets an opened generator expression each time it returns True.

  Backport candidate, even if the case is less frequent in 2.5.
........
  r58968 | georg.brandl | 2007-11-14 05:59:09 -0800 (Wed, 14 Nov 2007) | 2 lines

  Remove dead link from random docs.
........
  r58971 | raymond.hettinger | 2007-11-14 14:56:16 -0800 (Wed, 14 Nov 2007) | 1 line

  Make __fields__ read-only.  Suggested by Issac Morland
........
  r58972 | raymond.hettinger | 2007-11-14 15:02:30 -0800 (Wed, 14 Nov 2007) | 1 line

  Add test for __fields__ being read-only
........
  r58975 | raymond.hettinger | 2007-11-14 18:44:53 -0800 (Wed, 14 Nov 2007) | 6 lines

  Accept Issac Morland's suggestion for __replace__ to allow multiple replacements
  (suprisingly, this simplifies the signature, improves clarity, and is comparably fast).
  Update the docs to reflect a previous change to the function name.
  Add an example to the docs showing how to override the default __repr__ method.
........
  r58976 | raymond.hettinger | 2007-11-14 18:55:42 -0800 (Wed, 14 Nov 2007) | 1 line

  Small improvement to the implementation of __replace__().
........
  r58977 | raymond.hettinger | 2007-11-14 18:58:20 -0800 (Wed, 14 Nov 2007) | 1 line

  Fixup example in docs.
........
  r58978 | raymond.hettinger | 2007-11-14 19:16:09 -0800 (Wed, 14 Nov 2007) | 1 line

  Example of multiple replacements.
........
  r58998 | raymond.hettinger | 2007-11-15 14:39:34 -0800 (Thu, 15 Nov 2007) | 1 line

  Add example for use cases requiring default values.
........
  r59000 | bill.janssen | 2007-11-15 15:03:03 -0800 (Thu, 15 Nov 2007) | 1 line

  add the certificate for the Python SVN repository for testing SSL
........
  r59004 | guido.van.rossum | 2007-11-15 16:24:44 -0800 (Thu, 15 Nov 2007) | 8 lines

  A patch from issue 1378 by roudkerk:

  Currently on Windows set_error() make use of a large array which maps
  socket error numbers to error messages.

  This patch removes that array and just lets PyErr_SetExcFromWindowsErr()
  generate the message by using the Win32 function FormatMessage().
........
2007-11-16 00:35:22 +00:00
..
c-api Merged revisions 58742-58816 via svnmerge from 2007-11-02 23:46:40 +00:00
data Patch 1267 by Christian Heimes. 2007-10-19 23:16:50 +00:00
distutils #1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/. 2007-11-01 20:32:30 +00:00
documenting #1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/. 2007-11-01 20:32:30 +00:00
extending #1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/. 2007-11-01 20:32:30 +00:00
howto Remove file that should have been removed during the merge. 2007-11-01 20:58:46 +00:00
includes #1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/. 2007-11-01 20:32:30 +00:00
install Get rid of the remaining versionadded/versionchanged directives. 2007-09-01 13:51:09 +00:00
library Merged revisions 58947-59004 via svnmerge from 2007-11-16 00:35:22 +00:00
reference Merged revisions 58930-58938 via svnmerge from 2007-11-12 01:32:03 +00:00
tools Fix sphinx-build so that it runs with 2.x and 3.x but refuses to start with 3.x. 2007-08-31 06:20:46 +00:00
tutorial Merged revisions 58886-58929 via svnmerge from 2007-11-10 23:39:45 +00:00
using Add new directory "using". This should have been in the merge patch, 2007-11-01 20:58:08 +00:00
whatsnew Merging the py3k-pep3137 branch back into the py3k branch. 2007-11-06 21:34:58 +00:00
about.rst Move the 3k reST doc tree in place. 2007-08-15 14:28:22 +00:00
ACKS.txt #1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/. 2007-11-01 20:32:30 +00:00
bugs.rst Move the 3k reST doc tree in place. 2007-08-15 14:28:22 +00:00
conf.py Move the 3k reST doc tree in place. 2007-08-15 14:28:22 +00:00
contents.rst #1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/. 2007-11-01 20:32:30 +00:00
copyright.rst Move the 3k reST doc tree in place. 2007-08-15 14:28:22 +00:00
glossary.rst Merged revisions 58742-58816 via svnmerge from 2007-11-02 23:46:40 +00:00
license.rst Add 3.0 to the silly list in license.rst too, and update the Doc README. 2007-08-30 18:34:23 +00:00
Makefile Update Pygments version from externals. 2007-10-23 18:21:41 +00:00
README.txt #1370: Finish the merge r58749, log below, by resolving all conflicts in Doc/. 2007-11-01 20:32:30 +00:00
TODO.txt Address a few XXX comments, other fixes. 2007-08-31 17:17:17 +00:00

Python Documentation README
~~~~~~~~~~~~~~~~~~~~~~~~~~~

This directory contains the reStructuredText (reST) sources to the Python
documentation.  You don't need to build them yourself, prebuilt versions are
available at http://docs.python.org/download/.

Documentation on the authoring Python documentation, including information about
both style and markup, is available in the "Documenting Python" chapter of the
documentation.  There's also a chapter intended to point out differences to
those familiar with the previous docs written in LaTeX.


Building the docs
=================

You need to install Python 2.5.1 or higher (but Python 3.0 is not supported yet);
the toolset used to build the docs are written in Python.  The toolset used
to build the documentation is called *Sphinx*, it is not included in this
tree, but maintained separately in the Python Subversion repository.  Also
needed are Jinja, a templating engine (included in Sphinx as a Subversion
external), and optionally Pygments, a code highlighter.


Using make
----------

Luckily, a Makefile has been prepared so that on Unix, provided you have
installed Python and Subversion, you can just run ::

   make html

to check out the necessary toolset in the `tools/` subdirectory and build the
HTML output files.  To view the generated HTML, point your favorite browser at
the top-level index `build/html/index.html` after running "make".

To use a Python interpreter that's not called ``python``, use the standard
way to set Makefile variables, using e.g. ::

   make html PYTHON=/usr/bin/python2.5

Available make targets are:

 * "html", which builds standalone HTML files for offline viewing.

 * "web", which builds files usable with the Sphinx.web application (used to
   serve the docs online at http://docs.python.org/).

 * "htmlhelp", which builds HTML files and a HTML Help project file usable to
   convert them into a single Compiled HTML (.chm) file -- these are popular
   under Microsoft Windows, but very handy on every platform.

   To create the CHM file, you need to run the Microsoft HTML Help Workshop
   over the generated project (.hhp) file.

A "make update" updates the Subversion checkouts in `tools/`.


Without make
------------

You'll need to checkout the Sphinx package to the `tools/` directory::

   svn co http://svn.python.org/projects/doctools/trunk/sphinx tools/sphinx

Then, you need to install Docutils 0.4 (the SVN snapshot won't work), either
by checking it out via ::

   svn co http://svn.python.org/projects/external/docutils-0.4/docutils tools/docutils

or by installing it from http://docutils.sf.net/.

You can optionally also install Pygments, either as a checkout via :: 

   svn co http://svn.python.org/projects/external/Pygments-0.9/pygments tools/pygments

or from PyPI at http://pypi.python.org/pypi/Pygments.


Then, make an output directory, e.g. under `build/`, and run ::

   python tools/sphinx-build.py -b<builder> . build/<outputdirectory>

where `<builder>` is one of html, web or htmlhelp (for explanations see the make
targets above).


Contributing
============

For bugs in the content, the online version at http://docs.python.org/ has a
"suggest change" facility that can be used to correct errors in the source text
and submit them as a patch to the maintainers.

Bugs in the toolset should be reported in the Python bug tracker at
http://bugs.python.org/.

You can also send a mail to the Python Documentation Team at docs@python.org,
and we will process your request as soon as possible.

If you want to help the Documentation Team, you are always welcome.  Just send
a mail to docs@python.org.


Copyright notice
================

The Python source is copyrighted, but you can freely use and copy it
as long as you don't change or remove the copyright notice:

----------------------------------------------------------------------
Copyright (c) 2000-2007 Python Software Foundation.
All rights reserved.

Copyright (c) 2000 BeOpen.com.
All rights reserved.

Copyright (c) 1995-2000 Corporation for National Research Initiatives.
All rights reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
All rights reserved.

See the file "license.rst" for information on usage and redistribution
of this file, and for a DISCLAIMER OF ALL WARRANTIES.
----------------------------------------------------------------------