I've finally finished the work on Python release 0.9.6.
Below are the README and the NEWS files from the distribution.
Ftp accessibility is through ftp.cwi.nl:/pub (Europe) and
wuarchive.wustl.edu:/pub (America).
You are encouraged to port this to your system and report any problems
you have. If bug reports warrant it, I'll bring out a maintenance
release 0.9.7 within a few weeks. But don't hold your breath, it may
never happen: this release is pretty rock solid as far as real bugs
are concerned, although there could be little portability problems
(the range of machines I have access to has shrunk considerably -- no
more "pure 4.3 BSD" machines around here :-( ).
==> CWI readers please note: I've installed this version in
/usr/local, but it may take a night to reach all file servers.
--Guido van Rossum, CWI, Amsterdam <guido@cwi.nl>
"Strange women, laying in ponds, distributing swords, is no basis for a
system of government."
****************************** NEWS ************************************
==============================
==> NEWS FOR RELEASE 0.9.6 <==
==============================
Misc news in 0.9.6:
- Restructured the misc subdirectory
- Reference manual completed, library manual much extended (with indexes!)
- the GNU Readline library is now distributed standard with Python
- the script "../demo/scripts/classfix.py" fixes Python modules using old
class syntax
- Emacs python-mode.el (was python.el) vastly improved (thanks, Tim!)
- Because of the GNU copyleft business I am not using the GNU regular
expression implementation but a free re-implementation by Tatu Ylonen
that recently appeared in comp.sources.misc (Bravo, Tatu!)
New features in 0.9.6:
- stricter try stmt syntax: cannot mix except and finally clauses on 1 try
- New module 'os' supplants modules 'mac' and 'posix' for most cases;
module 'path' is replaced by 'os.path'
- os.path.split() return value differs from that of old path.split()
- sys.exc_type, sys.exc_value, sys.exc_traceback are set to the exception
currently being handled
- sys.last_type, sys.last_value, sys.last_traceback remember last unhandled
exception
- New function string.expandtabs() expands tabs in a string
- Added times() interface to posix (user & sys time of process & children)
- Added uname() interface to posix (returns OS type, hostname, etc.)
- New built-in function execfile() is like exec() but from a file
- Functions exec() and eval() are less picky about whitespace/newlines
- New built-in functions getattr() and setattr() access arbitrary attributes
- More generic argument handling in built-in functions (see "./EXTENDING")
- Dynamic loading of modules written in C or C++ (see "./DYNLOAD")
- Division and modulo for long and plain integers with negative operands
have changed; a/b is now floor(float(a)/float(b)) and a%b is defined
as a-(a/b)*b. So now the outcome of divmod(a,b) is the same as
(a/b, a%b) for integers. For floats, % is also changed, but of course
/ is unchanged, and divmod(x,y) does not yield (x/y, x%y)...
- A function with explicit variable-length argument list can be declared
like this: def f(*args): ...; or even like this: def f(a, b, *rest): ...
- Code tracing and profiling features have been added, and two source
code debuggers are provided in the library (pdb.py, tty-oriented,
and wdb, window-oriented); you can now step through Python programs!
See sys.settrace() and sys.setprofile(), and "../lib/pdb.doc"
- '==' is now the only equality operator; "../demo/scripts/eqfix.py" is
a script that fixes old Python modules
- Plain integer right shift now uses sign extension
- Long integer shift/mask operations now simulate 2's complement
to give more useful results for negative operands
- Changed/added range checks for long/plain integer shifts
- Options found after "-c command" are now passed to the command in sys.argv
(note subtle incompatiblity with "python -c command -- -options"!)
- Module stdwin is better protected against touching objects after they've
been closed; menus can now also be closed explicitly
- Stdwin now uses its own exception (stdwin.error)
New features in 0.9.5 (released as Macintosh application only, 2 Jan 1992):
- dictionary objects can now be compared properly; e.g., {}=={} is true
- new exception SystemExit causes termination if not caught;
it is raised by sys.exit() so that 'finally' clauses can clean up,
and it may even be caught. It does work interactively!
- new module "regex" implements GNU Emacs style regular expressions;
module "regexp" is rewritten in Python for backward compatibility
- formal parameter lists may contain trailing commas
Bugs fixed in 0.9.6:
- assigning to or deleting a list item with a negative index dumped core
- divmod(-10L,5L) returned (-3L, 5L) instead of (-2L, 0L)
Bugs fixed in 0.9.5:
- masking operations involving negative long integers gave wrong results
****************************** README **********************************
Python source distribution, release 0.9.6
-----------------------------------------
==> If you don't know yet what Python is: it's an interpreted,
interactive, object-oriented programming language. Read the file
misc/BLURB for more information.
==> If you want to start compiling right away (UNIX only): cd to the
src subdirectory, *read* and *edit* the Makefile there, and run
make. But it's better to read misc/BUILD first.
==> If you want to know what's new since release 0.9.4 (somehow,
version 0.9.5 was never released): read misc/NEWS. Older history
is in misc/HOSTORY.
==> See the copyright notice at the end of this file.
Distribution structure
----------------------
Each subdirectory has a README file explaining its contents in more
detail. The subdirectories at the top level are:
src/ C sources -- you build the Python binary here
lib/ Python sources for standard Python modules
demo/ Python sources for various demos of Python's abilities
doc/ LaTeX sources for the main documentation
misc/ UNIX man page, internal documentation, Emacs mode, etc.
readline/ Source for the GNU Readline library
Author
------
Guido van Rossum
CWI, dept. CST
Kruislaan 413
1098 SJ Amsterdam
The Netherlands
E-mail: guido@cwi.nl
Ftp access
----------
The latest Python source distribution can be ftp'ed from site
ftp.cwi.nl (IP address 192.16.184.180), directory /pub, file
python<version>.tar.Z. You can also find PostScript of the main
Python documentation there, a Macintosh binary, and the latest stdwin
source distribution. I try to upload copies of these files to
wuarchive.wustl.edu:/pub, to save on trans-atlantic traffic. See also
misc/FTP.
Mailing list
------------
There is a mailing list devoted to Python programming, bugs and
design. To subscribe, send mail containing your real name and e-mail
address in Internet form to "python-list-request@cwi.nl".
Copyright Notice
----------------
The Python source is copyrighted, but you can freely use and copy it
as long as you don't change or remove the copyright:
Copyright 1991, 1992 by Stichting Mathematisch Centrum, Amsterdam, The
Netherlands.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Stichting Mathematisch
Centrum or CWI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
************************************************************************