Python Misc subdirectory
========================

This directory contains files that wouldn't fit in elsewhere, in
particular the UNIX manual page, an Emacs mode for Python source code,
and a list of Frequently Asked Questions (and their answers).  Some
documents are only of historic importance.

Files found here
----------------

ACKS		Acknowledgements
AIX-NOTES	Notes for building Python on AIX (all new!)
BLURB		A quick description of Python for newcomers
BLURB.LUTZ	A testimonial from a converted Tcl/Perl hacker :-)
BLURB.WINDOWS	First announcement of Python for Windows
HISTORY		News from previous releases -- oldest last
HPUX-NOTES	Notes about dynamic loading under HP-UX
HYPE		More hype about Python
Makefile	Used for administrative chores like cleaning up
Makefile.pre.in	Generic Makefile template for building extensions
NEWS		News for this release
NEXT-NOTES	Porting notes for NeXT
PURIFY.README	Information for Purify users
Porting		Mini-FAQ on porting to new platforms
README		The file you're reading now
RFD		Request For Discussion about a Python newsgroup
cheatsheet	Quick summary of Python by Ken Manheimer
comparisons	(Old) comparisons to some other languages
editline-fix	A news article on how to fix R$'s editline for Python
faq2html	FAQ to HTML converter by Ka-Ping Yee
find_recursionlimit.py  Script to find a value for sys.maxrecursionlimit
fixfuncptrs.sh	Shell script to fix function pointer initializers
indent.pro	GNU indent profile approximating my C style
python-mode.el	Emacs mode for editing Python programs
python.man	UNIX man page for the python interpreter
renumber.py	Script to renumber the sections in the FAQ
setuid-prog.c	C helper program for set-uid Python scripts
unicode.txt	Marc-Andre Lemburg's specification of the Unicode API
vgrindefs	Python configuration for vgrind (a generic pretty printer)
