							-*- text -*-

If you edited Misc/NEWS before it was converted to ReST format skimming this
file should help make the transition a bit easier.  For full details about
Docutils and ReST, go to the Docutils website:

    http://docutils.sourceforge.net/

To process Misc/NEWS using Docutils, you'll need the latest docutils
snapshot:

    http://docutils.sf.net/docutils-snapshot.tgz

Docutils works with Python 2.1 or newer (including 2.3).

To process NEWS into NEWS.html, first install Docutils, and then run
this command:

    python .../docutils/tools/html.py NEWS >NEWS.html

Here ".../docutils" is the directory into which the above snapshot was
extracted.  (I hope this recipe will change for the better.)

David Goodger made a change to the allowable structure of internal
references which greatly simplified initial conversion of the file.

The changes required fell into the following categories:

* The top-level "What's New" section headers changed to:

    What's New in Python 2.3 alpha 1?
    =================================

    *Release date: DD-MMM-2002*

  Note that the release date line is emphasized, with a "*" at each
  end.

* Subsections are underlined with a single row of hyphens:

    Type/class unification and new-style classes
    --------------------------------------------

* Places where "balanced" single quotes were used were changed to use
  apostrophes as both the opening and closing quote (`string' -> 'string').

* In a few places asterisks needed to be escaped which would otherwise have
  been interpreted as beginning blocks of italic or bold text, e.g.:

    - The type of tp_free has been changed from "``void (*)(PyObject *)``"
      to "``void (*)(void *)``".

  Note that only the asterisks preceded by whitespace needed to be escaped.

* One instance of a word ending with an underscore needed to be quoted
  ("PyCmp_" became "``PyCmp_``").

* One table was converted to ReST form (search Misc/NEWS for "New codecs"
  for this example).

* A few places where chunks of code or indented text were displayed needed
  to be properly introduced (preceding paragraph terminated by "::" and the
  chunk of code or text indented w.r.t. the paragraph).  For example:

    - Note that PyLong_AsDouble can fail!  This has always been true,
      but no callers checked for it.  It's more likely to fail now,
      because overflow errors are properly detected now.  The proper way
      to check::

          double x = PyLong_AsDouble(some_long_object);
          if (x == -1.0 && PyErr_Occurred()) {
              /* The conversion failed. */
              }
