diff --git a/Misc/FAQ b/Misc/FAQ
index 6ece155..a385863 100644
--- a/Misc/FAQ
+++ b/Misc/FAQ
@@ -6,8 +6,8 @@
 Approved: news-answers-request@MIT.Edu
 
 Archive-name: python-faq/part1
-Version: 1.8
-Last-modified: 15 May 1994
+Version: 1.9
+Last-modified: 8 June 1994
 
 This article contains answers to Frequently Asked Questions about
 Python (an object-oriented interpreted programming language -- see
@@ -27,7 +27,7 @@
 Email:	guido@cwi.nl
 
 The latest version of this FAQ is available by anonymous ftp from
-ftp.cwi.nl [192.16.184.180] in the directory /pub/python, with
+ftp.cwi.nl [192.16.191.128] in the directory /pub/python, with
 filename python-FAQ.  It will also be posted regularly to the
 newsgroups comp.answers and comp.lang.python.
 
@@ -68,6 +68,7 @@
   1.8. Q. Are there any published articles about Python that I can quote?
   1.9. Q. How does the Python version numbering scheme work?
   1.10. Q. Are there other ftp sites that carry Python related material?
+  1.11. Q. Are there copyright restrictions on the use of Python?
 
  2. Python in the real world
   2.1. Q. How many people are using Python?
@@ -109,10 +110,18 @@
   4.9. Q. I have a module in which I want to execute some extra code when it
        is run as a script.  How do I find out whether I am running as a
        script?
+  4.10. Q. I try to run a program from the Demo directory but it fails with
+        ImportError: No module named ...; what gives?
+  4.11. Q. What GUI toolkits exist for Python?
+  4.12. Q. Are there any interfaces to commercial database in Python?
 
  5. Extending Python
   5.1. Q. Can I create my own functions in C?
   5.2. Q. Can I create my own functions in C++?
+  5.3. Q. How can I execute arbitrary Python statements from C?
+  5.4. Q. How can I evaluate an arbitrary Python expression from C?
+  5.5. Q. How do I extract C values from a Python object?
+  5.6. Q. How do I use mkvalue() to create a tuple of arbitrary length?
 
  6. Python's design
   6.1. Q. Why isn't there a generic copying operation for objects in
@@ -128,10 +137,11 @@
   7.2. Q. Is there a DOS version of Python?
   7.3. Q. Is there a Windows version of Python?
   7.4. Q. Is there a Windows NT version of Python?
-  7.5. Q. I have the DOS or Windows version but it appears to be only a
-       binary.  Where's the library?
-  7.6. Q. Where's the documentation for the Mac or PC version?
-  7.7. Q. The Mac (PC) version doesn't seem to have any facilities for
+  7.5. Q. Is there an OS/2 version of Python?
+  7.6. Q. I have the PC version but it appears to be only a binary.
+       Where's the library?
+  7.7. Q. Where's the documentation for the Mac or PC version?
+  7.8. Q. The Mac (PC) version doesn't seem to have any facilities for
        creating or editing programs apart from entering it interactively, and
        there seems to be no way to save code that was entered interactively.
        How do I create a Python program on the Mac (PC)?
@@ -174,7 +184,7 @@
 1.3. Q. How do I obtain a copy of the Python source?
 
 A. The latest Python source distribution is always available by
-anonymous ftp from ftp.cwi.nl [192.16.184.180] in the directory
+anonymous ftp from ftp.cwi.nl [192.16.191.128] in the directory
 /pub/python, with filename python<version>.tar.gz.  (Old versions may
 have an extension of .Z, indicating use of "compress" compression.)
 It is a gzip'ed tar file containing the complete C source, LaTeX
@@ -186,7 +196,7 @@
 1.4. Q. How do I get documentation on Python?
 
 A. The latest Python documentation set is always available by
-anonymous ftp from ftp.cwi.nl [192.16.184.180] in the directory
+anonymous ftp from ftp.cwi.nl [192.16.191.128] in the directory
 /pub/python, with filename pythondoc-ps<version>.tar.gz.  It is a
 gzip'ed tar file containing PostScript files of the reference manual,
 the library manual, and the tutorial.  At the time of writing
@@ -202,7 +212,7 @@
 
 Site			IP address 	Directory
 
-gatekeeper.dec.com	16.1.0.2	/pub/plan/python/cwi
+gatekeeper.dec.com	16.1.0.2	/pub/plan/python
 ftp.uu.net		192.48.96.9	/languages/python
 ftp.wustl.edu		128.252.135.4	/graphics/graphics/sgi-stuff/python
 ftp.funet.fi		128.214.6.100	/pub/languages/python
@@ -218,16 +228,14 @@
 newsgroup and mailing list are gatewayed into each other -- if you can
 read news it is not necessary to subscribe to the mailing list.  Send
 e-mail to python-list-request@cwi.nl to (un)subscribe to the mailing
-list.
+list.  Once you're on, send e-mail tp python-list@cwi.nl to send mail
+to the entire mailing list and newsgroup.
 
 1.7. Q. Is there a book on Python, or will there be one out soon?
 
-A. Unfortunately, not yet.  I would like to write one but my
-obligations at CWI include too much other work to make much progress
-on it.  Several parties have expressed interest in sponsoring or
-helping the production of a book or reference manual, but so far there
-are no firm plans.  If you volunteer help, by all means drop me a
-note!
+A. Unfortunately, not yet.  Mark Lutz and I are planning to write one,
+but we are still a in very preliminary stage.  If you would like to
+beat us at it and get rich from book royalties, go ahead!
 
 1.8. Q. Are there any published articles about Python that I can quote?
 
@@ -271,6 +279,14 @@
 .readme) in the publicly writable directory /incoming/python.  This
 service is maintained by Lance Ellinghouse <lance@markv.com>.
 
+1.11. Q. Are there copyright restrictions on the use of Python?
+
+A. Hardly.  You can do anything you want with the source, as long as
+you leave the copyrights in, display those copyrights in any
+documentation about Python that you produce, don't use the author's
+institute's name in publicity without prior written permission, and
+don't hold them responsible for anything (read the actual copyright
+for a precise legal wording).
 
 
 2. Python in the real world
@@ -283,7 +299,9 @@
 was about 180 (several of which were local redistribution lists).  I
 believe that many active Python users don't bother to subscribe to the
 list, and now that there's a newsgroup the mailing list subscription
-is even less meaningful.
+is even less meaningful.  I see new names on the newsgroup all the
+time and my best guess is that there are currently at least several
+thousands of users.
 
 2.2. Q. Have any significant projects been done in Python?
 
@@ -323,21 +341,24 @@
 
 2.5. Q. What new developments are expected for Python in the future?
 
-A.  Without warranty that any of this will actually be realized: I am
-currently thinking about mechanisms for built-in on-line help and a
-switch/case statement.  There have been some discussions on
-hierarchical module names which might solve the problem of the
-development of large packages.  A pthreads interface has been
-contributed which I would like to merge into the latest release.  The
-X interface needs improving.  There are also some people
-(independently) working on a windowing interface based on STDWIN but
-with the power and ease of use of the average modern widget set.  I
-still hope to get some help in producing a Windows version.  It would
-be nice if there were a window-based class browser (Someone at CWI has
-contributed one using Motif but it needs some work).  Also: 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.
+A.  A proposal is being worked out to change the semantics of operator
+overloading (__add__, __mul__ etc.) to make them more useful for
+implementing types that don't resemble numbers.  Additions will be
+__call__ (to call an instance as if it were a function) and __eq__,
+_lt__ etc. (to override individual comparisons).  A (new) pthreads
+interface has been submitted which will be integrated in the next
+release.  The X11/Motif interface will be improved.  There are ideas
+about built-in help using strings placed into function objects, and
+possibly a switch statement.
+
+There will be better ports to the Mac, DOS, Windows, Windows NT, and
+OS/2.  The Windows ports will support dynalically loaded modules using
+DLLs.  The Mac port may also support dynamic loading of modules.
+There may be a Windows version of STDWIN.
+
+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.
 
 
 3. Building Python
@@ -562,6 +583,66 @@
 
 	if __name__ == '__main__': main()
 
+4.10. Q. I try to run a program from the Demo directory but it fails with
+ImportError: No module named ...; what gives?
+
+A. This is probably an optional module which hasn't been configured on
+your system.  This especially happens with modules like "stdwin",
+"gl", "Xt" or "Xm".  For stdwin and many other modules, see
+Modules/Setup.in for info on how to add these modules to your Python,
+if it is possible at all.  Sometimes you will have to ftp and build
+another package first (e.g. stdwin).  Sometimes the module only works
+on specific platforms (e.g. gl only works on SGI machines).  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 file "extensions.tar.gz" file from a Python ftp repository
+(e.g. ftp.cwi.nl) and follow the instructions there.  Note: the X
+related modules are still somewhat flakey, so don't try this unless
+you know a bit or two about building X applications on your platform.
+
+4.11. Q. What GUI toolkits exist for Python?
+
+A. Depending on what platform(s) you are aiming at, there are several.
+
+- The standard Python distribution comes with an interface to STDWIN,
+a platform-independent low-level windowing interface (you have to ftp
+the source for stdwin separately, e.g. from ftp.cwi.nl in pub/stdwin
+or gatekeeper.dec.com in pub/misc/stdwin).  STDWIN runs under X11 or
+the Mac; a Windows port is about to be released.
+
+- For SGI only, there's an interface to the complete GL (Graphics
+Library -- low level but very good 3D capabilities) as well as to
+FORMS (a buttons-and-sliders-etc package built on top of GL by Mark
+Overmars -- ftp'able from ftp.cs.ruu.nl in pub/SGI/FORMS).
+
+- 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
+from ftp.cwi.nl as pub/python/extensions.tar.gz.
+
+- There's an interface to SUIT, the U of Virginia's Simple User
+Interface Toolkit; it can be ftp'ed from uvacs.cs.virginia.edu as
+pub/suit/python/SUIT_python.tar.Z.  A PC binary of Python 1.0.2
+compiled with DJGPP and with SUIT support built-in has been made
+available by Antonio Costa on ftp site asterix.inescn.pt, directory
+pub/PC/python, file pyt102su.exe (a self-extracting archive).
+
+- There's a neat interface to the Tcl/Tk widget set; ftp it from
+ftp.cwi.nl as pub/python/tkinter.tar.gz.
+
+- There's an interface to WAFE, a Tcl interface to the X11 Motif and
+Athena widget sets.  Last I heard about it it was included in the
+WAFE 1.0 prerelease, ftp'able from ftp.wu-wien.ac.at as
+pub/src/X11/wafe/wafe-1.0.tar.gz-prerelease.
+
+4.12. Q. Are there any interfaces to commercial database in Python?
+
+A. There's an interface to SYBASE by John Redford
+<jredford@lehman.com>.
+
+There's also an interface to metalbase by Lance Ellinghouse
+<lance@markv.com>.
+
 
 5. Extending Python
 ===================
@@ -581,6 +662,38 @@
 Python interpreter.  Global or static C++ objects with constructors
 are probably not a good idea.
 
+5.3. Q. How can I execute arbitrary Python statements from C?
+
+A. The highest-level function to do this is run_command() which takes
+a single string argument which is executed in the context of module
+__main__ and returns 0 for success and -1 when an exception occurred
+(including SyntaxError).  If you want more control, use run_string();
+see the source for run_command() in Python/pythonrun.c.
+
+5.4. Q. How can I evaluate an arbitrary Python expression from C?
+
+A. Call the function run_string() from the previous question with the
+start symbol eval_input; it then parses an expression, evaluates it
+and returns its value.  See exec_eval() in Python/bltinmodule.c.
+
+5.5. Q. How do I extract C values from a Python object?
+
+A. That depends on the object's type.  If it's a tuple,
+gettuplesize(o) returns its length and gettupleitem(o, i) returns its
+i'th item; similar for lists with getlistsize(o) and getlistitem(o,
+i).  For strings, getstringsize(o) returns its length and
+getstringvalue(o) a pointer to its value (note that Python strings may
+contain null bytes so strlen() is not safe).  To test which type an
+object is, first make sure it isn't NULL, and then use
+is_stringobject(o), is_tupleobject(o), is_listobject(o) etc.
+
+5.6. Q. How do I use mkvalue() to create a tuple of arbitrary length?
+
+A. You can't.  Use t = newtupleobject(n) instead, and fill it with
+objects using settupleitem(t, i, o) -- note that this "eats" a
+reference count of o.  Similar for lists with newlistobject(n) and
+setlistitem(l, i, o).
+
 
 6. Python's design
 ==================
@@ -680,8 +793,14 @@
 A. Yes.  Use ntpython.exe.  This is for Intel CPUs.  If you want a
 Windows user interface, use qwpython.exe.
 
-7.5. Q. I have the DOS or Windows version but it appears to be only a
-binary.  Where's the library?
+7.5. Q. Is there an OS/2 version of Python?
+
+A. Yes.  You can ftp it (from ftp.cwi.nl in pub/python, or from the
+mirror sites) as pyth_os2.zip.  This contains both an executable and
+Makefiles for those fortunate enough to have a C compiler.
+
+7.6. Q. I have the PC version but it appears to be only a binary.
+Where's the library?
 
 A. You still need to copy the files from the distribution directory
 "python/Lib" to your system.  If you don't have the full distribution,
@@ -703,13 +822,13 @@
 
 	C> SET PYTHONPATH=C:\misc\python\lib
 
-7.6. Q. Where's the documentation for the Mac or PC version?
+7.7. Q. Where's the documentation for the Mac or PC version?
 
 A. There isn't any.  The documentation for the Unix version also
 applies to the Mac and PC versions.  Where applicable, differences
 are indicated in the text.
 
-7.7. Q. The Mac (PC) version doesn't seem to have any facilities for
+7.8. Q. The Mac (PC) version doesn't seem to have any facilities for
 creating or editing programs apart from entering it interactively, and
 there seems to be no way to save code that was entered interactively.
 How do I create a Python program on the Mac (PC)?
