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 :-)
COPYRIGHT	The Python copyright notice
FAQ		(deleted -- see http://www.python.org for the online FAQ)
Fixcprt.py	Fix the copyright message (a yearly chore :-)
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
README		The file you're reading now
RFD		Request For Discussion about a Python newsgroup
cheatsheet	Quick summary of Python by Ken Manheimer
editline-fix	A news article on how to fix R$'s editline for Python
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
vgrindefs	Python configuration for vgrind (a generic pretty printer)
