all sorts of minor nits
diff --git a/Misc/FAQ b/Misc/FAQ
index 637acec..44a0d29 100644
--- a/Misc/FAQ
+++ b/Misc/FAQ
@@ -4,13 +4,13 @@
From: guido@cwi.nl (Guido van Rossum)
Reply-to: guido@cnri.reston.va.us (Guido van Rossum)
Expires: Wed, 1 Nov 1995 00:00:00 GMT
-Supersedes: <DE1DI9.8MF@cwi.nl>
+Supersedes: <DFMAv8.3Hp@cwi.nl>
Approved: news-answers-request@MIT.Edu
Archive-name: python-faq/part1
Submitted-by: Guido van Rossum <guido@cwi.nl>
-Version: 1.28
-Last-modified: 28 September 1995
+Version: 1.29
+Last-modified: 11 October 1995
This article contains answers to Frequently Asked Questions about
Python (an object-oriented interpreted programming language -- see
@@ -21,15 +21,15 @@
with permission of the author. No warranties.
Author's address:
- Guido van Rossum
- C.N.R.I.
- 1895 Preston White Drive
- Reston, VA 22091
- U.S.A.
+ Guido van Rossum
+ C.N.R.I.
+ 1895 Preston White Drive
+ Reston, VA 22091
+ U.S.A.
Email: <guido@python.org>, <guido@cnri.reston.va.us>, <guido@cwi.nl>
The latest version of this FAQ is available by anonymous ftp from
-<URL:ftp://ftp.python.org/pub/python/FAQ>. It will also be posted
+<URL:ftp://ftp.python.org/pub/doc/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>.
@@ -302,19 +302,30 @@
A. The following anonymous ftp sites keep mirrors of the Python
distribution:
- <URL:ftp://ftp.cwi.nl/pub/python/>
+USA:
+
+ <URL:ftp://ftp.python.org/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/>
- <URL:ftp://ftp.uu.net/languages/python/>
+ <URL:ftp://ftp.sterling.com/programming/languages/python/>
+ <URL:ftp://uiarchive.cso.uiuc.edu/pub/lang/python/>
+ <URL:ftp://ftp.pht.com/mirrors/python/python/>
+
+Europe:
+
+ <URL:ftp://ftp.cwi.nl/pub/python/>
<URL:ftp://ftp.funet.fi/pub/languages/python/>
<URL:ftp://ftp.sunet.se/pub/lang/python/>
<URL:ftp://unix.hensa.ac.uk/mirrors/uunet/languages/python/>
- <URL:ftp://ftp.sterling.com/programming/languages/python/>
- <URL:ftp://uiarchive.cso.uiuc.edu/pub/lang/python/>
<URL:ftp://ftp.ibp.fr/pub/python/>
<URL:ftp://ftp.switch.ch/software/sources/python/>
<URL:ftp://ftp.informatik.tu-muenchen.de/pub/comp/programming/languages/python/>
+Australia:
+
+ <URL:ftp://ftp.dstc.edu.au/pub/python/>
+
Or try archie on the string "python".
1.6. Q. Is there a newsgroup or mailing list devoted to Python?
@@ -488,7 +499,7 @@
couple of years ago, Tim lost his email access. He hasn't surfaced
on the net since then.
- Missing-him-too-ly yours...
+ Missing-him-too-ly yours...
PS: support for Python's Emacs mode (Misc/python-mode.el in the
distribution) has been taken up by Barry Warsaw. Questions about it
@@ -547,9 +558,6 @@
retrieval service <URL:http://www.infoseek.com/>. Contact:
<info@infoseek.com>.
-Michael Powers of daVinci Time & Space is "writing tons-o-python for
-interactive television entertainment." Contact: <powers@dvts.com>.
-
Paul Everitt of Connecting Minds is planning a Lotus Notes gateway.
Contact: <Paul.Everitt@cminds.com>. Or see their WWW server
<URL:http://www.cminds.com/>.
@@ -582,15 +590,14 @@
A. Very stable. While the current version number would suggest it is
in the early stages of development, in fact new, stable releases
-(numbered 0.9.x through 1.2) have been coming out roughly every 3 to
+(numbered 0.9.x through 1.3) have been coming out roughly every 3 to
6 months for the past four years.
2.5. Q. When will the next version be released?
-A. I am planning to release 1.3 in early October 1995. It will
-contain keyword parameters as the most important new language feature.
-A beta version was made available in August, more beta versions may
-appear.
+A. Version 1.3 is being released on 13 October 1995. It is too early
+to predict when the next release will be necessary, but you can expect
+something awesome within half a year!
2.6. Q. What new developments are expected for Python in the future?
@@ -1476,39 +1483,39 @@
to a subprocess's standard input and output, here's a simple solution,
due to Jack Jansen:
- import os
- import sys
- import string
+ import os
+ import sys
+ import string
- MAXFD = 100 # Max number of file descriptors in this system
+ MAXFD = 100 # Max number of file descriptors in this system
- def popen2(cmd):
- cmd = string.split(cmd)
- p2cread, p2cwrite = os.pipe()
- c2pread, c2pwrite = os.pipe()
- pid = os.fork()
- if pid == 0:
- # Child
- os.close(0)
- os.close(1)
- if os.dup(p2cread) <> 0:
- sys.stderr.write('popen2: bad read dup\n')
- if os.dup(c2pwrite) <> 1:
- sys.stderr.write('popen2: bad write dup\n')
- for i in range(3, MAXFD):
- try:
- os.close(i)
- except:
- pass
- try:
- os.execv(cmd[0], cmd)
- finally:
- os._exit(1)
- os.close(p2cread)
- tochild = os.fdopen(p2cwrite, 'w')
- os.close(c2pwrite)
- fromchild = os.fdopen(c2pread, 'r')
- return fromchild, tochild
+ def popen2(cmd):
+ cmd = string.split(cmd)
+ p2cread, p2cwrite = os.pipe()
+ c2pread, c2pwrite = os.pipe()
+ pid = os.fork()
+ if pid == 0:
+ # Child
+ os.close(0)
+ os.close(1)
+ if os.dup(p2cread) <> 0:
+ sys.stderr.write('popen2: bad read dup\n')
+ if os.dup(c2pwrite) <> 1:
+ sys.stderr.write('popen2: bad write dup\n')
+ for i in range(3, MAXFD):
+ try:
+ os.close(i)
+ except:
+ pass
+ try:
+ os.execv(cmd[0], cmd)
+ finally:
+ os._exit(1)
+ os.close(p2cread)
+ tochild = os.fdopen(p2cwrite, 'w')
+ os.close(c2pwrite)
+ fromchild = os.fdopen(c2pread, 'r')
+ return fromchild, tochild
Note that many interactive programs (e.g. vi) don't work well with
pipes substituted for standard input and output. You will have to use
@@ -1541,10 +1548,10 @@
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)
+ (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())?
@@ -1980,10 +1987,10 @@
- you must have installed Python fully:
- make install
- make libinstall
- make inclinstall
- make libainstall
+ make install
+ make libinstall
+ make inclinstall
+ make libainstall
6.14. Q. Why doesn't Python use proper garbage collection?
@@ -2008,9 +2015,9 @@
Python) will run out of file descriptors long before it runs out of
memory:
- for file in <very long list of files>:
- f = open(file)
- c = file.read(1)
+ for file in <very long list of files>:
+ f = open(file)
+ c = file.read(1)
Using the current reference counting and destructor scheme, each new
assignment to f closes the previous file. Using GC, this is not