next version; python.org changes
diff --git a/Misc/FAQ b/Misc/FAQ
index acb2d15..6c9d57c 100644
--- a/Misc/FAQ
+++ b/Misc/FAQ
@@ -2,15 +2,15 @@
 Newsgroups: comp.lang.python,comp.answers,news.answers
 Followup-to: comp.lang.python
 From: guido@cwi.nl (Guido van Rossum)
-Reply-to: guido@cwi.nl (Guido van Rossum)
-Expires: Mon, 1 May 1995 00:00:00 GMT
-Supersedes: <D1sGoJ.Mps@cwi.nl>
+Reply-to: guido@cnri.reston.va.us (Guido van Rossum)
+Expires: Sat, 1 Jul 1995 00:00:00 GMT
+Supersedes: <D6uD1L.BLv@cwi.nl>
 Approved: news-answers-request@MIT.Edu
 
 Archive-name: python-faq/part1
 Submitted-by: Guido van Rossum <guido@cwi.nl>
-Version: 1.23
-Last-modified: 10 April 1995
+Version: 1.24
+Last-modified: 31 May 1995
 
 This article contains answers to Frequently Asked Questions about
 Python (an object-oriented interpreted programming language -- see
@@ -30,7 +30,7 @@
 Email:  <guido@cwi.nl>
 
 The latest version of this FAQ is available by anonymous ftp from
-<URL:ftp://ftp.cwi.nl/pub/python/FAQ>.  It will also be posted
+<URL:ftp://ftp.python.org/pub/python/FAQ>.  It will also be posted
 regularly to the newsgroups comp.answers <URL:news:comp.answers> and
 comp.lang.python <URL:news:comp.lang.python>.
 
@@ -77,6 +77,9 @@
   1.13. Q. How do I get a beta test version of Python?
   1.14. Q. Are there other ftp sites that carry Python related material?
   1.15. Q. Are there copyright restrictions on the use of Python?
+  1.16. Q. Why was Python created in the first place?
+  1.17. Q. What happened to Tim Peters (the author of python-mode.el, and many
+        entertaining and enlightening pieces of Python email)?
 
  2. Python in the real world
   2.1. Q. How many people are using Python?
@@ -92,21 +95,19 @@
   3.2. Q. When running the test set, I get complaints about floating point
        operations, but when playing with floating point operations I cannot
        find anything wrong with them.
-  3.3. Q. Link errors building Python with STDWIN 0.9.8. on SGI IRIX.
-  3.4. Q. Link errors building Python with STDWIN 0.9.9.
-  3.5. Q. Link errors after rerunning the configure script.
-  3.6. Q. The python interpreter complains about options passed to a
+  3.3. Q. Link errors after rerunning the configure script.
+  3.4. Q. The python interpreter complains about options passed to a
        script (after the script name).
-  3.7. Q. When building on the SGI, make tries to run python to create
+  3.5. Q. When building on the SGI, make tries to run python to create
        glmodule.c, but python hasn't been built or installed yet.
-  3.8. Q. Python built with gcc for the DEC Alpha doesn't work.
-  3.9. Q. I use VPATH but some targets are built in the source directory.
-  3.10. Q. Trouble building or linking with the GNU readline library.
-  3.11. Q. Trouble building Python on Linux.
-  3.12. Q. Trouble with prototypes on Ultrix.
-  3.13. Q. Trouble with posix.listdir on NeXTSTEP 3.2.
-  3.14. Q. Other trouble building Python on platform X.
-  3.15. Q. How to configure dynamic loading on Lixux.
+  3.6. Q. Python built with gcc for the DEC Alpha doesn't work.
+  3.7. Q. I use VPATH but some targets are built in the source directory.
+  3.8. Q. Trouble building or linking with the GNU readline library.
+  3.9. Q. Trouble building Python on Linux.
+  3.10. Q. Trouble with prototypes on Ultrix.
+  3.11. Q. Trouble with posix.listdir on NeXTSTEP 3.2.
+  3.12. Q. Other trouble building Python on platform X.
+  3.13. Q. How to configure dynamic loading on Lixux.
 
  4. Programming in Python
   4.1. Q. Is there a source code level debugger with breakpoints, step,
@@ -154,11 +155,12 @@
   4.26. Q. How can I find the methods or attributes of an object?
   4.27. Q. I can't seem to use os.read() on a pipe created with os.popen().
   4.28. Q. How can I create a stand-alone binary from a Python script?
-  4.29. Q. Is there a special lib for writing CGI scripts in Python?
-  4.30. Q. What other WWW tools are there for Python?
-  4.31. Q. How do I run a subprocess with pipes connected to both input
+  4.29. Q. What WWW tools are there for Python?
+  4.30. Q. How do I run a subprocess with pipes connected to both input
         and output?
-  4.32. Q. How do I call a function if I have the arguments in a tuple?
+  4.31. Q. How do I call a function if I have the arguments in a tuple?
+  4.32. Q. How do I enable font-lock-mode for Python in Emacs?
+  4.33. Q. Is there an inverse to the format operator (a la C's scanf())?
 
  5. Extending Python
   5.1. Q. Can I create my own functions in C?
@@ -256,7 +258,7 @@
 
 A. The latest complete Python source distribution is always available
 by anonymous ftp, e.g.
-<URL:ftp://ftp.cwi.nl/pub/python/src/python1.2.tar.gz>.  It is a
+<URL:ftp://ftp.python.org/pub/python/src/python1.2.tar.gz>.  It is a
 gzipped tar file containing the complete C source, LaTeX
 documentation, Python library modules, example programs, and several
 useful pieces of freely distributable software.  This will compile and
@@ -265,19 +267,19 @@
 
 Occasionally a set of patches is issued which has to be applied using
 the patch program.  These patches are placed in the same directory,
-e.g. <URL:ftp://ftp.cwi.nl/pub/python/src/patch1.1.1>.  (At the time
+e.g. <URL:ftp://ftp.python.org/pub/python/src/patch1.1.1>.  (At the time
 of writing, no patches exist for 1.2.)
 
 An index of said ftp directory can be found in the file INDEX.  An
 HTML version of the index can be found in the file index.html,
-<URL:ftp://ftp.cwi.nl/pub/python/index.html>.
+<URL:ftp://ftp.python.org/pub/python/index.html>.
 
 1.4. Q. How do I get documentation on Python?
 
 A. The LaTeX source for the documentation is part of the source
 distribution.  If you don't have LaTeX, the latest Python
 documentation set is always available by anonymous ftp, e.g.
-<URL:ftp://ftp.cwi.nl/pub/python/doc/postscript.tar.gz>.  It is a
+<URL:ftp://ftp.python.org/pub/python/doc/postscript.tar.gz>.  It is a
 gzipped tar file containing PostScript files of the reference manual,
 the library manual, and the tutorial.  Note that the library manual is
 the most important one of the set, as much of Python's power stems
@@ -291,6 +293,7 @@
 A. The following anonymous ftp sites keep mirrors of the Python
 distribution:
 
+	<URL:ftp://ftp.cwi.nl/pub/python/>
         <URL:ftp://gatekeeper.dec.com/pub/plan/python/>
         <URL:ftp://ftp.uu.net/languages/python/>
         <URL:ftp://ftp.wustl.edu/graphics/graphics/sgi-stuff/python/>
@@ -313,34 +316,31 @@
 available on our WWW server,
 <URL:http://www.cwi.nl/~guido/hypermail/index.html>.  The raw archives
 are also available by ftp, e.g.
-<URL:ftp://ftp.cwi.nl/pub/python/mail/mailinglist.gz>.  The
+<URL:ftp://ftp.python.org/pub/python/mail/mailinglist.gz>.  The
 uncompressed versions of these files can be read with the standard
 UNIX Mail program ("Mail -f file") or with nn ("nn file").  To read
 them using MH, you could use "inc -file file".
 
 1.7. Q. Is there a WWW page devoted to Python?
 
-A. Yes, <URL:http://www.cwi.nl/~guido/Python.html> is the official
-Python home page.  Michael McLay at NIST maintains a Python page at
-<URL:http://www.eeel.nist.gov/python/>.  And finally the emerging
-Python Software Association has a preliminary web server at
-<URL:http://www.cminds.com/python/> (eventually to be moved to
-somewhere under python.org).
+A. Yes, <URL:http://www.python.org/> is the official Python home page.
+At the time of writing, this page is not yet completely operational;
+you may have a look at the old Python home page:
+<URL:http://www.cwi.nl/~guido/Python.html> or at the U.S. copy:
+<URL:http://www.python.org/~guido/Python.html>.
 
 1.8. Q. Is the Python documentation available on the WWW?
 
-A. Yes, see <URL:http://www.cwi.nl/~guido/Python.html> (Python's home
-page).  It contains pointers to hypertext versions of the whole
-documentation set (as hypertext, not just PostScript).
+A. Yes, see <URL:http://www.python.org/> (Python's home page).  It
+contains pointers to hypertext versions of the whole documentation set
+(as hypertext, not just PostScript).
 
 If you wish to browse this collection of HTML files on your own
 machine, it is available bundled up by anonymous ftp,
-e.g. <URL:ftp://ftp.cwi.nl/pub/python/doc/html.tar.gz>.  (This
-requires some manual patch-up for the references to images,
-unfortunately.)
+e.g. <URL:ftp://ftp.python.org/pub/python/doc/html.tar.gz>.
 
 An Emacs-INFO set containing the library manual is also available by
-ftp, e.g. <URL:ftp://ftp.cwi.nl/pub/python/doc/lib-info.tar.gz>.
+ftp, e.g. <URL:ftp://ftp.python.org/pub/python/doc/lib-info.tar.gz>.
 
 1.9. Q. Is there a book on Python, or will there be one out soon?
 
@@ -370,12 +370,12 @@
 
 PostScript for this paper and for the slides used for the accompanying
 presentation is available by ftp as
-<URL:ftp://ftp.cwi.nl/pub/python/doc/nluug-paper.ps> and
-<URL:ftp://ftp.cwi.nl/pub/python/doc/nluug-slides.ps>, respectively.
+<URL:ftp://ftp.python.org/pub/python/doc/nluug-paper.ps> and
+<URL:ftp://ftp.python.org/pub/python/doc/nluug-slides.ps>, respectively.
 
 Slides for a talk on Python that I gave at the Usenix Symposium on
 Very High Level Languages in Santa Fe, NM, USA in October 1995 are
-available as <URL:ftp://ftp.cwi.nl/pub/python/doc/vhll-slides.ps>.
+available as <URL:ftp://ftp.python.org/pub/python/doc/vhll-slides.ps>.
 
 1.12. Q. How does the Python version numbering scheme work?
 
@@ -424,6 +424,58 @@
 of it) in some form.  I would still like to know about all commercial
 use of Python!
 
+1.16. Q. Why was Python created in the first place?
+
+A. Here's a *very* brief summary of what got me started:
+
+- I had extensive experience with implementing an interpreted language
+in the ABC group at CWI, and from working with this group I had
+learned a lot about language design.  This is the origin of many
+Python features, including the use of indentation for statement
+grouping and the inclusion of very-high-level data types (although the
+details are all different in Python).
+
+- I had a number of gripes about the ABC language, but also liked many
+of its features.  It was impossible to extend the ABC language (or its
+implementation) to remedy my complaints -- in fact its lack of
+extensibility was one of its biggest problems.
+
+- I had some experience with using Modula-2+ and talked with the
+designers of Modula-3 (and read the M3 report).  M3 is the origin of
+the syntax and semantics used for exceptions, and some other Python
+features.
+
+- I was working in the Amoeba distributed operating system group at
+CWI.  We needed a better way to do system administration than by
+writing either C programs or Bourne shell scripts, since Amoeba had
+its own system call interface which wasn't easily accessible from the
+Bourne shell.  My experience with error handling
+
+- It occurred to me that a scripting language with a syntax like ABC
+but with access to the Amoeba system calls would fill the need.  I
+realized that it would be foolish to write an Amoeba-specific
+language, so I decided that I needed a language that was generally
+extensible.
+
+- During the 1989 Christmas holidays, I had a lot of time on my hand,
+so I decided to give it a try.  During the next year, while still
+mostly working on it in my own time, Python was used in the Amoeba
+project with increasing success, and the feedback from colleagues made
+me add many early improvements.
+
+- In February 1991, after just over a year of development, I decided
+to post to USENET.  The rest is in the Misc/HISTORY file.
+
+1.17. Q. What happened to Tim Peters (the author of python-mode.el, and many
+entertaining and enlightening pieces of Python email)?
+
+A. He worked at KSR (Kendall Square Research, a start-up building a
+new kind of massively parallel processor).  When KSR folded down a
+couple of years ago, Tim lost his email access.  He hasn't surfaced
+on the net since then.
+
+	Missing-him-too-ly yours...
+
 
 2. Python in the real world
 ===========================
@@ -512,43 +564,10 @@
 
 2.6. Q. What new developments are expected for Python in the future?
 
-A. There will be better ports to the Mac, DOS, Windows, Windows NT, and
-OS/2.  The Windows ports will support dynamically loaded modules using
-DLLs.
-
-Also planned is improved support for embedding Python in other
-applications, e.g. by renaming most global symbols to have a "Py"
-prefix and providing more documentation and threading support.
-
-Some proposals were discussed at the recent Python workshop:
-
-        - persistent objects
-
-        - safe execution of untrusted Python code
-
-        - extensions to the import statement for managing packages
-        (groups of related modules)
-
-        - automatic generation of C/C++ interface glue
-
-        - interfaces to OMG IDL (== Interface Definition Language by
-        the Object Management Group)
-
-        - a portable GUI API (Graphical User Interface Application
-        Programmers Interface)
-
-        - module customization tools
-
-        - standardized documentation strings on module, class and
-        function objects
-
-        - the formation of a Python Steering Committee
-
-        - another Python Workshop
-
-For more info, have a look at the WWW page for the last Python
-Workshop <URL:http://www.eeel.nist.gov/python/workshop11-94/>.
-
+A. See my Work-In-Progress web page, currently at
+<URL:http://www.python.org:~guido/WIP.html>, and the pages for the
+Second Python Workshop (best reached via the Python home page,
+<URL:http://www.python.org/>).
 
 2.7. Q. Is it reasonable to propose incompatible changes to Python?
 
@@ -583,25 +602,12 @@
 better floating point test set, you will have to comment out the
 offending floating point tests and execute similar tests manually.
 
-3.3. Q. Link errors building Python with STDWIN 0.9.8. on SGI IRIX.
-
-A. Get STDWIN 0.9.9 <URL:ftp://ftp.cwi.nl/pub/stdwin/stdwin0.9.9.tar.gz>.
-
-3.4. Q. Link errors building Python with STDWIN 0.9.9.
-
-A. The linker probably complains that it can't find routines like
-'tecreate', 'tenew' etc.  The STDWIN 0.9.9 distribution requires that
-you add TWO libraries from stdwin to the line for stdwin in the
-Setupfile.  Use something like this (all on one line!):
-
-        stdwin stdwinmodule.c -I$(STDWIN)/H $(STDWIN)/Packs/textedit/libtextedit.a $(STDWIN)/Ports/x11/libstdwin.a -lX11
-
-3.5. Q. Link errors after rerunning the configure script.
+3.3. Q. Link errors after rerunning the configure script.
 
 A. It is generally necessary to run "make clean" after a configuration
 change.
 
-3.6. Q. The python interpreter complains about options passed to a
+3.4. Q. The python interpreter complains about options passed to a
 script (after the script name).
 
 A. You are probably linking with GNU getopt, e.g. through -liberty.
@@ -619,7 +625,7 @@
 Note that a working getopt implementation is provided in the Python
 distribution (in Python/getopt.c) but not automatically used.
 
-3.7. Q. When building on the SGI, make tries to run python to create
+3.5. Q. When building on the SGI, make tries to run python to create
 glmodule.c, but python hasn't been built or installed yet.
 
 A. Comment out the line mentioning glmodule.c in Setup and build a
@@ -629,21 +635,21 @@
 Makefile" in the Modules subdirectory (or just run "make" at the
 toplevel).
 
-3.8. Q. Python built with gcc for the DEC Alpha doesn't work.
+3.6. Q. Python built with gcc for the DEC Alpha doesn't work.
 
 People have reported problems with gcc 2.5.8 up to 2.6.3.  The DEC
 OSF/1 cc compiler does not have these problems so it's likely a gcc
 bug.  The latest news is that this has been fixed in Python 1.2 by a
 source change (I gave up waiting for a fixed gcc).
 
-3.9. Q. I use VPATH but some targets are built in the source directory.
+3.7. Q. I use VPATH but some targets are built in the source directory.
 
 A. On some systems (e.g. Sun), if the target already exists in the
 source directory, it is created there instead of in the build
 directory.  This is usually because you have previously built without
 VPATH.  Try running "make clobber" in the source directory.
 
-3.10. Q. Trouble building or linking with the GNU readline library.
+3.8. Q. Trouble building or linking with the GNU readline library.
 
 A. Consider using readline 2.0.  Some hints:
 
@@ -685,7 +691,7 @@
 specific problems with the readline library (I don't read this group
 but I've been told that it is the place for readline bugs).
 
-3.11. Q. Trouble building Python on Linux.
+3.9. Q. Trouble building Python on Linux.
 
 A. If you're building Python 1.2, Slackware 2.2 has a buggy bash
 (version 1.14.3) which breaks a sed script that is used to build
@@ -701,12 +707,12 @@
 Apart from this, Python builds and runs fine on most Linux versions
 (if you run into trouble on an old Linux version, consider upgrading).
 
-3.12. Q. Trouble with prototypes on Ultrix.
+3.10. Q. Trouble with prototypes on Ultrix.
 
 A. Ultrix cc seems broken -- use gcc, or edit config.h to #undef
 HAVE_PROTOTYPES.
 
-3.13. Q. Trouble with posix.listdir on NeXTSTEP 3.2.
+3.11. Q. Trouble with posix.listdir on NeXTSTEP 3.2.
 
 A.  (This is fixed in 1.2.)  You need to pass "-posix" to the C
 compiler, especially in the link phase -- it uses the correct version
@@ -718,7 +724,7 @@
                 #define USE_RLD
                 #endif
 
-3.14. Q. Other trouble building Python on platform X.
+3.12. Q. Other trouble building Python on platform X.
 
 A. Please email the details to <guido@cwi.nl> and I'll look into it.
 Please provide as many details as possible.  In particular, if you
@@ -727,7 +733,7 @@
 is the matter.  If you get a specific error message, please email it
 to me too.
 
-3.15. Q. How to configure dynamic loading on Lixux.
+3.13. Q. How to configure dynamic loading on Lixux.
 
 A. (Thanks to Andrew Kuchling):
 
@@ -747,8 +753,8 @@
 <URL:ftp://sunsite.unc.edu/pub/Linux/libs/dld-3.2.5.bin.tar.gz>.
 
 2) Get Jack Jansen's DL library; its location is given in the
-_Extending Python_ manual as ftp://ftp.cwi.nl/pub/dynload/.  Compile
-it and install libdl.a wherever you put libdld.a.
+_Extending Python_ manual as <URL:ftp://ftp.cwi.nl/pub/dynload/>.
+Compile it and install libdl.a wherever you put libdld.a.
 
 3) Run Python's configure script, giving it the --with-dl-dld option,
 which requires a parameter giving the directory where you put the
@@ -973,8 +979,8 @@
 For X-related modules (Xt and Xm) you will have to do more work: they
 are currently not part of the standard Python distribution.  You will
 have to ftp the Extensions tar file, e.g.
-<URL:ftp://ftp.cwi.nl/pub/python/src/extensions.tar.gz> and follow the
-instructions there.
+<URL:ftp://ftp.python.org/pub/python/src/extensions.tar.gz> and follow
+the instructions there.
 
 See also the next question.
 
@@ -1023,7 +1029,7 @@
 - There's an interface to X11, including the Athena and Motif widget
 sets (and a few individual widgets, like Mosaic's HTML widget and
 SGI's GL widget) in the Extensions set, which is separately ftp'able
-<URL:ftp://ftp.cwi.nl/pub/python/src/extensions.tar.gz>.
+<URL:ftp://ftp.python.org/pub/python/src/extensions.tar.gz>.
 
 - There's an interface to SUIT, the U of Virginia's Simple User
 Interface Toolkit; it can be ftp'ed from
@@ -1052,7 +1058,8 @@
 home page <URL:http://www.faslab.com/fresco/HomePage.html>.  "Pesto"
 is a Python interface to the CORBA dynamic invocation interface, and
 thus Fresco. A Pesto prototype is running and is currently being
-packaged up for inclusion in the Fresco snapshot.
+packaged up for inclusion in the Fresco snapshot.  See also the Pesto
+web pages: <URL:http://www.faslab.com/fresco/pesto/Index.html>.
 
 4.14. Q. Are there any interfaces to database packages in Python?
 
@@ -1061,14 +1068,14 @@
 
 There's an interface to metalbase by Lance Ellinghaus
 <lance@markv.com>; it is part of the separate Extensions distribution
-<URL:ftp://ftp.cwi.nl/pub/python/src/extensions.tar.gz>.
+<URL:ftp://ftp.python.org/pub/python/src/extensions.tar.gz>.
 
 Anthony Baxter <anthony.baxter@aaii.oz.au> has written an interface to
 mSQL (mini-SQL).
-<URL:ftp://ftp.cwi.nl/pub/python/contrib/PymSQL.tar.gz>.
+<URL:ftp://ftp.python.org/pub/python/contrib/PymSQL.tar.gz>.
 
-Tom Culliton <culliton@clark.net> has written an Oracle module.  Write
-him to get a copy of the latest version.
+Tom Culliton <culliton@clark.net> has written an Oracle module.  
+See <URL:ftp://ftp.clark.net/pub/culliton/oramod.tgz>.
 
 4.15. Q. Is it possible to write obfuscated one-liners in Python?
 
@@ -1285,25 +1292,14 @@
 generated C code and links it with the rest of the Python interpreter
 to form a self-contained binary which acts exactly like your script.
 
-4.29. Q. Is there a special lib for writing CGI scripts in Python?
+Hint: the freeze program only works if your script's filename ends in
+".py".
 
-A. There's documentation and code for a cgi.py module by Michael McLay
-<mclay@eeel.nist.gov> available from
-<URL:http://www.eeel.nist.gov/python/>
+4.29. Q. What WWW tools are there for Python?
 
-(For the curious: CGI or Common Gateway Interface is the protocol
-between HTTP servers (WWW servers) and programs/scripts they run to
-perform queries and other tasks that require returning a dynamically
-generated document.)
-
-4.30. Q. What other WWW tools are there for Python?
-
-A. The standard library has a module urllib, which can retrieve most
-commonly used URL types (file, ftp, http, gopher).
-
-The Demo2/www directory (Demo2 has to be retrieved separately from the
-Python ftp sites <URL:ftp://ftp.cwi.nl/pub/python/src/demo2.tar.gz>)
-contains some (really old) code to parse HTML and to display it.
+A. There's a whole lot in the 1.2 release; see the section on
+"Internet and WWW" in the Library Reference Manual.  Highlights: a CGI
+parser, a url retriever, an html parser.
 
 Steve Miale <smiale@cs.indiana.edu> has written a modular WWW browser
 called Dancer.  An alpha version can be FTP'ed from
@@ -1311,7 +1307,7 @@
 few articles about Dancer in the (hyper)mail archive
 <URL:http://www.cwi.nl/~guido/hypermail/python-1994q3/index.html>.)
 
-4.31. Q. How do I run a subprocess with pipes connected to both input
+4.30. Q. How do I run a subprocess with pipes connected to both input
 and output?
 
 A. This is really a UNIX question.  Also, in general, it is unwise to
@@ -1378,7 +1374,7 @@
 your own here.  What's *really* needed is a Python interface to Don
 Libes' expect library -- any takers?
 
-4.32. Q. How do I call a function if I have the arguments in a tuple?
+4.31. Q. How do I call a function if I have the arguments in a tuple?
 
 A. Use the built-in function apply().  For instance,
 
@@ -1393,6 +1389,31 @@
 one argument, the tuple args, instead of three arguments, the integers
 1, 2 and 3.
 
+4.32. Q. How do I enable font-lock-mode for Python in Emacs?
+
+A. Assuming you're already using python-mode and font-lock-mode
+separately, all you need to do is put this in your .emacs file:
+
+	(defun my-python-mode-hook ()
+	  (setq font-lock-keywords python-font-lock-keywords)
+	  (font-lock-mode 1))
+	(add-hook 'python-mode-hook 'my-python-mode-hook)
+
+4.33. Q. Is there an inverse to the format operator (a la C's scanf())?
+
+A. Not as such.
+
+For simple input parsing, the easiest approach is usually to split
+the line into whitespace-delimited words using string.split(), and to
+convert decimal strings to numeric values using string.atoi(),
+string.atol() or string.atof().  (Python's atoi() is 32-bit and its
+atol() is arbitrary precision.)  If you want to use another delimiter
+than whitespace, use string.splitfield() (possibly combining it with
+string.strip() which removes surrounding whitespace from a string).
+
+For more complicated input parsing, regular expressions (see module
+regex) are better suited and more powerful than C's scanf().
+
 
 5. Extending Python
 ===================
@@ -1590,13 +1611,13 @@
 and staring a long time at it wondering why y was being decremented
 even for x > y...  (And I wasn't a C newbie then either.)
 
-- Since there are no begin/end brackets there can be no conflicting
-coding styles.  In C there are loads of different ways to place the
-braces (including the choice whether to place braces around single
-statements in certain cases, for consistency).  If you're used to
-reading (and writing) code that uses one style, you will feel at least
-slightly uneasy when reading (or being required to write) another
-style.
+- Since there are no begin/end brackets, Python is much less prone to
+coding-style conflicts.  In C there are loads of different ways to
+place the braces (including the choice whether to place braces around
+single statements in certain cases, for consistency).  If you're used
+to reading (and writing) code that uses one style, you will feel at
+least slightly uneasy when reading (or being required to write)
+another style.
 
 - Many coding styles place begin/end brackets on a line by themself.
 This makes programs considerably longer and wastes valuable screen
@@ -1755,17 +1776,17 @@
 7.1. Q. Is there a Mac version of Python?
 
 A. Yes, see the "mac" subdirectory of the distribution sites,
-e.g. <URL:ftp://ftp.cwi.nl/pub/python/mac/>.
+e.g. <URL:ftp://ftp.python.org/pub/python/mac/>.
 
 7.2. Q. Is there a DOS version of Python?
 
 A. Yes, see the "pc" subdirectory of the distribution sites,
-e.g. <URL:ftp://ftp.cwi.nl/pub/python/pc/>.
+e.g. <URL:ftp://ftp.python.org/pub/python/pc/>.
 
 7.3. Q. Is there a Windows 3.1(1) version of Python?
 
 A. Yes, also see the "pc" subdirectory of the distribution sites,
-e.g. <URL:ftp://ftp.cwi.nl/pub/python/pc/>.
+e.g. <URL:ftp://ftp.python.org/pub/python/pc/>.
 
 7.4. Q. Is there a Windows NT version of Python?
 
@@ -1773,7 +1794,7 @@
 port.  This supports using DLLs for dynamic loading of Python modules,
 and includes an interface to the Microsoft Foundation Classes and a
 Python programming environment using it that's written mostly in
-Python.  See <URL:ftp://ftp.cwi.nl/pub/python/nt/> -- most mirrors
+Python.  See <URL:ftp://ftp.python.org/pub/python/nt/> -- most mirrors
 will also have this.
 
 Sam Rushing <rushing@squirl.oau.org> once announced he knows how to
@@ -1792,7 +1813,7 @@
 7.6. Q. Is there an OS/2 version of Python?
 
 A. Yes, also see the "pc" subdirectory of the distribution sites,
-e.g. <URL:ftp://ftp.cwi.nl/pub/python/pc/>.
+e.g. <URL:ftp://ftp.python.org/pub/python/pc/>.
 
 7.7. Q. Is there a VMS version of Python?
 
@@ -1827,7 +1848,7 @@
 "python/Lib" to your system.  If you don't have the full distribution,
 you can get the file lib<version>.tar.gz from most ftp sites carrying
 Python; this is a subset of the distribution containing just those
-files, e.g.  <URL:ftp://ftp.cwi.nl/pub/python/src/lib1.1.tar.gz>.
+files, e.g.  <URL:ftp://ftp.python.org/pub/python/src/lib1.1.tar.gz>.
 
 Once you have installed the library, you need to point sys.path to it.
 Assuming the library is in C:\misc\python\lib, the following commands