annotate Misc/HISTORY @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents 7254ee2a8abd
children 5a6bd43e2d5a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1529
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 Python history
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 --------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 This file contains the release messages for previous Python releases
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 (slightly edited to adapt them to the format of this file). As you
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 read on you go back to the dark ages of Python's history.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
7
1948
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
8
3866
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
9 =====================================
5614
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
10 ==> Release 1.4 (October 25 1996) <==
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
11 =====================================
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
12
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
13 (Starting in reverse chronological order:)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
14
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
15 - Changed disclaimer notice.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
16
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
17 - Added SHELL=/bin/sh to Misc/Makefile.pre.in -- some Make versions
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
18 default to the user's login shell.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
19
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
20 - In Lib/tkinter/Tkinter.py, removed bogus binding of <Delete> in Text
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
21 widget, and bogus bspace() function.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
22
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
23 - In Lib/cgi.py, bumped __version__ to 2.0 and restored a truncated
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
24 paragraph.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
25
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
26 - Fixed the NT Makefile (PC/vc40.mak) for VC 4.0 to set /MD for all
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
27 subprojects, and to remove the (broken) experimental NumPy
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
28 subprojects.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
29
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
30 - In Lib/py_compile.py, cast mtime to long() so it will work on Mac
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
31 (where os.stat() returns mtimes as floats.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
32 - Set self.rfile unbuffered (like self.wfile) in SocketServer.py, to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
33 fix POST in CGIHTTPServer.py.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
34
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
35 - Version 2.83 of Misc/python-mode.el for Emacs is included.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
36
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
37 - In Modules/regexmodule.c, fixed symcomp() to correctly handle a new
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
38 group starting immediately after a group tag.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
39
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
40 - In Lib/SocketServer.py, changed the mode for rfile to unbuffered.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
41
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
42 - In Objects/stringobject.c, fixed the compare function to do the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
43 first char comparison in unsigned mode, for consistency with the way
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
44 other characters are compared by memcmp().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
45
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
46 - In Lib/tkinter/Tkinter.py, fixed Scale.get() to support floats.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
47
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
48 - In Lib/urllib.py, fix another case where openedurl wasn't set.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
49
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
50 (XXX Sorry, the rest is in totally random order. No time to fix it.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
51
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
52 - SyntaxError exceptions detected during code generation
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
53 (e.g. assignment to an expression) now include a line number.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
54
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
55 - Don't leave trailing / or \ in script directory inserted in front of
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
56 sys.path.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
57
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
58 - Added a note to Tools/scripts/classfix.py abouts its historical
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
59 importance.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
60
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
61 - Added Misc/Makefile.pre.in, a universal Makefile for extensions
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
62 built outside the distribution.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
63
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
64 - Rewritten Misc/faq2html.py, by Ka-Ping Yee.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
65
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
66 - Install shared modules with mode 555 (needed for performance on some
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
67 platforms).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
68
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
69 - Some changes to standard library modules to avoid calling append()
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
70 with more than one argument -- while supported, this should be
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
71 outlawed, and I don't want to set a bad example.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
72
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
73 - bdb.py (and hence pdb.py) supports calling run() with a code object
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
74 instead of a code string.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
75
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
76 - Fixed an embarrassing bug cgi.py which prevented correct uploading
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
77 of binary files from Netscape (which doesn't distinguish between
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
78 binary and text files). Also added dormant logging support, which
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
79 makes it easier to debug the cgi module itself.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
80
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
81 - Added default writer to constructor of NullFormatter class.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
82
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
83 - Use binary mode for socket.makefile() calls in ftplib.py.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
84
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
85 - The ihooks module no longer "installs" itself upon import -- this
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
86 was an experimental feature that helped ironing out some bugs but that
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
87 slowed down code that imported it without the need to install it
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
88 (e.g. the rexec module). Also close the file in some cases and add
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
89 the __file__ attribute to loaded modules.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
90
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
91 - The test program for mailbox.py is now more useful.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
92
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
93 - Added getparamnames() to Message class in mimetools.py -- it returns
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
94 the names of parameters to the content-type header.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
95
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
96 - Fixed a typo in ni that broke the loop stripping "__." from names.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
97
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
98 - Fix sys.path[0] for scripts run via pdb.py's new main program.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
99
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
100 - profile.py can now also run a script, like pdb.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
101
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
102 - Fix a small bug in pyclbr -- don't add names starting with _ when
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
103 emulating from ... import *.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
104
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
105 - Fixed a series of embarrassing typos in rexec's handling of standard
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
106 I/O redirection. Added some more "safe" built-in modules: cmath,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
107 errno, operator.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
108
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
109 - Fixed embarrassing typo in shelve.py.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
110
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
111 - Added SliceType and EllipsisType to types.py.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
112
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
113 - In urllib.py, added handling for error 301 (same as 302); added
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
114 geturl() method to get the URL after redirection.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
115
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
116 - Fixed embarrassing typo in xdrlib.py. Also fixed typo in Setup.in
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
117 for _xdrmodule.c and removed redundant #include from _xdrmodule.c.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
118
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
119 - Fixed bsddbmodule.c to add binary mode indicator on platforms that
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
120 have it. This should make it working on Windows NT.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
121
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
122 - Changed last uses of #ifdef NT to #ifdef MS_WINDOWS or MS_WIN32,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
123 whatever applies. Also rationalized some other tests for various MS
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
124 platforms.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
125
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
126 - Added the sources for the NT installer script used for Python
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
127 1.4beta3. Not tested with this release, but better than nothing.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
128
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
129 - A compromise in pickle's defenses against Trojan horses: a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
130 user-defined function is now okay where a class is expected. A
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
131 built-in function is not okay, to prevent pickling something that
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
132 will execute os.system("rm -f *") when unpickling.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
133
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
134 - dis.py will print the name of local variables referenced by local
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
135 load/store/delete instructions.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
136
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
137 - Improved portability of SimpleHTTPServer module to non-Unix
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
138 platform.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
139
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
140 - The thread.h interface adds an extra argument to down_sema(). This
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
141 only affects other C code that uses thread.c; the Python thread module
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
142 doesn't use semaphores (which aren't provided on all platforms where
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
143 Python threads are supported). Note: on NT, this change is not
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
144 implemented.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
145
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
146 - Fixed some typos in abstract.h; corrected signature of
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
147 PyNumber_Coerce, added PyMapping_DelItem. Also fixed a bug in
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
148 abstract.c's PyObject_CallMethod().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
149
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
150 - apply(classname, (), {}) now works even if the class has no
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
151 __init__() method.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
152
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
153 - Implemented complex remainder and divmod() (these would dump core!).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
154 Conversion of complex numbers to int, long int or float now raises an
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
155 exception, since there is no meaningful way to do it without losing
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
156 information.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
157
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
158 - Fixed bug in built-in complex() function which gave the wrong result
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
159 for two real arguments.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
160
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
161 - Change the hash algorithm for strings -- the multiplier is now
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
162 1000003 instead of 3, which gives better spread for short strings.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
163
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
164 - New default path for Windows NT, the registry structure now supports
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
165 default paths for different install packages. (Mark Hammond -- the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
166 next PythonWin release will use this.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
167
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
168 - Added more symbols to the python_nt.def file.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
169
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
170 - When using GNU readline, set rl_readline_name to "python".
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
171
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
172 - The Ellipses built-in name has been renamed to Ellipsis -- this is
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
173 the correct singular form. Thanks to Ka-Ping Yee, who saved us from
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
174 eternal embarrassment.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
175
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
176 - Bumped the PYTHON_API_VERSION to 1006, due to the Ellipses ->
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
177 Ellipsis name change.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
178
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
179 - Updated the library reference manual. Added documentation of
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
180 restricted mode (rexec, Bastion) and the formatter module (for use
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
181 with the htmllib module). Fixed the documentation of htmllib
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
182 (finally).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
183
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
184 - The reference manual is now maintained in FrameMaker.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
185
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
186 - Upgraded scripts Doc/partparse.py and Doc/texi2html.py.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
187
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
188 - Slight improvements to Doc/Makefile.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
189
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
190 - Added fcntl.lockf(). This should be used for Unix file locking
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
191 instead of the posixfile module; lockf() is more portable.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
192
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
193 - The getopt module now supports long option names, thanks to Lars
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
194 Wizenius.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
195
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
196 - Plenty of changes to Tkinter and Canvas, mostly due to Fred Drake
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
197 and Nils Fischbeck.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
198
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
199 - Use more bits of time.time() in whrandom's default seed().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
200
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
201 - Performance hack for regex module's regs attribute.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
202
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
203 - Don't close already closed socket in socket module.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
204
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
205 - Correctly handle separators containing embedded nulls in
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
206 strop.split, strop.find and strop.rfind. Also added more detail to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
207 error message for strop.atoi and friends.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
208
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
209 - Moved fallback definition for hypot() to Python/hypot.c.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
210
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
211 - Added fallback definition for strdup, in Python/strdup.c.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
212
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
213 - Fixed some bugs where a function would return 0 to indicate an error
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
214 where it should return -1.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
215
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
216 - Test for error returned by time.localtime(), and rationalized its MS
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
217 tests.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
218
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
219 - Added Modules/Setup.local file, which is processed after Setup.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
220
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
221 - Corrected bug in toplevel Makefile.in -- execution of regen script
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
222 would not use the right PATH and PYTHONPATH.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
223
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
224 - Various and sundry NeXT configuration changes (sigh).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
225
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
226 - Support systems where libreadline needs neither termcap nor curses.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
227
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
228 - Improved ld_so_aix script and python.exp file (for AIX).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
229
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
230 - More stringent test for working <stdarg.h> in configure script.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
231
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
232 - Removed Demo/www subdirectory -- it was totally out of date.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
233
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
234 - Improved demos and docs for Fred Drake's parser module; fixed one
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
235 typo in the module itself.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
236
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
237
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
238 =========================================
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
239 ==> Release 1.4beta3 (August 26 1996) <==
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
240 =========================================
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
241
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
242
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
243 (XXX This is less readable that it should. I promise to restructure
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
244 it for the final 1.4 release.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
245
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
246
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
247 What's new in 1.4beta3 (since beta2)?
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
248 -------------------------------------
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
249
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
250 - Name mangling to implement a simple form of class-private variables.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
251 A name of the form "__spam" can't easily be used outside the class.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
252 (This was added in 1.4beta3, but left out of the 1.4beta3 release
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
253 message.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
254
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
255 - In urllib.urlopen(): HTTP URLs containing user:passwd@host are now
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
256 handled correctly when using a proxy server.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
257
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
258 - In ntpath.normpath(): don't truncate to 8+3 format.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
259
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
260 - In mimetools.choose_boundary(): don't die when getuid() or getpid()
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
261 aren't defined.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
262
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
263 - Module urllib: some optimizations to (un)quoting.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
264
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
265 - New module MimeWriter for writing MIME documents.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
266
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
267 - More changes to formatter module.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
268
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
269 - The freeze script works once again and is much more robust (using
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
270 sys.prefix etc.). It also supports a -o option to specify an
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
271 output directory.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
272
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
273 - New module whichdb recognizes dbm, gdbm and bsddb/dbhash files.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
274
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
275 - The Doc/Makefile targets have been reorganized somewhat to remove the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
276 insistence on always generating PostScript.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
277
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
278 - The texinfo to html filter (Doc/texi2html.py) has been improved somewhat.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
279
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
280 - "errors.h" has been renamed to "pyerrors.h" to resolve a long-standing
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
281 name conflict on the Mac.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
282
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
283 - Linking a module compiled with a different setting for Py_TRACE_REFS now
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
284 generates a linker error rather than a core dump.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
285
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
286 - The cgi module has a new convenience function print_exception(), which
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
287 formats a python exception using HTML. It also fixes a bug in the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
288 compatibility code and adds a dubious feature which makes it possible to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
289 have two query strings, one in the URL and one in the POST data.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
290
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
291 - A subtle change in the unpickling of class instances makes it possible
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
292 to unpickle in restricted execution mode, where the __dict__ attribute is
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
293 not available (but setattr() is).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
294
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
295 - Documentation for os.path.splitext() (== posixpath.splitext()) has been
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
296 cleared up. It splits at the *last* dot.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
297
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
298 - posixfile locking is now also correctly supported on AIX.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
299
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
300 - The tempfile module once again honors an initial setting of tmpdir. It
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
301 now works on Windows, too.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
302
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
303 - The traceback module has some new functions to extract, format and print
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
304 the active stack.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
305
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
306 - Some translation functions in the urllib module have been made a little
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
307 less sluggish.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
308
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
309 - The addtag_* methods for Canvas widgets in Tkinter as well as in the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
310 separate Canvas class have been fixed so they actually do something
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
311 meaningful.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
312
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
313 - A tiny _test() function has been added to Tkinter.py.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
314
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
315 - A generic Makefile for dynamically loaded modules is provided in the Misc
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
316 subdirectory (Misc/gMakefile).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
317
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
318 - A new version of python-mode.el for Emacs is provided. See
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
319 http://www.python.org/ftp/emacs/pmdetails.html for details. The
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
320 separate file pyimenu.el is no longer needed, imenu support is folded
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
321 into python-mode.el.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
322
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
323 - The configure script can finally correctly find the readline library in a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
324 non-standard location. The LDFLAGS variable is passed on the the Makefiles
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
325 from the configure script.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
326
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
327 - Shared libraries are now installed as programs (i.e. with executable
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
328 permission). This is required on HP-UX and won't hurt on other systems.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
329
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
330 - The objc.c module is no longer part of the distribution. Objective-C
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
331 support may become available as contributed software on the ftp site.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
332
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
333 - The sybase module is no longer part of the distribution. A much
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
334 improved sybase module is available as contributed software from the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
335 ftp site.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
336
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
337 - _tkinter is now compatible with Tcl 7.5 / Tk 4.1 patch1 on Windows and
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
338 Mac (don't use unpatched Tcl/Tk!). The default line in the Setup.in file
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
339 now links with Tcl 7.5 / Tk 4.1 rather than 7.4/4.0.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
340
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
341 - In Setup, you can now write "*shared*" instead of "*noconfig*", and you
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
342 can use *.so and *.sl as shared libraries.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
343
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
344 - Some more fidgeting for AIX shared libraries.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
345
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
346 - The mpz module is now compatible with GMP 2.x. (Not tested by me.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
347 (Note -- a complete replacement by Niels Mo"ller, called gpmodule, is
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
348 available from the contrib directory on the ftp site.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
349
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
350 - A warning is written to sys.stderr when a __del__ method raises an
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
351 exception (formerly, such exceptions were completely ignored).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
352
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
353 - The configure script now defines HAVE_OLD_CPP if the C preprocessor is
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
354 incapable of ANSI style token concatenation and stringification.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
355
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
356 - All source files (except a few platform specific modules) are once again
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
357 compatible with K&R C compilers as well as ANSI compilers. In particular,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
358 ANSI-isms have been removed or made conditional in complexobject.c,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
359 getargs.c and operator.c.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
360
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
361 - The abstract object API has three new functions, PyObject_DelItem,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
362 PySequence_DelItem, and PySequence_DelSlice.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
363
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
364 - The operator module has new functions delitem and delslice, and the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
365 functions "or" and "and" are renamed to "or_" and "and_" (since "or" and
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
366 "and" are reserved words). ("__or__" and "__and__" are unchanged.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
367
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
368 - The environment module is no longer supported; putenv() is now a function
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
369 in posixmodule (also under NT).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
370
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
371 - Error in filter(<function>, "") has been fixed.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
372
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
373 - Unrecognized keyword arguments raise TypeError, not KeyError.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
374
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
375 - Better portability, fewer bugs and memory leaks, fewer compiler warnings,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
376 some more documentation.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
377
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
378 - Bug in float power boundary case (0.0 to the negative integer power)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
379 fixed.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
380
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
381 - The test of negative number to the float power has been moved from the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
382 built-in pow() functin to floatobject.c (so complex numbers can yield the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
383 correct result).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
384
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
385 - The bug introduced in beta2 where shared libraries loaded (using
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
386 dlopen()) from the current directory would fail, has been fixed.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
387
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
388 - Modules imported as shared libraries now also have a __file__ attribute,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
389 giving the filename from which they were loaded. The only modules without
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
390 a __file__ attribute now are built-in modules.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
391
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
392 - On the Mac, dynamically loaded modules can end in either ".slb" or
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
393 ".<platform>.slb" where <platform> is either "CFM68K" or "ppc". The ".slb"
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
394 extension should only be used for "fat" binaries.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
395
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
396 - C API addition: marshal.c now supports
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
397 PyMarshal_WriteObjectToString(object).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
398
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
399 - C API addition: getargs.c now supports
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
400 PyArg_ParseTupleAndKeywords(args, kwdict, format, kwnames, ...)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
401 to parse keyword arguments.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
402
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
403 - The PC versioning scheme (sys.winver) has changed once again. the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
404 version number is now "<digit>.<digit>.<digit>.<apiversion>", where the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
405 first three <digit>s are the Python version (e.g. "1.4.0" for Python 1.4,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
406 "1.4.1" for Python 1.4.1 -- the beta level is not included) and
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
407 <apiversion> is the four-digit PYTHON_API_VERSION (currently 1005).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
408
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
409 - h2py.py accepts whitespace before the # in CPP directives
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
410
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
411 - On Solaris 2.5, it should now be possible to use either Posix threads or
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
412 Solaris threads (XXX: how do you select which is used???). (Note: the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
413 Python pthreads interface doesn't fully support semaphores yet -- anyone
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
414 care to fix this?)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
415
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
416 - Thread support should now work on AIX, using either DCE threads or
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
417 pthreads.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
418
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
419 - New file Demo/sockets/unicast.py
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
420
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
421 - Working Mac port, with CFM68K support, with Tk 4.1 support (though not
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
422 both) (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
423
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
424 - New project setup for PC port, now compatible with PythonWin, with
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
425 _tkinter and NumPy support (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
426
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
427 - New module site.py (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
428
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
429 - New module xdrlib.py and optional support module _xdrmodule.c (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
430
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
431 - parser module adapted to new grammar, complete w/ Doc & Demo (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
432
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
433 - regen script fixed (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
434
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
435 - new machdep subdirectories Lib/{aix3,aix4,next3_3,freebsd2,linux2} (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
436
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
437 - testall now also tests math module (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
438
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
439 - string.atoi c.s. now raise an exception for an empty input string.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
440
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
441 - At last, it is no longer necessary to define HAVE_CONFIG_H in order to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
442 have config.h included at various places.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
443
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
444 - Unrecognized keyword arguments now raise TypeError rather than KeyError.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
445
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
446 - The makesetup script recognizes files with extension .so or .sl as
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
447 (shared) libraries.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
448
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
449 - 'access' is no longer a reserved word, and all code related to its
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
450 implementation is gone (or at least #ifdef'ed out). This should make
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
451 Python a little speedier too!
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
452
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
453 - Performance enhancements suggested by Sjoerd Mullender. This includes
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
454 the introduction of two new optional function pointers in type object,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
455 getattro and setattro, which are like getattr and setattr but take a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
456 string object instead of a C string pointer.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
457
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
458 - New operations in string module: lstrip(s) and rstrip(s) strip whitespace
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
459 only on the left or only on the right, A new optional third argument to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
460 split() specifies the maximum number of separators honored (so
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
461 splitfields(s, sep, n) returns a list of at most n+1 elements). (Since
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
462 1.3, splitfields(s, None) is totally equivalent to split(s).)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
463 string.capwords() has an optional second argument specifying the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
464 separator (which is passed to split()).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
465
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
466 - regsub.split() has the same addition as string.split(). regsub.splitx(s,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
467 sep, maxsep) implements the functionality that was regsub.split(s, 1) in
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
468 1.4beta2 (return a list containing the delimiters as well as the words).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
469
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
470 - Final touch for AIX loading, rewritten Misc/AIX-NOTES.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
471
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
472 - In Modules/_tkinter.c, when using Tk 4.1 or higher, use className
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
473 argument to _tkinter.create() to set Tcl's argv0 variable, so X
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
474 resources use the right resource class again.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
475
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
476 - Add #undef fabs to Modules/mathmodule.c for macintosh.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
477
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
478 - Added some macro renames for AIX in Modules/operator.c.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
479
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
480 - Removed spurious 'E' from Doc/liberrno.tex.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
481
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
482 - Got rid of some cruft in Misc/ (dlMakefile, pyimenu.el); added new
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
483 Misc/gMakefile and new version of Misc/python-mode.el.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
484
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
485 - Fixed typo in Lib/ntpath.py (islink has "return false" which gives a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
486 NameError).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
487
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
488 - Added missing "from types import *" to Lib/tkinter/Canvas.py.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
489
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
490 - Added hint about using default args for __init__ to pickle docs.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
491
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
492 - Corrected typo in Inclide/abstract.h: PySequence_Lenth ->
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
493 PySequence_Length.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
494
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
495 - Some improvements to Doc/texi2html.py.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
496
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
497 - In Python/import.c, Cast unsigned char * in struct _frozen to char *
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
498 in calls to rds_object().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
499
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
500 - In doc/ref4.tex, added note about scope of lambda bodies.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
501
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
502 What's new in 1.4beta2 (since beta1)?
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
503 -------------------------------------
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
504
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
505 - Portability bug in the md5.h header solved.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
506
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
507 - The PC build procedure now really works, and sets sys.platform to a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
508 meaningful value (a few things were botched in beta 1). Lib/dos_8x3
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
509 is now a standard part of the distribution (alas).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
510
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
511 - More improvements to the installation procedure. Typing "make install"
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
512 now inserts the version number in the pathnames of almost everything
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
513 installed, and creates the machine dependent modules (FCNTL.py etc.) if not
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
514 supplied by the distribution. (XXX There's still a problem with the latter
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
515 because the "regen" script requires that Python is installed. Some manual
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
516 intervention may still be required.) (This has been fixed in 1.4beta3.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
517
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
518 - New modules: errno, operator (XXX).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
519
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
520 - Changes for use with Numerical Python: builtin function slice() and
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
521 Ellipses object, and corresponding syntax:
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
522
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
523 x[lo:hi:stride] == x[slice(lo, hi, stride)]
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
524 x[a, ..., z] == x[(a, Ellipses, z)]
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
525
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
526 - New documentation for errno and cgi mdoules.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
527
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
528 - The directory containing the script passed to the interpreter is
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
529 inserted in from of sys.path; "." is no longer a default path
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
530 component.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
531
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
532 - Optional third string argument to string.translate() specifies
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
533 characters to delete. New function string.maketrans() creates a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
534 translation table for translate() or for regex.compile().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
535
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
536 - Module posix (and hence module os under Unix) now supports putenv().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
537 Moreover, module os is enhanced so that if putenv() is supported,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
538 assignments to os.environ entries make the appropriate putenv() call.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
539 (XXX the putenv() implementation can leak a small amount of memory per
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
540 call.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
541
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
542 - pdb.py can now be invoked from the command line to debug a script:
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
543 python pdb.py <script> <arg> ...
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
544
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
545 - Much improved parseaddr() in rfc822.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
546
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
547 - In cgi.py, you can now pass an alternative value for environ to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
548 nearly all functions.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
549
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
550 - You can now assign to instance variables whose name begins and ends
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
551 with '__'.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
552
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
553 - New version of Fred Drake's parser module and associates (token,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
554 symbol, AST).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
555
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
556 - New PYTHON_API_VERSION value and .pyc file magic number (again!).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
557
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
558 - The "complex" internal structure type is now called "Py_complex" to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
559 avoid name conflicts.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
560
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
561 - Numerous small bugs fixed.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
562
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
563 - Slight pickle speedups.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
564
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
565 - Some slight speedups suggested by Sjoerd (more coming in 1.4 final).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
566
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
567 - NeXT portability mods by Bill Bumgarner integrated.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
568
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
569 - Modules regexmodule.c, bsddbmodule.c and xxmodule.c have been
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
570 converted to new naming style.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
571
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
572
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
573 What's new in 1.4beta1 (since 1.3)?
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
574 -----------------------------------
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
575
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
576 - Added sys.platform and sys.exec_platform for Bill Janssen.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
577
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
578 - Installation has been completely overhauled. "make install" now installs
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
579 everything, not just the python binary. Installation uses the install-sh
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
580 script (borrowed from X11) to install each file.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
581
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
582 - New functions in the posix module: mkfifo, plock, remove (== unlink),
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
583 and ftruncate. More functions are also available under NT.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
584
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
585 - New function in the fcntl module: flock.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
586
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
587 - Shared library support for FreeBSD.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
588
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
589 - The --with-readline option can now be used without a DIRECTORY argument,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
590 for systems where libreadline.* is in one of the standard places. It is
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
591 also possible for it to be a shared library.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
592
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
593 - The extension tkinter has been renamed to _tkinter, to avoid confusion
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
594 with Tkinter.py oncase insensitive file systems. It now supports Tk 4.1 as
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
595 well as 4.0.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
596
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
597 - Author's change of address from CWI in Amsterdam, The Netherlands, to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
598 CNRI in Reston, VA, USA.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
599
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
600 - The math.hypot() function is now always available (if it isn't found in
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
601 the C math library, Python provides its own implementation).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
602
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
603 - The latex documentation is now compatible with latex2e, thanks to David
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
604 Ascher.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
605
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
606 - The expression x**y is now equivalent to pow(x, y).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
607
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
608 - The indexing expression x[a, b, c] is now equivalent to x[(a, b, c)].
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
609
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
610 - Complex numbers are now supported. Imaginary constants are written with
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
611 a 'j' or 'J' prefix, general complex numbers can be formed by adding a real
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
612 part to an imaginary part, like 3+4j. Complex numbers are always stored in
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
613 floating point form, so this is equivalent to 3.0+4.0j. It is also
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
614 possible to create complex numbers with the new built-in function
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
615 complex(re, [im]). For the footprint-conscious, complex number support can
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
616 be disabled by defining the symbol WITHOUT_COMPLEX.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
617
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
618 - New built-in function list() is the long-awaited counterpart of tuple().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
619
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
620 - There's a new "cmath" module which provides the same functions as the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
621 "math" library but with complex arguments and results. (There are very
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
622 good reasons why math.sqrt(-1) still raises an exception -- you have to use
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
623 cmath.sqrt(-1) to get 1j for an answer.)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
624
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
625 - The Python.h header file (which is really the same as allobjects.h except
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
626 it disables support for old style names) now includes several more files,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
627 so you have to have fewer #include statements in the average extension.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
628
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
629 - The NDEBUG symbol is no longer used. Code that used to be dependent on
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
630 the presence of NDEBUG is now present on the absence of DEBUG. TRACE_REFS
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
631 and REF_DEBUG have been renamed to Py_TRACE_REFS and Py_REF_DEBUG,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
632 respectively. At long last, the source actually compiles and links without
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
633 errors when this symbol is defined.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
634
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
635 - Several symbols that didn't follow the new naming scheme have been
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
636 renamed (usually by adding to rename2.h) to use a Py or _Py prefix. There
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
637 are no external symbols left without a Py or _Py prefix, not even those
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
638 defined by sources that were incorporated from elsewhere (regexpr.c,
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
639 md5c.c). (Macros are a different story...)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
640
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
641 - There are now typedefs for the structures defined in config.c and
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
642 frozen.c.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
643
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
644 - New PYTHON_API_VERSION value and .pyc file magic number.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
645
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
646 - New module Bastion. (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
647
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
648 - Improved performance of StringIO module.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
649
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
650 - UserList module now supports + and * operators.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
651
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
652 - The binhex and binascii modules now actually work.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
653
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
654 - The cgi module has been almost totally rewritten and documented.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
655 It now supports file upload and a new data type to handle forms more
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
656 flexibly.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
657
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
658 - The formatter module (for use with htmllib) has been overhauled (again).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
659
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
660 - The ftplib module now supports passive mode and has doc strings.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
661
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
662 - In (ideally) all places where binary files are read or written, the file
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
663 is now correctly opened in binary mode ('rb' or 'wb') so the code will work
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
664 on Mac or PC.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
665
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
666 - Dummy versions of os.path.expandvars() and expanduser() are now provided
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
667 on non-Unix platforms.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
668
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
669 - Module urllib now has two new functions url2pathname and pathname2url
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
670 which turn local filenames into "file:..." URLs using the same rules as
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
671 Netscape (why be different). it also supports urlretrieve() with a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
672 pathname parameter, and honors the proxy environment variables (http_proxy
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
673 etc.). The URL parsing has been improved somewhat, too.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
674
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
675 - Micro improvements to urlparse. Added urlparse.urldefrag() which
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
676 removes a trailing ``#fragment'' if any.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
677
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
678 - The mailbox module now supports MH style message delimiters as well.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
679
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
680 - The mhlib module contains some new functionality: setcontext() to set the
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
681 current folder and parsesequence() to parse a sequence as commonly passed
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
682 to MH commands (e.g. 1-10 or last:5).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
683
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
684 - New module mimify for conversion to and from MIME format of email
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
685 messages.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
686
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
687 - Module ni now automatically installs itself when first imported -- this
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
688 is against the normal rule that modules should define classes and functions
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
689 but not invoke them, but appears more useful in the case that two
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
690 different, independent modules want to use ni's features.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
691
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
692 - Some small performance enhancements in module pickle.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
693
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
694 - Small interface change to the profile.run*() family of functions -- more
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
695 sensible handling of return values.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
696
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
697 - The officially registered Mac creator for Python files is 'Pyth'. This
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
698 replaces 'PYTH' which was used before but never registered.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
699
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
700 - Added regsub.capwords(). (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
701
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
702 - Added string.capwords(), string.capitalize() and string.translate().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
703 (XXX)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
704
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
705 - Fixed an interface bug in the rexec module: it was impossible to pass a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
706 hooks instance to the RExec class. rexec now also supports the dynamic
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
707 loading of modules from shared libraries. Some other interfaces have been
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
708 added too.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
709
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
710 - Module rfc822 now caches the headers in a dictionary for more efficient
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
711 lookup.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
712
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
713 - The sgmllib module now understands a limited number of SGML "shorthands"
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
714 like <A/.../ for <A>...</A>. (It's not clear that this was a good idea...)
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
715
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
716 - The tempfile module actually tries a number of different places to find a
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
717 usable temporary directory. (This was prompted by certain Linux
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
718 installations that appear to be missing a /usr/tmp directory.) [A bug in
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
719 the implementation that would ignore a pre-existing tmpdir global has been
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
720 fixed in beta3.]
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
721
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
722 - Much improved and enhanved FileDialog module for Tkinter.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
723
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
724 - Many small changes to Tkinter, to bring it more in line with Tk 4.0 (as
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
725 well as Tk 4.1).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
726
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
727 - New socket interfaces include ntohs(), ntohl(), htons(), htonl(), and
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
728 s.dup(). Sockets now work correctly on Windows. On Windows, the built-in
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
729 extension is called _socket and a wrapper module win/socket.py provides
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
730 "makefile()" and "dup()" functionality. On Windows, the select module
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
731 works only with socket objects.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
732
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
733 - Bugs in bsddb module fixed (e.g. missing default argument values).
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
734
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
735 - The curses extension now includes <ncurses.h> when available.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
736
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
737 - The gdbm module now supports opening databases in "fast" mode by
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
738 specifying 'f' as the second character or the mode string.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
739
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
740 - new variables sys.prefix and sys.exec_prefix pass corresponding
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
741 configuration options / Makefile variables to the Python programmer.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
742
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
743 - The ``new'' module now supports creating new user-defined classes as well
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
744 as instances thereof.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
745
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
746 - The soundex module now sports get_soundex() to get the soundex value for an
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
747 arbitrary string (formerly it would only do soundex-based string
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
748 comparison) as well as doc strings.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
749
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
750 - New object type "cobject" to safely wrap void pointers for passing them
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
751 between various extension modules.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
752
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
753 - More efficient computation of float**smallint.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
754
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
755 - The mysterious bug whereby "x.x" (two occurrences of the same
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
756 one-character name) typed from the commandline would sometimes fail
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
757 mysteriously.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
758
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
759 - The initialization of the readline function can now be invoked by a C
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
760 extension through PyOS_ReadlineInit().
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
761
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
762 - There's now an externally visible pointer PyImport_FrozenModules which
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
763 can be changed by an embedding application.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
764
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
765 - The argument parsing functions now support a new format character 'D' to
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
766 specify complex numbers.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
767
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
768 - Various memory leaks plugged and bugs fixed.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
769
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
770 - Improved support for posix threads (now that real implementations are
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
771 beginning to apepar). Still no fully functioning semaphores.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
772
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
773 - Some various and sundry improvements and new entries in the Tools
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
774 directory.
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
775
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
776
7254ee2a8abd Moved the 1.4 NEWS file here (it had to happen someday...).
Guido van Rossum <guido@python.org>
parents: 3866
diff changeset
777 =====================================
3866
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
778 ==> Release 1.3 (13 October 1995) <==
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
779 =====================================
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
780
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
781 Major change
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
782 ============
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
783
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
784 Two words: Keyword Arguments. See the first section of Chapter 12 of
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
785 the Tutorial.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
786
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
787 (The rest of this file is textually the same as the remaining sections
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
788 of that chapter.)
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
789
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
790
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
791 Changes to the WWW and Internet tools
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
792 =====================================
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
793
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
794 The "htmllib" module has been rewritten in an incompatible fashion.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
795 The new version is considerably more complete (HTML 2.0 except forms,
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
796 but including all ISO-8859-1 entity definitions), and easy to use.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
797 Small changes to "sgmllib" have also been made, to better match the
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
798 tokenization of HTML as recognized by other web tools.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
799
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
800 A new module "formatter" has been added, for use with the new
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
801 "htmllib" module.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
802
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
803 The "urllib"and "httplib" modules have been changed somewhat to allow
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
804 overriding unknown URL types and to support authentication. They now
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
805 use "mimetools.Message" instead of "rfc822.Message" to parse headers.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
806 The "endrequest()" method has been removed from the HTTP class since
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
807 it breaks the interaction with some servers.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
808
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
809 The "rfc822.Message" class has been changed to allow a flag to be
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
810 passed in that says that the file is unseekable.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
811
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
812 The "ftplib" module has been fixed to be (hopefully) more robust on
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
813 Linux.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
814
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
815 Several new operations that are optionally supported by servers have
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
816 been added to "nntplib": "xover", "xgtitle", "xpath" and "date".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
817
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
818 Other Language Changes
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
819 ======================
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
820
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
821 The "raise" statement now takes an optional argument which specifies
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
822 the traceback to be used when printing the exception's stack trace.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
823 This must be a traceback object, such as found in "sys.exc_traceback".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
824 When omitted or given as "None", the old behavior (to generate a stack
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
825 trace entry for the current stack frame) is used.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
826
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
827 The tokenizer is now more tolerant of alien whitespace. Control-L in
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
828 the leading whitespace of a line resets the column number to zero,
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
829 while Control-R just before the end of the line is ignored.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
830
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
831 Changes to Built-in Operations
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
832 ==============================
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
833
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
834 For file objects, "f.read(0)" and "f.readline(0)" now return an empty
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
835 string rather than reading an unlimited number of bytes. For the
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
836 latter, omit the argument altogether or pass a negative value.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
837
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
838 A new system variable, "sys.platform", has been added. It specifies
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
839 the current platform, e.g. "sunos5" or "linux1".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
840
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
841 The built-in functions "input()" and "raw_input()" now use the GNU
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
842 readline library when it has been configured (formerly, only
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
843 interactive input to the interpreter itself was read using GNU
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
844 readline). The GNU readline library provides elaborate line editing
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
845 and history. The Python debugger ("pdb") is the first beneficiary of
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
846 this change.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
847
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
848 Two new built-in functions, "globals()" and "locals()", provide access
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
849 to dictionaries containming current global and local variables,
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
850 respectively. (These augment rather than replace "vars()", which
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
851 returns the current local variables when called without an argument,
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
852 and a module's global variables when called with an argument of type
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
853 module.)
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
854
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
855 The built-in function "compile()" now takes a third possible value for
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
856 the kind of code to be compiled: specifying "'single'" generates code
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
857 for a single interactive statement, which prints the output of
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
858 expression statements that evaluate to something else than "None".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
859
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
860 Library Changes
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
861 ===============
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
862
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
863 There are new module "ni" and "ihooks" that support importing modules
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
864 with hierarchical names such as "A.B.C". This is enabled by writing
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
865 "import ni; ni.ni()" at the very top of the main program. These
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
866 modules are amply documented in the Python source.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
867
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
868 The module "rexec" has been rewritten (incompatibly) to define a class
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
869 and to use "ihooks".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
870
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
871 The "string.split()" and "string.splitfields()" functions are now the
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
872 same function (the presence or absence of the second argument
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
873 determines which operation is invoked); similar for "string.join()"
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
874 and "string.joinfields()".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
875
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
876 The "Tkinter" module and its helper "Dialog" have been revamped to use
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
877 keyword arguments. Tk 4.0 is now the standard. A new module
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
878 "FileDialog" has been added which implements standard file selection
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
879 dialogs.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
880
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
881 The optional built-in modules "dbm" and "gdbm" are more coordinated
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
882 --- their "open()" functions now take the same values for their "flag"
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
883 argument, and the "flag" and "mode" argument have default values (to
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
884 open the database for reading only, and to create the database with
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
885 mode "0666" minuse the umask, respectively). The memory leaks have
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
886 finally been fixed.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
887
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
888 A new dbm-like module, "bsddb", has been added, which uses the BSD DB
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
889 package's hash method.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
890
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
891 A portable (though slow) dbm-clone, implemented in Python, has been
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
892 added for systems where none of the above is provided. It is aptly
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
893 dubbed "dumbdbm".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
894
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
895 The module "anydbm" provides a unified interface to "bsddb", "gdbm",
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
896 "dbm", and "dumbdbm", choosing the first one available.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
897
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
898 A new extension module, "binascii", provides a variety of operations
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
899 for conversion of text-encoded binary data.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
900
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
901 There are three new or rewritten companion modules implemented in
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
902 Python that can encode and decode the most common such formats: "uu"
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
903 (uuencode), "base64" and "binhex".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
904
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
905 A module to handle the MIME encoding quoted-printable has also been
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
906 added: "quopri".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
907
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
908 The parser module (which provides an interface to the Python parser's
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
909 abstract syntax trees) has been rewritten (incompatibly) by Fred
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
910 Drake. It now lets you change the parse tree and compile the result!
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
911
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
912 The \code{syslog} module has been upgraded and documented.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
913
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
914 Other Changes
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
915 =============
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
916
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
917 The dynamic module loader recognizes the fact that different filenames
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
918 point to the same shared library and loads the library only once, so
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
919 you can have a single shared library that defines multiple modules.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
920 (SunOS / SVR4 style shared libraries only.)
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
921
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
922 Jim Fulton's ``abstract object interface'' has been incorporated into
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
923 the run-time API. For more detailes, read the files
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
924 "Include/abstract.h" and "Objects/abstract.c".
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
925
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
926 The Macintosh version is much more robust now.
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
927
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
928 Numerous things I have forgotten or that are so obscure no-one will
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
929 notice them anyway :-)
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
930
a3b09a71162b Moved 1.3 news to HISTORY; put some 1.4 news in NEWS
Guido van Rossum <guido@python.org>
parents: 3179
diff changeset
931
2067
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
932 ===================================
3179
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
933 ==> Release 1.2 (13 April 1995) <==
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
934 ===================================
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
935
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
936 - Changes to Misc/python-mode.el:
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
937 - Wrapping and indentation within triple quote strings should work
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
938 properly now.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
939 - `Standard' bug reporting mechanism (use C-c C-b)
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
940 - py-mark-block was moved to C-c C-m
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
941 - C-c C-v shows you the python-mode version
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
942 - a basic python-font-lock-keywords has been added for Emacs 19
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
943 font-lock colorizations.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
944 - proper interaction with pending-del and del-sel modes.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
945 - New py-electric-colon (:) command for improved outdenting. Also
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
946 py-indent-line (TAB) should handle outdented lines better.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
947 - New commands py-outdent-left (C-c C-l) and py-indent-right (C-c C-r)
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
948
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
949 - The Library Reference has been restructured, and many new and
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
950 existing modules are now documented, in particular the debugger and
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
951 the profiler, as well as the persistency and the WWW/Internet support
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
952 modules.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
953
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
954 - All known bugs have been fixed. For example the pow(2,2,3L) bug on
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
955 Linux has been fixed. Also the re-entrancy problems with __del__ have
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
956 been fixed.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
957
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
958 - All known memory leaks have been fixed.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
959
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
960 - Phase 2 of the Great Renaming has been executed. The header files
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
961 now use the new names (PyObject instead of object, etc.). The linker
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
962 also sees the new names. Most source files still use the old names,
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
963 by virtue of the rename2.h header file. If you include Python.h, you
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
964 only see the new names. Dynamically linked modules have to be
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
965 recompiled. (Phase 3, fixing the rest of the sources, will be
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
966 executed gradually with the release later versions.)
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
967
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
968 - The hooks for implementing "safe-python" (better called "restricted
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
969 execution") are in place. Specifically, the import statement is
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
970 implemented by calling the built-in function __import__, and the
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
971 built-in names used in a particular scope are taken from the
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
972 dictionary __builtins__ in that scope's global dictionary. See also
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
973 the new (unsupported, undocumented) module rexec.py.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
974
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
975 - The import statement now supports the syntax "import a.b.c" and
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
976 "from a.b.c import name". No officially supported implementation
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
977 exists, but one can be prototyped by replacing the built-in __import__
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
978 function. A proposal by Ken Manheimer is provided as newimp.py.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
979
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
980 - All machinery used by the import statement (or the built-in
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
981 __import__ function) is now exposed through the new built-in module
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
982 "imp" (see the library reference manual). All dynamic loading
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
983 machinery is moved to the new file importdl.c.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
984
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
985 - Persistent storage is supported through the use of the modules
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
986 "pickle" and "shelve" (implemented in Python). There's also a "copy"
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
987 module implementing deepcopy and normal (shallow) copy operations.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
988 See the library reference manual.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
989
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
990 - Documentation strings for many objects types are accessible through
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
991 the __doc__ attribute. Modules, classes and functions support special
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
992 syntax to initialize the __doc__ attribute: if the first statement
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
993 consists of just a string literal, that string literal becomes the
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
994 value of the __doc__ attribute. The default __doc__ attribute is
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
995 None. Documentation strings are also supported for built-in
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
996 functions, types and modules; however this feature hasn't been widely
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
997 used yet. See the 'new' module for an example. (Basically, the type
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
998 object's tp_doc field contains the doc string for the type, and the
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
999 4th member of the methodlist structure contains the doc string for the
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1000 method.)
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1001
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1002 - The __coerce__ and __cmp__ methods for user-defined classes once
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1003 again work as expected. As an example, there's a new standard class
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1004 Complex in the library.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1005
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1006 - The functions posix.popen() and posix.fdopen() now have an optional
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1007 third argument to specify the buffer size, and default their second
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1008 (mode) argument to 'r' -- in analogy to the builtin open() function.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1009 The same applies to posixfile.open() and the socket method makefile().
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1010
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1011 - The thread.exit_thread() function now raises SystemExit so that
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1012 'finally' clauses are honored and a memory leak is plugged.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1013
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1014 - Improved X11 and Motif support, by Sjoerd Mullender. This extension
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1015 is being maintained and distributed separately.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1016
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1017 - Improved support for the Apple Macintosh, in part by Jack Jansen,
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1018 e.g. interfaces to (a few) resource mananger functions, get/set file
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1019 type and creator, gestalt, sound manager, speech manager, MacTCP, comm
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1020 toolbox, and the think C console library. This is being maintained
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1021 and distributed separately.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1022
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1023 - Improved version for Windows NT, by Mark Hammond. This is being
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1024 maintained and distributed separately.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1025
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1026 - Used autoconf 2.0 to generate the configure script. Adapted
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1027 configure.in to use the new features in autoconf 2.0.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1028
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1029 - It now builds on the NeXT without intervention, even on the 3.3
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1030 Sparc pre-release.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1031
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1032 - Characters passed to isspace() and friends are masked to nonnegative
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1033 values.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1034
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1035 - Correctly compute pow(-3.0, 3).
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1036
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1037 - Fix portability problems with getopt (configure now checks for a
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1038 non-GNU getopt).
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1039
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1040 - Don't add frozenmain.o to libPython.a.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1041
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1042 - Exceptions can now be classes. ALl built-in exceptions are still
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1043 string objects, but this will change in the future.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1044
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1045 - The socket module exports a long list of socket related symbols.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1046 (More built-in modules will export their symbolic constants instead of
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1047 relying on a separately generated Python module.)
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1048
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1049 - When a module object is deleted, it clears out its own dictionary.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1050 This fixes a circularity in the references between functions and
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1051 their global dictionary.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1052
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1053 - Changed the error handling by [new]getargs() e.g. for "O&".
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1054
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1055 - Dynamic loading of modules using shared libraries is supported for
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1056 several new platforms.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1057
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1058 - Support "O&", "[...]" and "{...}" in mkvalue().
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1059
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1060 - Extension to findmethod(): findmethodinchain() (where a chain is a
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1061 linked list of methodlist arrays). The calling interface for
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1062 findmethod() has changed: it now gets a pointer to the (static!)
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1063 methodlist structure rather than just to the function name -- this
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1064 saves copying flags etc. into the (short-lived) method object.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1065
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1066 - The callable() function is now public.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1067
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1068 - Object types can define a few new operations by setting function
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1069 pointers in the type object structure: tp_call defines how an object
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1070 is called, and tp_str defines how an object's str() is computed.
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1071
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1072
2a4d130373db added 1.2 news
Guido van Rossum <guido@python.org>
parents: 2067
diff changeset
1073 ===================================
2067
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1074 ==> Release 1.1.1 (10 Nov 1994) <==
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1075 ===================================
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1076
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1077 This is a pure bugfix release again. See the ChangeLog file for details.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1078
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1079 One exception: a few new features were added to tkinter.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1080
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1081
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1082 =================================
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1083 ==> Release 1.1 (11 Oct 1994) <==
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1084 =================================
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1085
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1086 This release adds several new features, improved configuration and
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1087 portability, and fixes more bugs than I can list here (including some
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1088 memory leaks).
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1089
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1090 The source compiles and runs out of the box on more platforms than
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1091 ever -- including Windows NT. Makefiles or projects for a variety of
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1092 non-UNIX platforms are provided.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1093
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1094 APOLOGY: some new features are badly documented or not at all. I had
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1095 the choice -- postpone the new release indefinitely, or release it
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1096 now, with working code but some undocumented areas. The problem with
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1097 postponing the release is that people continue to suffer from existing
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1098 bugs, and send me patches based on the previous release -- which I
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1099 can't apply directly because my own source has changed. Also, some
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1100 new modules (like signal) have been ready for release for quite some
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1101 time, and people are anxiously waiting for them. In the case of
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1102 signal, the interface is simple enough to figure out without
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1103 documentation (if you're anxious enough :-). In this case it was not
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1104 simple to release the module on its own, since it relies on many small
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1105 patches elsewhere in the source.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1106
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1107 For most new Python modules, the source code contains comments that
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1108 explain how to use them. Documentation for the Tk interface, written
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1109 by Matt Conway, is available as tkinter-doc.tar.gz from the Python
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1110 home and mirror ftp sites (see Misc/FAQ for ftp addresses). For the
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1111 new operator overloading facilities, have a look at Demo/classes:
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1112 Complex.py and Rat.py show how to implement a numeric type without and
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1113 with __coerce__ method. Also have a look at the end of the Tutorial
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1114 document (Doc/tut.tex). If you're still confused: use the newsgroup
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1115 or mailing list.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1116
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1117
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1118 New language features:
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1119
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1120 - More flexible operator overloading for user-defined classes
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1121 (INCOMPATIBLE WITH PREVIOUS VERSIONS!) See end of tutorial.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1122
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1123 - Classes can define methods named __getattr__, __setattr__ and
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1124 __delattr__ to trap attribute accesses. See end of tutorial.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1125
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1126 - Classes can define method __call__ so instances can be called
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1127 directly. See end of tutorial.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1128
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1129
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1130 New support facilities:
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1131
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1132 - The Makefiles (for the base interpreter as well as for extensions)
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1133 now support creating dynamically loadable modules if the platform
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1134 supports shared libraries.
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1135
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1136 - Passing the interpreter a .pyc file as script argument will execute
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1137 the code in that file. (On the Mac such files can be double-clicked!)
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1138
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1139 - New Freeze script, to create independently distributable "binaries"
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1140 of Python programs -- look in Demo/freeze
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1141
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1142 - Improved h2py script (in Demo/scripts) follows #includes and
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1143 supports macros with one argument
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1144
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1145 - New module compileall generates .pyc files for all modules in a
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1146 directory (tree) without also executing them
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1147
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1148 - Threads should work on more platforms
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1149
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1150
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1151 New built-in modules:
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1152
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1153 - tkinter (support for Tcl's Tk widget set) is now part of the base
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1154 distribution
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1155
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1156 - signal allows catching or ignoring UNIX signals (unfortunately still
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1157 undocumented -- any taker?)
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1158
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1159 - termios provides portable access to POSIX tty settings
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1160
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1161 - curses provides an interface to the System V curses library
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1162
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1163 - syslog provides an interface to the (BSD?) syslog daemon
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1164
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1165 - 'new' provides interfaces to create new built-in object types
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1166 (e.g. modules and functions)
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1167
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1168 - sybase provides an interface to SYBASE database
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1169
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1170
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1171 New/obsolete built-in methods:
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1172
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1173 - callable(x) tests whether x can be called
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1174
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1175 - sockets now have a setblocking() method
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1176
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1177 - sockets no longer have an allowbroadcast() method
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1178
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1179 - socket methods send() and sendto() return byte count
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1180
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1181
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1182 New standard library modules:
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1183
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1184 - types.py defines standard names for built-in types, e.g. StringType
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1185
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1186 - urlparse.py parses URLs according to the latest Internet draft
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1187
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1188 - uu.py does uuencode/uudecode (not the fastest in the world, but
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1189 quicker than installing uuencode on a non-UNIX machine :-)
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1190
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1191 - New, faster and more powerful profile module.py
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1192
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1193 - mhlib.py provides interface to MH folders and messages
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1194
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1195
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1196 New facilities for extension writers (unfortunately still
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1197 undocumented):
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1198
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1199 - newgetargs() supports optional arguments and improved error messages
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1200
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1201 - O!, O& O? formats for getargs allow more versatile type checking of
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1202 non-standard types
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1203
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1204 - can register pending asynchronous callback, to be called the next
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1205 time the Python VM begins a new instruction (Py_AddPendingCall)
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1206
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1207 - can register cleanup routines to be called when Python exits
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1208 (Py_AtExit)
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1209
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1210 - makesetup script understands C++ files in Setup file (use file.C
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1211 or file.cc)
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1212
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1213 - Make variable OPT is passed on to sub-Makefiles
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1214
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1215 - An init<module>() routine may signal an error by not entering
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1216 the module in the module table and raising an exception instead
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1217
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1218 - For long module names, instead of foobarbletchmodule.c you can
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1219 use foobarbletch.c
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1220
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1221 - getintvalue() and getfloatvalue() try to convert any object
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1222 instead of requiring an "intobject" or "floatobject"
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1223
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1224 - All the [new]getargs() formats that retrieve an integer value
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1225 will now also work if a float is passed
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1226
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1227 - C function listtuple() converts list to tuple, fast
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1228
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1229 - You should now call sigcheck() instead of intrcheck();
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1230 sigcheck() also sets an exception when it returns nonzero
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1231
1b99451fa143 Moved 1.1 and 1.1.1 news here
Guido van Rossum <guido@python.org>
parents: 1948
diff changeset
1232
1948
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1233 ====================================
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1234 ==> Release 1.0.3 (14 July 1994) <==
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1235 ====================================
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1236
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1237 This release consists entirely of bug fixes to the C sources; see the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1238 head of ../ChangeLog for a complete list. Most important bugs fixed:
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1239
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1240 - Sometimes the format operator (string%expr) would drop the last
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1241 character of the format string
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1242
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1243 - Tokenizer looped when last line did not end in \n
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1244
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1245 - Bug when triple-quoted string ended in quote plus newline
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1246
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1247 - Typo in socketmodule (listen) (== instead of =)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1248
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1249 - typing vars() at the >>> prompt would cause recursive output
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1250
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1251
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1252 ==================================
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1253 ==> Release 1.0.2 (4 May 1994) <==
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1254 ==================================
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1255
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1256 Overview of the most visible changes. Bug fixes are not listed. See
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1257 also ChangeLog.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1258
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1259 Tokens
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1260 ------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1261
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1262 * String literals follow Standard C rules: they may be continued on
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1263 the next line using a backslash; adjacent literals are concatenated
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1264 at compile time.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1265
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1266 * A new kind of string literals, surrounded by triple quotes (""" or
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1267 '''), can be continued on the next line without a backslash.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1268
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1269 Syntax
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1270 ------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1271
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1272 * Function arguments may have a default value, e.g. def f(a, b=1);
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1273 defaults are evaluated at function definition time. This also applies
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1274 to lambda.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1275
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1276 * The try-except statement has an optional else clause, which is
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1277 executed when no exception occurs in the try clause.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1278
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1279 Interpreter
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1280 -----------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1281
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1282 * The result of a statement-level expression is no longer printed,
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1283 except_ for expressions entered interactively. Consequently, the -k
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1284 command line option is gone.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1285
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1286 * The result of the last printed interactive expression is assigned to
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1287 the variable '_'.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1288
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1289 * Access to implicit global variables has been speeded up by removing
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1290 an always-failing dictionary lookup in the dictionary of local
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1291 variables (mod suggested by Steve Makewski and Tim Peters).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1292
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1293 * There is a new command line option, -u, to force stdout and stderr
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1294 to be unbuffered.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1295
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1296 * Incorporated Steve Majewski's mods to import.c for dynamic loading
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1297 under AIX.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1298
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1299 * Fewer chances of dumping core when trying to reload or re-import
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1300 static built-in, dynamically loaded built-in, or frozen modules.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1301
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1302 * Loops over sequences now don't ask for the sequence's length when
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1303 they start, but try to access items 0, 1, 2, and so on until they hit
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1304 an IndexError. This makes it possible to create classes that generate
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1305 infinite or indefinite sequences a la Steve Majewski. This affects
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1306 for loops, the (not) in operator, and the built-in functions filter(),
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1307 map(), max(), min(), reduce().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1308
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1309 Changed Built-in operations
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1310 ---------------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1311
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1312 * The '%' operator on strings (printf-style formatting) supports a new
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1313 feature (adapted from a patch by Donald Beaudry) to allow
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1314 '%(<key>)<format>' % {...} to take values from a dictionary by name
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1315 instead of from a tuple by position (see also the new function
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1316 vars()).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1317
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1318 * The '%s' formatting operator is changed to accept any type and
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1319 convert it to a string using str().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1320
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1321 * Dictionaries with more than 20,000 entries can now be created
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1322 (thanks to Steve Kirsch).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1323
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1324 New Built-in Functions
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1325 ----------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1326
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1327 * vars() returns a dictionary containing the local variables; vars(m)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1328 returns a dictionary containing the variables of module m. Note:
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1329 dir(x) is now equivalent to vars(x).keys().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1330
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1331 Changed Built-in Functions
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1332 --------------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1333
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1334 * open() has an optional third argument to specify the buffer size: 0
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1335 for unbuffered, 1 for line buffered, >1 for explicit buffer size, <0
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1336 for default.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1337
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1338 * open()'s second argument is now optional; it defaults to "r".
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1339
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1340 * apply() now checks that its second argument is indeed a tuple.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1341
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1342 New Built-in Modules
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1343 --------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1344
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1345 Changed Built-in Modules
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1346 ------------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1347
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1348 The thread module no longer supports exit_prog().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1349
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1350 New Python Modules
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1351 ------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1352
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1353 * Module addpack contains a standard interface to modify sys.path to
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1354 find optional packages (groups of related modules).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1355
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1356 * Module urllib contains a number of functions to access
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1357 World-Wide-Web files specified by their URL.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1358
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1359 * Module httplib implements the client side of the HTTP protocol used
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1360 by World-Wide-Web servers.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1361
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1362 * Module gopherlib implements the client side of the Gopher protocol.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1363
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1364 * Module mailbox (by Jack Jansen) contains a parser for UNIX and MMDF
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1365 style mailbox files.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1366
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1367 * Module random contains various random distributions, e.g. gauss().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1368
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1369 * Module lockfile locks and unlocks open files using fcntl (inspired
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1370 by a similar module by Andy Bensky).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1371
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1372 * Module ntpath (by Jaap Vermeulen) implements path operations for
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1373 Windows/NT.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1374
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1375 * Module test_thread (in Lib/test) contains a small test set for the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1376 thread module.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1377
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1378 Changed Python Modules
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1379 ----------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1380
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1381 * The string module's expandvars() function is now documented and is
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1382 implemented in Python (using regular expressions) instead of forking
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1383 off a shell process.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1384
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1385 * Module rfc822 now supports accessing the header fields using the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1386 mapping/dictionary interface, e.g. h['subject'].
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1387
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1388 * Module pdb now makes it possible to set a break on a function
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1389 (syntax: break <expression>, where <expression> yields a function
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1390 object).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1391
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1392 Changed Demos
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1393 -------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1394
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1395 * The Demo/scripts/freeze.py script is working again (thanks to Jaap
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1396 Vermeulen).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1397
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1398 New Demos
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1399 ---------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1400
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1401 * Demo/threads/Generator.py is a proposed interface for restartable
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1402 functions a la Tim Peters.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1403
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1404 * Demo/scripts/newslist.py, by Quentin Stafford-Fraser, generates a
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1405 directory full of HTML pages which between them contain links to all
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1406 the newsgroups available on your server.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1407
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1408 * Demo/dns contains a DNS (Domain Name Server) client.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1409
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1410 * Demo/lutz contains miscellaneous demos by Mark Lutz (e.g. psh.py, a
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1411 nice enhanced Python shell!!!).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1412
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1413 * Demo/turing contains a Turing machine by Amrit Prem.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1414
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1415 Documentation
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1416 -------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1417
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1418 * Documented new language features mentioned above (but not all new
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1419 modules).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1420
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1421 * Added a chapter to the Tutorial describing recent additions to
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1422 Python.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1423
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1424 * Clarified some sentences in the reference manual,
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1425 e.g. break/continue, local/global scope, slice assignment.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1426
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1427 Source Structure
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1428 ----------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1429
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1430 * Moved Include/tokenizer.h to Parser/tokenizer.h.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1431
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1432 * Added Python/getopt.c for systems that don't have it.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1433
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1434 Emacs mode
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1435 ----------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1436
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1437 * Indentation of continuated lines is done more intelligently;
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1438 consequently the variable py-continuation-offset is gone.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1439
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1440 ========================================
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1441 ==> Release 1.0.1 (15 February 1994) <==
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1442 ========================================
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1443
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1444 * Many portability fixes should make it painless to build Python on
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1445 several new platforms, e.g. NeXT, SEQUENT, WATCOM, DOS, and Windows.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1446
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1447 * Fixed test for <stdarg.h> -- this broke on some platforms.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1448
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1449 * Fixed test for shared library dynalic loading -- this broke on SunOS
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1450 4.x using the GNU loader.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1451
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1452 * Changed order and number of SVR4 networking libraries (it is now
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1453 -lsocket -linet -lnsl, if these libraries exist).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1454
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1455 * Installing the build intermediate stages with "make libainstall" now
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1456 also installs config.c.in, Setup and makesetup, which are used by the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1457 new Extensions mechanism.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1458
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1459 * Improved README file contains more hints and new troubleshooting
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1460 section.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1461
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1462 * The built-in module strop now defines fast versions of three more
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1463 functions of the standard string module: atoi(), atol() and atof().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1464 The strop versions of atoi() and atol() support an optional second
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1465 argument to specify the base (default 10). NOTE: you don't have to
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1466 explicitly import strop to use the faster versions -- the string
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1467 module contains code to let versions from stop override the default
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1468 versions.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1469
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1470 * There is now a working Lib/dospath.py for those who use Python under
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1471 DOS (or Windows). Thanks, Jaap!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1472
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1473 * There is now a working Modules/dosmodule.c for DOS (or Windows)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1474 system calls.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1475
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1476 * Lib.os.py has been reorganized (making it ready for more operating
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1477 systems).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1478
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1479 * Lib/ospath.py is now obsolete (use os.path instead).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1480
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1481 * Many fixes to the tutorial to make it match Python 1.0. Thanks,
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1482 Tim!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1483
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1484 * Fixed Doc/Makefile, Doc/README and various scripts there.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1485
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1486 * Added missing description of fdopen to Doc/libposix.tex.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1487
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1488 * Made cleanup() global, for the benefit of embedded applications.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1489
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1490 * Added parsing of addresses and dates to Lib/rfc822.py.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1491
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1492 * Small fixes to Lib/aifc.py, Lib/sunau.py, Lib/tzparse.py to make
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1493 them usable at all.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1494
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1495 * New module Lib/wave.py reads RIFF (*.wav) audio files.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1496
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1497 * Module Lib/filewin.py moved to Lib/stdwin/filewin.py where it
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1498 belongs.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1499
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1500 * New options and comments for Modules/makesetup (used by new
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1501 Extension mechanism).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1502
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1503 * Misc/HYPE contains text of announcement of 1.0.0 in comp.lang.misc
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1504 and elsewhere.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1505
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1506 * Fixed coredump in filter(None, 'abcdefg').
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1507
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1508
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1509 =======================================
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1510 ==> Release 1.0.0 (26 January 1994) <==
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1511 =======================================
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1512
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1513 As is traditional, so many things have changed that I can't pretend to
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1514 be complete in these release notes, but I'll try anyway :-)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1515
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1516 Note that the very last section is labeled "remaining bugs".
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1517
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1518
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1519 Source organization and build process
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1520 -------------------------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1521
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1522 * The sources have finally been split: instead of a single src
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1523 subdirectory there are now separate directories Include, Parser,
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1524 Grammar, Objects, Python and Modules. Other directories also start
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1525 with a capital letter: Misc, Doc, Lib, Demo.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1526
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1527 * A few extensions (notably Amoeba and X support) have been moved to a
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1528 separate subtree Extensions, which is no longer in the core
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1529 distribution, but separately ftp'able as extensions.tar.Z. (The
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1530 distribution contains a placeholder Ext-dummy with a description of
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1531 the Extensions subtree as well as the most recent versions of the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1532 scripts used there.)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1533
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1534 * A few large specialized demos (SGI video and www) have been
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1535 moved to a separate subdirectory Demo2, which is no longer in the core
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1536 distribution, but separately ftp'able as demo2.tar.Z.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1537
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1538 * Parts of the standard library have been moved to subdirectories:
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1539 there are now standard subdirectories stdwin, test, sgi and sun4.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1540
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1541 * The configuration process has radically changed: I now use GNU
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1542 autoconf. This makes it much easier to build on new Unix flavors, as
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1543 well as fully supporting VPATH (if your Make has it). The scripts
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1544 Configure.py and Addmodule.sh are no longer needed. Many source files
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1545 have been adapted in order to work with the symbols that the configure
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1546 script generated by autoconf defines (or not); the resulting source is
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1547 much more portable to different C compilers and operating systems,
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1548 even non Unix systems (a Mac port was done in an afternoon). See the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1549 toplevel README file for a description of the new build process.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1550
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1551 * GNU readline (a slightly newer version) is now a subdirectory of the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1552 Python toplevel. It is still not automatically configured (being
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1553 totally autoconf-unaware :-). One problem has been solved: typing
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1554 Control-C to a readline prompt will now work. The distribution no
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1555 longer contains a "super-level" directory (above the python toplevel
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1556 directory), and dl, dl-dld and GNU dld are no longer part of the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1557 Python distribution (you can still ftp them from
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1558 ftp.cwi.nl:/pub/dynload).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1559
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1560 * The DOS functions have been taken out of posixmodule.c and moved
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1561 into a separate file dosmodule.c.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1562
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1563 * There's now a separate file version.c which contains nothing but
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1564 the version number.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1565
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1566 * The actual main program is now contained in config.c (unless NO_MAIN
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1567 is defined); pythonmain.c now contains a function realmain() which is
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1568 called from config.c's main().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1569
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1570 * All files needed to use the built-in module md5 are now contained in
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1571 the distribution. The module has been cleaned up considerably.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1572
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1573
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1574 Documentation
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1575 -------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1576
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1577 * The library manual has been split into many more small latex files,
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1578 so it is easier to edit Doc/lib.tex file to create a custom library
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1579 manual, describing only those modules supported on your system. (This
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1580 is not automated though.)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1581
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1582 * A fourth manual has been added, titled "Extending and Embedding the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1583 Python Interpreter" (Doc/ext.tex), which collects information about
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1584 the interpreter which was previously spread over several files in the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1585 misc subdirectory.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1586
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1587 * The entire documentation is now also available on-line for those who
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1588 have a WWW browser (e.g. NCSA Mosaic). Point your browser to the URL
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1589 "http://www.cwi.nl/~guido/Python.html".
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1590
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1591
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1592 Syntax
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1593 ------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1594
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1595 * Strings may now be enclosed in double quotes as well as in single
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1596 quotes. There is no difference in interpretation. The repr() of
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1597 string objects will use double quotes if the string contains a single
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1598 quote and no double quotes. Thanks to Amrit Prem for these changes!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1599
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1600 * There is a new keyword 'exec'. This replaces the exec() built-in
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1601 function. If a function contains an exec statement, local variable
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1602 optimization is not performed for that particular function, thus
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1603 making assignment to local variables in exec statements less
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1604 confusing. (As a consequence, os.exec and python.exec have been
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1605 renamed to execv.)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1606
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1607 * There is a new keyword 'lambda'. An expression of the form
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1608
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1609 lambda <parameters> : <expression>
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1610
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1611 yields an anonymous function. This is really only syntactic sugar;
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1612 you can just as well define a local function using
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1613
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1614 def some_temporary_name(<parameters>): return <expression>
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1615
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1616 Lambda expressions are particularly useful in combination with map(),
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1617 filter() and reduce(), described below. Thanks to Amrit Prem for
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1618 submitting this code (as well as map(), filter(), reduce() and
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1619 xrange())!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1620
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1621
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1622 Built-in functions
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1623 ------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1624
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1625 * The built-in module containing the built-in functions is called
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1626 __builtin__ instead of builtin.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1627
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1628 * New built-in functions map(), filter() and reduce() perform standard
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1629 functional programming operations (though not lazily):
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1630
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1631 - map(f, seq) returns a new sequence whose items are the items from
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1632 seq with f() applied to them.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1633
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1634 - filter(f, seq) returns a subsequence of seq consisting of those
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1635 items for which f() is true.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1636
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1637 - reduce(f, seq, initial) returns a value computed as follows:
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1638 acc = initial
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1639 for item in seq: acc = f(acc, item)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1640 return acc
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1641
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1642 * New function xrange() creates a "range object". Its arguments are
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1643 the same as those of range(), and when used in a for loop a range
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1644 objects also behaves identical. The advantage of xrange() over
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1645 range() is that its representation (if the range contains many
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1646 elements) is much more compact than that of range(). The disadvantage
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1647 is that the result cannot be used to initialize a list object or for
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1648 the "Python idiom" [RED, GREEN, BLUE] = range(3). On some modern
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1649 architectures, benchmarks have shown that "for i in range(...): ..."
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1650 actually executes *faster* than "for i in xrange(...): ...", but on
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1651 memory starved machines like PCs running DOS range(100000) may be just
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1652 too big to be represented at all...
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1653
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1654 * Built-in function exec() has been replaced by the exec statement --
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1655 see above.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1656
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1657
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1658 The interpreter
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1659 ---------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1660
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1661 * Syntax errors are now not printed to stderr by the parser, but
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1662 rather the offending line and other relevant information are packed up
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1663 in the SyntaxError exception argument. When the main loop catches a
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1664 SyntaxError exception it will print the error in the same format as
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1665 previously, but at the proper position in the stack traceback.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1666
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1667 * You can now set a maximum to the number of traceback entries
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1668 printed by assigning to sys.tracebacklimit. The default is 1000.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1669
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1670 * The version number in .pyc files has changed yet again.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1671
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1672 * It is now possible to have a .pyc file without a corresponding .py
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1673 file. (Warning: this may break existing installations if you have an
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1674 old .pyc file lingering around somewhere on your module search path
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1675 without a corresponding .py file, when there is a .py file for a
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1676 module of the same name further down the path -- the new interpreter
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1677 will find the first .pyc file and complain about it, while the old
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1678 interpreter would ignore it and use the .py file further down.)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1679
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1680 * The list sys.builtin_module_names is now sorted and also contains
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1681 the names of a few hardwired built-in modules (sys, __main__ and
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1682 __builtin__).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1683
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1684 * A module can now find its own name by accessing the global variable
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1685 __name__. Assigning to this variable essentially renames the module
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1686 (it should also be stored under a different key in sys.modules).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1687 A neat hack follows from this: a module that wants to execute a main
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1688 program when called as a script no longer needs to compare
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1689 sys.argv[0]; it can simply do "if __name__ == '__main__': main()".
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1690
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1691 * When an object is printed by the print statement, its implementation
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1692 of str() is used. This means that classes can define __str__(self) to
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1693 direct how their instances are printed. This is different from
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1694 __repr__(self), which should define an unambigous string
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1695 representation of the instance. (If __str__() is not defined, it
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1696 defaults to __repr__().)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1697
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1698 * Functions and code objects can now be compared meaningfully.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1699
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1700 * On systems supporting SunOS or SVR4 style shared libraries, dynamic
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1701 loading of modules using shared libraries is automatically configured.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1702 Thanks to Bill Jansen and Denis Severson for contributing this change!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1703
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1704
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1705 Built-in objects
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1706 ----------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1707
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1708 * File objects have acquired a new method writelines() which is the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1709 reverse of readlines(). (It does not actually write lines, just a
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1710 list of strings, but the symmetry makes the choice of name OK.)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1711
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1712
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1713 Built-in modules
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1714 ----------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1715
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1716 * Socket objects no longer support the avail() method. Use the select
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1717 module instead, or use this function to replace it:
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1718
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1719 def avail(f):
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1720 import select
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1721 return f in select.select([f], [], [], 0)[0]
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1722
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1723 * Initialization of stdwin is done differently. It actually modifies
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1724 sys.argv (taking out the options the X version of stdwin recognizes)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1725 the first time it is imported.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1726
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1727 * A new built-in module parser provides a rudimentary interface to the
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1728 python parser. Corresponding standard library modules token and symbol
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1729 defines the numeric values of tokens and non-terminal symbols.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1730
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1731 * The posix module has aquired new functions setuid(), setgid(),
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1732 execve(), and exec() has been renamed to execv().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1733
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1734 * The array module is extended with 8-byte object swaps, the 'i'
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1735 format character, and a reverse() method. The read() and write()
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1736 methods are renamed to fromfile() and tofile().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1737
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1738 * The rotor module has freed of portability bugs. This introduces a
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1739 backward compatibility problem: strings encoded with the old rotor
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1740 module can't be decoded by the new version.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1741
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1742 * For select.select(), a timeout (4th) argument of None means the same
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1743 as leaving the timeout argument out.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1744
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1745 * Module strop (and hence standard library module string) has aquired
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1746 a new function: rindex(). Thanks to Amrit Prem!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1747
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1748 * Module regex defines a new function symcomp() which uses an extended
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1749 regular expression syntax: parenthesized subexpressions may be labeled
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1750 using the form "\(<labelname>...\)", and the group() method can return
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1751 sub-expressions by name. Thanks to Tracy Tims for these changes!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1752
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1753 * Multiple threads are now supported on Solaris 2. Thanks to Sjoerd
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1754 Mullender!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1755
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1756
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1757 Standard library modules
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1758 ------------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1759
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1760 * The library is now split in several subdirectories: all stuff using
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1761 stdwin is in Lib/stdwin, all SGI specific (or SGI Indigo or GL) stuff
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1762 is in Lib/sgi, all Sun Sparc specific stuff is in Lib/sun4, and all
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1763 test modules are in Lib/test. The default module search path will
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1764 include all relevant subdirectories by default.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1765
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1766 * Module os now knows about trying to import dos. It defines
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1767 functions execl(), execle(), execlp() and execvp().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1768
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1769 * New module dospath (should be attacked by a DOS hacker though).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1770
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1771 * All modules defining classes now define __init__() constructors
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1772 instead of init() methods. THIS IS AN INCOMPATIBLE CHANGE!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1773
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1774 * Some minor changes and bugfixes module ftplib (mostly Steve
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1775 Majewski's suggestions); the debug() method is renamed to
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1776 set_debuglevel().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1777
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1778 * Some new test modules (not run automatically by testall though):
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1779 test_audioop, test_md5, test_rgbimg, test_select.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1780
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1781 * Module string now defines rindex() and rfind() in analogy of index()
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1782 and find(). It also defines atof() and atol() (and corresponding
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1783 exceptions) in analogy to atoi().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1784
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1785 * Added help() functions to modules profile and pdb.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1786
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1787 * The wdb debugger (now in Lib/stdwin) now shows class or instance
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1788 variables on a double click. Thanks to Sjoerd Mullender!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1789
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1790 * The (undocumented) module lambda has gone -- you couldn't import it
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1791 any more, and it was basically more a demo than a library module...
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1792
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1793
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1794 Multimedia extensions
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1795 ---------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1796
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1797 * The optional built-in modules audioop and imageop are now standard
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1798 parts of the interpreter. Thanks to Sjoerd Mullender and Jack Jansen
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1799 for contributing this code!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1800
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1801 * There's a new operation in audioop: minmax().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1802
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1803 * There's a new built-in module called rgbimg which supports portable
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1804 efficient reading of SGI RCG image files. Thanks also to Paul
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1805 Haeberli for the original code! (Who will contribute a GIF reader?)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1806
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1807 * The module aifc is gone -- you should now always use aifc, which has
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1808 received a facelift.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1809
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1810 * There's a new module sunau., for reading Sun (and NeXT) audio files.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1811
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1812 * There's a new module audiodev which provides a uniform interface to
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1813 (SGI Indigo and Sun Sparc) audio hardware.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1814
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1815 * There's a new module sndhdr which recognizes various sound files by
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1816 looking in their header and checking for various magic words.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1817
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1818
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1819 Optimizations
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1820 -------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1821
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1822 * Most optimizations below can be configured by compile-time flags.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1823 Thanks to Sjoerd Mullender for submitting these optimizations!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1824
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1825 * Small integers (default -1..99) are shared -- i.e. if two different
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1826 functions compute the same value it is possible (but not
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1827 guaranteed!!!) that they return the same *object*. Python programs
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1828 can detect this but should *never* rely on it.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1829
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1830 * Empty tuples (which all compare equal) are shared in the same
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1831 manner.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1832
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1833 * Tuples of size up to 20 (default) are put in separate free lists
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1834 when deallocated.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1835
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1836 * There is a compile-time option to cache a string's hash function,
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1837 but this appeared to have a negligeable effect, and as it costs 4
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1838 bytes per string it is disabled by default.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1839
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1840
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1841 Embedding Python
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1842 ----------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1843
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1844 * The initialization interface has been simplified somewhat. You now
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1845 only call "initall()" to initialize the interpreter.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1846
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1847 * The previously announced renaming of externally visible identifiers
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1848 has not been carried out. It will happen in a later release. Sorry.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1849
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1850
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1851 Miscellaneous bugs that have been fixed
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1852 ---------------------------------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1853
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1854 * All known portability bugs.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1855
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1856 * Version 0.9.9 dumped core in <listobject>.sort() which has been
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1857 fixed. Thanks to Jaap Vermeulen for fixing this and posting the fix
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1858 on the mailing list while I was away!
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1859
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1860 * Core dump on a format string ending in '%', e.g. in the expression
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1861 '%' % None.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1862
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1863 * The array module yielded a bogus result for concatenation (a+b would
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1864 yield a+a).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1865
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1866 * Some serious memory leaks in strop.split() and strop.splitfields().
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1867
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1868 * Several problems with the nis module.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1869
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1870 * Subtle problem when copying a class method from another class
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1871 through assignment (the method could not be called).
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1872
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1873
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1874 Remaining bugs
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1875 --------------
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1876
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1877 * One problem with 64-bit machines remains -- since .pyc files are
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1878 portable and use only 4 bytes to represent an integer object, 64-bit
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1879 integer literals are silently truncated when written into a .pyc file.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1880 Work-around: use eval('123456789101112').
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1881
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1882 * The freeze script doesn't work any more. A new and more portable
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1883 one can probably be cooked up using tricks from Extensions/mkext.py.
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1884
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1885 * The dos support hasn't been tested yet. (Really Soon Now we should
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1886 have a PC with a working C compiler!)
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1887
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
1888
1529
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1889 ===================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1890 ==> Release 0.9.9 (29 Jul 1993) <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1891 ===================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1892
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1893 I *believe* these are the main user-visible changes in this release,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1894 but there may be others. SGI users may scan the {src,lib}/ChangeLog
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1895 files for improvements of some SGI specific modules, e.g. aifc and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1896 cl. Developers of extension modules should also read src/ChangeLog.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1897
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1898
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1899 Naming of C symbols used by the Python interpreter
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1900 --------------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1901
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1902 * This is the last release using the current naming conventions. New
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1903 naming conventions are explained in the file misc/NAMING.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1904 Summarizing, all externally visible symbols get (at least) a "Py"
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1905 prefix, and most functions are renamed to the standard form
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1906 PyModule_FunctionName.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1907
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1908 * Writers of extensions are urged to start using the new naming
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1909 conventions. The next release will use the new naming conventions
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1910 throughout (it will also have a different source directory
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1911 structure).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1912
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1913 * As a result of the preliminary work for the great renaming, many
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1914 functions that were accidentally global have been made static.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1915
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1916
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1917 BETA X11 support
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1918 ----------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1919
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1920 * There are now modules interfacing to the X11 Toolkit Intrinsics, the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1921 Athena widgets, and the Motif 1.1 widget set. These are not yet
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1922 documented except through the examples and README file in the demo/x11
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1923 directory. It is expected that this interface will be replaced by a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1924 more powerful and correct one in the future, which may or may not be
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1925 backward compatible. In other words, this part of the code is at most
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1926 BETA level software! (Note: the rest of Python is rock solid as ever!)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1927
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1928 * I understand that the above may be a bit of a disappointment,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1929 however my current schedule does not allow me to change this situation
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1930 before putting the release out of the door. By releasing it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1931 undocumented and buggy, at least some of the (working!) demo programs,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1932 like itr (my Internet Talk Radio browser) become available to a larger
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1933 audience.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1934
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1935 * There are also modules interfacing to SGI's "Glx" widget (a GL
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1936 window wrapped in a widget) and to NCSA's "HTML" widget (which can
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1937 format HyperText Markup Language, the document format used by the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1938 World Wide Web).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1939
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1940 * I've experienced some problems when building the X11 support. In
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1941 particular, the Xm and Xaw widget sets don't go together, and it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1942 appears that using X11R5 is better than using X11R4. Also the threads
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1943 module and its link time options may spoil things. My own strategy is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1944 to build two Python binaries: one for use with X11 and one without
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1945 it, which can contain a richer set of built-in modules. Don't even
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1946 *think* of loading the X11 modules dynamically...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1947
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1948
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1949 Environmental changes
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1950 ---------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1951
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1952 * Compiled files (*.pyc files) created by this Python version are
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1953 incompatible with those created by the previous version. Both
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1954 versions detect this and silently create a correct version, but it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1955 means that it is not a good idea to use the same library directory for
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1956 an old and a new interpreter, since they will start to "fight" over
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1957 the *.pyc files...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1958
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1959 * When a stack trace is printed, the exception is printed last instead
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1960 of first. This means that if the beginning of the stack trace
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1961 scrolled out of your window you can still see what exception caused
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1962 it.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1963
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1964 * Sometimes interrupting a Python operation does not work because it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1965 hangs in a blocking system call. You can now kill the interpreter by
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1966 interrupting it three times. The second time you interrupt it, a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1967 message will be printed telling you that the third interrupt will kill
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1968 the interpreter. The "sys.exitfunc" feature still makes limited
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1969 clean-up possible in this case.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1970
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1971
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1972 Changes to the command line interface
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1973 -------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1974
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1975 * The python usage message is now much more informative.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1976
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1977 * New option -i enters interactive mode after executing a script --
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1978 useful for debugging.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1979
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1980 * New option -k raises an exception when an expression statement
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1981 yields a value other than None.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1982
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1983 * For each option there is now also a corresponding environment
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1984 variable.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1985
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1986
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1987 Using Python as an embedded language
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1988 ------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1989
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1990 * The distribution now contains (some) documentation on the use of
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1991 Python as an "embedded language" in other applications, as well as a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1992 simple example. See the file misc/EMBEDDING and the directory embed/.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1993
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1994
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1995 Speed improvements
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1996 ------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1997
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1998 * Function local variables are now generally stored in an array and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1999 accessed using an integer indexing operation, instead of through a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2000 dictionary lookup. (This compensates the somewhat slower dictionary
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2001 lookup caused by the generalization of the dictionary module.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2002
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2003
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2004 Changes to the syntax
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2005 ---------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2006
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2007 * Continuation lines can now *sometimes* be written without a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2008 backslash: if the continuation is contained within nesting (), [] or
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2009 {} brackets the \ may be omitted. There's a much improved
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2010 python-mode.el in the misc directory which knows about this as well.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2011
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2012 * You can no longer use an empty set of parentheses to define a class
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2013 without base classes. That is, you no longer write this:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2014
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2015 class Foo(): # syntax error
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2016 ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2017
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2018 You must write this instead:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2019
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2020 class Foo:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2021 ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2022
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2023 This was already the preferred syntax in release 0.9.8 but many
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2024 people seemed not to have picked it up. There's a Python script that
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2025 fixes old code: demo/scripts/classfix.py.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2026
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2027 * There's a new reserved word: "access". The syntax and semantics are
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2028 still subject of of research and debate (as well as undocumented), but
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2029 the parser knows about the keyword so you must not use it as a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2030 variable, function, or attribute name.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2031
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2032
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2033 Changes to the semantics of the language proper
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2034 -----------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2035
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2036 * The following compatibility hack is removed: if a function was
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2037 defined with two or more arguments, and called with a single argument
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2038 that was a tuple with just as many arguments, the items of this tuple
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2039 would be used as the arguments. This is no longer supported.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2040
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2041
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2042 Changes to the semantics of classes and instances
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2043 -------------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2044
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2045 * Class variables are now also accessible as instance variables for
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2046 reading (assignment creates an instance variable which overrides the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2047 class variable of the same name though).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2048
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2049 * If a class attribute is a user-defined function, a new kind of
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2050 object is returned: an "unbound method". This contains a pointer to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2051 the class and can only be called with a first argument which is a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2052 member of that class (or a derived class).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2053
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2054 * If a class defines a method __init__(self, arg1, ...) then this
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2055 method is called when a class instance is created by the classname()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2056 construct. Arguments passed to classname() are passed to the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2057 __init__() method. The __init__() methods of base classes are not
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2058 automatically called; the derived __init__() method must call these if
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2059 necessary (this was done so the derived __init__() method can choose
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2060 the call order and arguments for the base __init__() methods).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2061
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2062 * If a class defines a method __del__(self) then this method is called
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2063 when an instance of the class is about to be destroyed. This makes it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2064 possible to implement clean-up of external resources attached to the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2065 instance. As with __init__(), the __del__() methods of base classes
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2066 are not automatically called. If __del__ manages to store a reference
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2067 to the object somewhere, its destruction is postponed; when the object
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2068 is again about to be destroyed its __del__() method will be called
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2069 again.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2070
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2071 * Classes may define a method __hash__(self) to allow their instances
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2072 to be used as dictionary keys. This must return a 32-bit integer.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2073
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2074
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2075 Minor improvements
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2076 ------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2077
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2078 * Function and class objects now know their name (the name given in
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2079 the 'def' or 'class' statement that created them).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2080
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2081 * Class instances now know their class name.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2082
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2083
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2084 Additions to built-in operations
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2085 --------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2086
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2087 * The % operator with a string left argument implements formatting
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2088 similar to sprintf() in C. The right argument is either a single
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2089 value or a tuple of values. All features of Standard C sprintf() are
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2090 supported except %p.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2091
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2092 * Dictionaries now support almost any key type, instead of just
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2093 strings. (The key type must be an immutable type or must be a class
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2094 instance where the class defines a method __hash__(), in order to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2095 avoid losing track of keys whose value may change.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2096
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2097 * Built-in methods are now compared properly: when comparing x.meth1
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2098 and y.meth2, if x is equal to y and the methods are defined by the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2099 same function, x.meth1 compares equal to y.meth2.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2100
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2101
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2102 Additions to built-in functions
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2103 -------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2104
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2105 * str(x) returns a string version of its argument. If the argument is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2106 a string it is returned unchanged, otherwise it returns `x`.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2107
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2108 * repr(x) returns the same as `x`. (Some users found it easier to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2109 have this as a function.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2110
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2111 * round(x) returns the floating point number x rounded to an whole
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2112 number, represented as a floating point number. round(x, n) returns x
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2113 rounded to n digits.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2114
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2115 * hasattr(x, name) returns true when x has an attribute with the given
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2116 name.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2117
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2118 * hash(x) returns a hash code (32-bit integer) of an arbitrary
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2119 immutable object's value.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2120
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2121 * id(x) returns a unique identifier (32-bit integer) of an arbitrary
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2122 object.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2123
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2124 * compile() compiles a string to a Python code object.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2125
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2126 * exec() and eval() now support execution of code objects.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2127
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2128
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2129 Changes to the documented part of the library (standard modules)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2130 ----------------------------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2131
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2132 * os.path.normpath() (a.k.a. posixpath.normpath()) has been fixed so
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2133 the border case '/foo/..' returns '/' instead of ''.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2134
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2135 * A new function string.find() is added with similar semantics to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2136 string.index(); however when it does not find the given substring it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2137 returns -1 instead of raising string.index_error.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2138
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2139
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2140 Changes to built-in modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2141 ---------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2142
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2143 * New optional module 'array' implements operations on sequences of
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2144 integers or floating point numbers of a particular size. This is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2145 useful to manipulate large numerical arrays or to read and write
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2146 binary files consisting of numerical data.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2147
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2148 * Regular expression objects created by module regex now support a new
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2149 method named group(), which returns one or more \(...\) groups by number.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2150 The number of groups is increased from 10 to 100.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2151
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2152 * Function compile() in module regex now supports an optional mapping
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2153 argument; a variable casefold is added to the module which can be used
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2154 as a standard uppercase to lowercase mapping.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2155
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2156 * Module time now supports many routines that are defined in the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2157 Standard C time interface (<time.h>): gmtime(), localtime(),
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2158 asctime(), ctime(), mktime(), as well as these variables (taken from
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2159 System V): timezone, altzone, daylight and tzname. (The corresponding
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2160 functions in the undocumented module calendar have been removed; the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2161 undocumented and unfinished module tzparse is now obsolete and will
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2162 disappear in a future release.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2163
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2164 * Module strop (the fast built-in version of standard module string)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2165 now uses C's definition of whitespace instead of fixing it to space,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2166 tab and newline; in practice this usually means that vertical tab,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2167 form feed and return are now also considered whitespace. It exports
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2168 the string of characters that are considered whitespace as well as the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2169 characters that are considered lowercase or uppercase.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2170
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2171 * Module sys now defines the variable builtin_module_names, a list of
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2172 names of modules built into the current interpreter (including not
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2173 yet imported, but excluding two special modules that always have to be
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2174 defined -- sys and builtin).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2175
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2176 * Objects created by module sunaudiodev now also support flush() and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2177 close() methods.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2178
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2179 * Socket objects created by module socket now support an optional
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2180 flags argument for their methods sendto() and recvfrom().
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2181
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2182 * Module marshal now supports dumping to and loading from strings,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2183 through the functions dumps() and loads().
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2184
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2185 * Module stdwin now supports some new functionality. You may have to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2186 ftp the latest version: ftp.cwi.nl:/pub/stdwin/stdwinforviews.tar.Z.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2187
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2188
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2189 Bugs fixed
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2190 ----------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2191
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2192 * Fixed comparison of negative long integers.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2193
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2194 * The tokenizer no longer botches input lines longer than BUFSIZ.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2195
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2196 * Fixed several severe memory leaks in module select.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2197
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2198 * Fixed memory leaks in modules socket and sv.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2199
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2200 * Fixed memory leak in divmod() for long integers.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2201
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2202 * Problems with definition of floatsleep() on Suns fixed.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2203
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2204 * Many portability bugs fixed (and undoubtedly new ones added :-).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2205
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2206
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2207 Changes to the build procedure
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2208 ------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2209
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2210 * The Makefile supports some new targets: "make default" and "make
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2211 all". Both are by normally equivalent to "make python".
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2212
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2213 * The Makefile no longer uses $> since it's not supported by all
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2214 versions of Make.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2215
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2216 * The header files now all contain #ifdef constructs designed to make
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2217 it safe to include the same header file twice, as well as support for
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2218 inclusion from C++ programs (automatic extern "C" { ... } added).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2219
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2220
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2221 Freezing Python scripts
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2222 -----------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2223
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2224 * There is now some support for "freezing" a Python script as a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2225 stand-alone executable binary file. See the script
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2226 demo/scripts/freeze.py. It will require some site-specific tailoring
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2227 of the script to get this working, but is quite worthwhile if you write
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2228 Python code for other who may not have built and installed Python.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2229
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2230
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2231 MS-DOS
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2232 ------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2233
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2234 * A new MS-DOS port has been done, using MSC 6.0 (I believe). Thanks,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2235 Marcel van der Peijl! This requires fewer compatibility hacks in
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2236 posixmodule.c. The executable is not yet available but will be soon
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2237 (check the mailing list).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2238
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2239 * The default PYTHONPATH has changed.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2240
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2241
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2242 Changes for developers of extension modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2243 -------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2244
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2245 * Read src/ChangeLog for full details.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2246
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2247
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2248 SGI specific changes
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2249 --------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2250
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2251 * Read src/ChangeLog for full details.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2252
1948
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
2253
1529
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2254 ==================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2255 ==> Release 0.9.8 (9 Jan 1993) <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2256 ==================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2257
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2258 I claim no completeness here, but I've tried my best to scan the log
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2259 files throughout my source tree for interesting bits of news. A more
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2260 complete account of the changes is to be found in the various
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2261 ChangeLog files. See also "News for release 0.9.7beta" below if you're
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2262 still using release 0.9.6, and the file HISTORY if you have an even
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2263 older release.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2264
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2265 --Guido
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2266
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2267
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2268 Changes to the language proper
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2269 ------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2270
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2271 There's only one big change: the conformance checking for function
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2272 argument lists (of user-defined functions only) is stricter. Earlier,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2273 you could get away with the following:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2274
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2275 (a) define a function of one argument and call it with any
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2276 number of arguments; if the actual argument count wasn't
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2277 one, the function would receive a tuple containing the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2278 arguments arguments (an empty tuple if there were none).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2279
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2280 (b) define a function of two arguments, and call it with more
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2281 than two arguments; if there were more than two arguments,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2282 the second argument would be passed as a tuple containing
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2283 the second and further actual arguments.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2284
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2285 (Note that an argument (formal or actual) that is a tuple is counted as
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2286 one; these rules don't apply inside such tuples, only at the top level
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2287 of the argument list.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2288
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2289 Case (a) was needed to accommodate variable-length argument lists;
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2290 there is now an explicit "varargs" feature (precede the last argument
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2291 with a '*'). Case (b) was needed for compatibility with old class
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2292 definitions: up to release 0.9.4 a method with more than one argument
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2293 had to be declared as "def meth(self, (arg1, arg2, ...)): ...".
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2294 Version 0.9.6 provide better ways to handle both casees, bot provided
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2295 backward compatibility; version 0.9.8 retracts the compatibility hacks
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2296 since they also cause confusing behavior if a function is called with
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2297 the wrong number of arguments.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2298
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2299 There's a script that helps converting classes that still rely on (b),
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2300 provided their methods' first argument is called "self":
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2301 demo/scripts/methfix.py.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2302
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2303 If this change breaks lots of code you have developed locally, try
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2304 #defining COMPAT_HACKS in ceval.c.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2305
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2306 (There's a third compatibility hack, which is the reverse of (a): if a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2307 function is defined with two or more arguments, and called with a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2308 single argument that is a tuple with just as many arguments, the items
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2309 of this tuple will be used as the arguments. Although this can (and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2310 should!) be done using the built-in function apply() instead, it isn't
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2311 withdrawn yet.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2312
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2313
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2314 One minor change: comparing instance methods works like expected, so
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2315 that if x is an instance of a user-defined class and has a method m,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2316 then (x.m==x.m) yields 1.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2317
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2318
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2319 The following was already present in 0.9.7beta, but not explicitly
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2320 mentioned in the NEWS file: user-defined classes can now define types
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2321 that behave in almost allrespects like numbers. See
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2322 demo/classes/Rat.py for a simple example.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2323
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2324
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2325 Changes to the build process
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2326 ----------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2327
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2328 The Configure.py script and the Makefile has been made somewhat more
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2329 bullet-proof, after reports of (minor) trouble on certain platforms.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2330
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2331 There is now a script to patch Makefile and config.c to add a new
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2332 optional built-in module: Addmodule.sh. Read the script before using!
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2333
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2334 Useing Addmodule.sh, all optional modules can now be configured at
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2335 compile time using Configure.py, so there are no modules left that
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2336 require dynamic loading.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2337
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2338 The Makefile has been fixed to make it easier to use with the VPATH
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2339 feature of some Make versions (e.g. SunOS).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2340
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2341
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2342 Changes affecting portability
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2343 -----------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2344
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2345 Several minor portability problems have been solved, e.g. "malloc.h"
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2346 has been renamed to "mymalloc.h", "strdup.c" is no longer used, and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2347 the system now tolerates malloc(0) returning 0.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2348
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2349 For dynamic loading on the SGI, Jack Jansen's dl 1.6 is now
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2350 distributed with Python. This solves several minor problems, in
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2351 particular scripts invoked using #! can now use dynamic loading.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2352
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2353
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2354 Changes to the interpreter interface
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2355 ------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2356
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2357 On popular demand, there's finally a "profile" feature for interactive
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2358 use of the interpreter. If the environment variable $PYTHONSTARTUP is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2359 set to the name of an existing file, Python statements in this file
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2360 are executed when the interpreter is started in interactive mode.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2361
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2362 There is a new clean-up mechanism, complementing try...finally: if you
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2363 assign a function object to sys.exitfunc, it will be called when
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2364 Python exits or receives a SIGTERM or SIGHUP signal.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2365
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2366 The interpreter is now generally assumed to live in
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2367 /usr/local/bin/python (as opposed to /usr/local/python). The script
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2368 demo/scripts/fixps.py will update old scripts in place (you can easily
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2369 modify it to do other similar changes).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2370
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2371 Most I/O that uses sys.stdin/stdout/stderr will now use any object
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2372 assigned to those names as long as the object supports readline() or
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2373 write() methods.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2374
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2375 The parser stack has been increased to 500 to accommodate more
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2376 complicated expressions (7 levels used to be the practical maximum,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2377 it's now about 38).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2378
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2379 The limit on the size of the *run-time* stack has completely been
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2380 removed -- this means that tuple or list displays can contain any
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2381 number of elements (formerly more than 50 would crash the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2382 interpreter).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2383
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2384
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2385 Changes to existing built-in functions and methods
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2386 --------------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2387
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2388 The built-in functions int(), long(), float(), oct() and hex() now
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2389 also apply to class instalces that define corresponding methods
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2390 (__int__ etc.).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2391
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2392
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2393 New built-in functions
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2394 ----------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2395
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2396 The new functions str() and repr() convert any object to a string.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2397 The function repr(x) is in all respects equivalent to `x` -- some
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2398 people prefer a function for this. The function str(x) does the same
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2399 except if x is already a string -- then it returns x unchanged
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2400 (repr(x) adds quotes and escapes "funny" characters as octal escapes).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2401
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2402 The new function cmp(x, y) returns -1 if x<y, 0 if x==y, 1 if x>y.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2403
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2404
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2405 Changes to general built-in modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2406 -----------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2407
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2408 The time module's functions are more general: time() returns a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2409 floating point number and sleep() accepts one. Their accuracies
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2410 depends on the precision of the system clock. Millisleep is no longer
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2411 needed (although it still exists for now), but millitimer is still
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2412 needed since on some systems wall clock time is only available with
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2413 seconds precision, while a source of more precise time exists that
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2414 isn't synchronized with the wall clock. (On UNIX systems that support
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2415 the BSD gettimeofday() function, time.time() is as time.millitimer().)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2416
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2417 The string representation of a file object now includes an address:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2418 '<file 'filename', mode 'r' at #######>' where ###### is a hex number
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2419 (the object's address) to make it unique.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2420
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2421 New functions added to posix: nice(), setpgrp(), and if your system
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2422 supports them: setsid(), setpgid(), tcgetpgrp(), tcsetpgrp().
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2423
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2424 Improvements to the socket module: socket objects have new methods
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2425 getpeername() and getsockname(), and the {get,set}sockopt methods can
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2426 now get/set any kind of option using strings built with the new struct
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2427 module. And there's a new function fromfd() which creates a socket
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2428 object given a file descriptor (useful for servers started by inetd,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2429 which have a socket connected to stdin and stdout).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2430
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2431
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2432 Changes to SGI-specific built-in modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2433 ----------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2434
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2435 The FORMS library interface (fl) now requires FORMS 2.1a. Some new
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2436 functions have been added and some bugs have been fixed.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2437
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2438 Additions to al (audio library interface): added getname(),
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2439 getdefault() and getminmax().
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2440
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2441 The gl modules doesn't call "foreground()" when initialized (this
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2442 caused some problems) like it dit in 0.9.7beta (but not before).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2443 There's a new gl function 'gversion() which returns a version string.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2444
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2445 The interface to sv (Indigo video interface) has totally changed.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2446 (Sorry, still no documentation, but see the examples in
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2447 demo/sgi/{sv,video}.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2448
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2449
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2450 Changes to standard library modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2451 -----------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2452
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2453 Most functions in module string are now much faster: they're actually
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2454 implemented in C. The module containing the C versions is called
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2455 "strop" but you should still import "string" since strop doesn't
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2456 provide all the interfaces defined in string (and strop may be renamed
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2457 to string when it is complete in a future release).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2458
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2459 string.index() now accepts an optional third argument giving an index
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2460 where to start searching in the first argument, so you can find second
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2461 and further occurrences (this is similar to the regular expression
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2462 functions in regex).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2463
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2464 The definition of what string.splitfields(anything, '') should return
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2465 is changed for the last time: it returns a singleton list containing
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2466 its whole first argument unchanged. This is compatible with
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2467 regsub.split() which also ignores empty delimiter matches.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2468
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2469 posixpath, macpath: added dirname() and normpath() (and basename() to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2470 macpath).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2471
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2472 The mainloop module (for use with stdwin) can now demultiplex input
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2473 from other sources, as long as they can be polled with select().
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2474
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2475
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2476 New built-in modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2477 --------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2478
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2479 Module struct defines functions to pack/unpack values to/from strings
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2480 representing binary values in native byte order.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2481
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2482 Module strop implements C versions of many functions from string (see
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2483 above).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2484
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2485 Optional module fcntl defines interfaces to fcntl() and ioctl() --
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2486 UNIX only. (Not yet properly documented -- see however src/fcntl.doc.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2487
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2488 Optional module mpz defines an interface to an altaernative long
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2489 integer implementation, the GNU MPZ library.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2490
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2491 Optional module md5 uses the GNU MPZ library to calculate MD5
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2492 signatures of strings.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2493
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2494 There are also optional new modules specific to SGI machines: imageop
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2495 defines some simple operations to images represented as strings; sv
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2496 interfaces to the Indigo video board; cl interfaces to the (yet
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2497 unreleased) compression library.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2498
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2499
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2500 New standard library modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2501 ----------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2502
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2503 (Unfortunately the following modules are not all documented; read the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2504 sources to find out more about them!)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2505
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2506 autotest: run testall without showing any output unless it differs
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2507 from the expected output
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2508
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2509 bisect: use bisection to insert or find an item in a sorted list
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2510
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2511 colorsys: defines conversions between various color systems (e.g. RGB
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2512 <-> YUV)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2513
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2514 nntplib: a client interface to NNTP servers
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2515
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2516 pipes: utility to construct pipeline from templates, e.g. for
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2517 conversion from one file format to another using several utilities.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2518
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2519 regsub: contains three functions that are more or less compatible with
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2520 awk functions of the same name: sub() and gsub() do string
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2521 substitution, split() splits a string using a regular expression to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2522 define how separators are define.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2523
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2524 test_types: test operations on the built-in types of Python
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2525
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2526 toaiff: convert various audio file formats to AIFF format
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2527
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2528 tzparse: parse the TZ environment parameter (this may be less general
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2529 than it could be, let me know if you fix it).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2530
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2531 (Note that the obsolete module "path" no longer exists.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2532
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2533
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2534 New SGI-specific library modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2535 --------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2536
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2537 CL: constants for use with the built-in compression library interface (cl)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2538
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2539 Queue: a multi-producer, multi-consumer queue class implemented for
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2540 use with the built-in thread module
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2541
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2542 SOCKET: constants for use with built-in module socket, e.g. to set/get
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2543 socket options. This is SGI-specific because the constants to be
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2544 passed are system-dependent. You can generate a version for your own
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2545 system by running the script demo/scripts/h2py.py with
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2546 /usr/include/sys/socket.h as input.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2547
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2548 cddb: interface to the database used the the CD player
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2549
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2550 torgb: convert various image file types to rgb format (requires pbmplus)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2551
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2552
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2553 New demos
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2554 ---------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2555
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2556 There's an experimental interface to define Sun RPC clients and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2557 servers in demo/rpc.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2558
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2559 There's a collection of interfaces to WWW, WAIS and Gopher (both
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2560 Python classes and program providing a user interface) in demo/www.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2561 This includes a program texi2html.py which converts texinfo files to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2562 HTML files (the format used hy WWW).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2563
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2564 The ibrowse demo has moved from demo/stdwin/ibrowse to demo/ibrowse.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2565
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2566 For SGI systems, there's a whole collection of programs and classes
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2567 that make use of the Indigo video board in demo/sgi/{sv,video}. This
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2568 represents a significant amount of work that we're giving away!
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2569
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2570 There are demos "rsa" and "md5test" that exercise the mpz and md5
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2571 modules, respectively. The rsa demo is a complete implementation of
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2572 the RSA public-key cryptosystem!
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2573
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2574 A bunch of games and examples submitted by Stoffel Erasmus have been
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2575 included in demo/stoffel.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2576
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2577 There are miscellaneous new files in some existing demo
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2578 subdirectories: classes/bitvec.py, scripts/{fixps,methfix}.py,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2579 sgi/al/cmpaf.py, sockets/{mcast,gopher}.py.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2580
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2581 There are also many minor changes to existing files, but I'm too lazy
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2582 to run a diff and note the differences -- you can do this yourself if
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2583 you save the old distribution's demos. One highlight: the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2584 stdwin/python.py demo is much improved!
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2585
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2586
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2587 Changes to the documentation
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2588 ----------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2589
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2590 The LaTeX source for the library uses different macros to enable it to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2591 be converted to texinfo, and from there to INFO or HTML format so it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2592 can be browsed as a hypertext. The net result is that you can now
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2593 read the Python library documentation in Emacs info mode!
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2594
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2595
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2596 Changes to the source code that affect C extension writers
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2597 ----------------------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2598
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2599 The function strdup() no longer exists (it was used only in one places
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2600 and is somewhat of a a portability problem sice some systems have the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2601 same function in their C library.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2602
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2603 The functions NEW() and RENEW() allocate one spare byte to guard
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2604 against a NULL return from malloc(0) being taken for an error, but
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2605 this should not be relied upon.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2606
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2607
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2608 =========================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2609 ==> Release 0.9.7beta <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2610 =========================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2611
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2612
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2613 Changes to the language proper
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2614 ------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2615
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2616 User-defined classes can now implement operations invoked through
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2617 special syntax, such as x[i] or `x` by defining methods named
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2618 __getitem__(self, i) or __repr__(self), etc.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2619
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2620
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2621 Changes to the build process
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2622 ----------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2623
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2624 Instead of extensive manual editing of the Makefile to select
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2625 compile-time options, you can now run a Configure.py script.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2626 The Makefile as distributed builds a minimal interpreter sufficient to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2627 run Configure.py. See also misc/BUILD
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2628
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2629 The Makefile now includes more "utility" targets, e.g. install and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2630 tags/TAGS
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2631
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2632 Using the provided strtod.c and strtol.c are now separate options, as
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2633 on the Sun the provided strtod.c dumps core :-(
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2634
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2635 The regex module is now an option chosen by the Makefile, since some
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2636 (old) C compilers choke on regexpr.c
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2637
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2638
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2639 Changes affecting portability
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2640 -----------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2641
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2642 You need STDWIN version 0.9.7 (released 30 June 1992) for the stdwin
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2643 interface
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2644
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2645 Dynamic loading is now supported for Sun (and other non-COFF systems)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2646 throug dld-3.2.3, as well as for SGI (a new version of Jack Jansen's
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2647 DL is out, 1.4)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2648
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2649 The system-dependent code for the use of the select() system call is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2650 moved to one file: myselect.h
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2651
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2652 Thanks to Jaap Vermeulen, the code should now port cleanly to the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2653 SEQUENT
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2654
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2655
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2656 Changes to the interpreter interface
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2657 ------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2658
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2659 The interpretation of $PYTHONPATH in the environment is different: it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2660 is inserted in front of the default path instead of overriding it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2661
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2662
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2663 Changes to existing built-in functions and methods
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2664 --------------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2665
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2666 List objects now support an optional argument to their sort() method,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2667 which is a comparison function similar to qsort(3) in C
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2668
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2669 File objects now have a method fileno(), used by the new select module
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2670 (see below)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2671
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2672
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2673 New built-in function
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2674 ---------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2675
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2676 coerce(x, y): take two numbers and return a tuple containing them
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2677 both converted to a common type
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2678
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2679
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2680 Changes to built-in modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2681 ---------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2682
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2683 sys: fixed core dumps in settrace() and setprofile()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2684
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2685 socket: added socket methods setsockopt() and getsockopt(); and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2686 fileno(), used by the new select module (see below)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2687
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2688 stdwin: added fileno() == connectionnumber(), in support of new module
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2689 select (see below)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2690
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2691 posix: added get{eg,eu,g,u}id(); waitpid() is now a separate function.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2692
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2693 gl: added qgetfd()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2694
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2695 fl: added several new functions, fixed several obscure bugs, adapted
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2696 to FORMS 2.1
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2697
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2698
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2699 Changes to standard modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2700 ---------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2701
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2702 posixpath: changed implementation of ismount()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2703
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2704 string: atoi() no longer mistakes leading zero for octal number
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2705
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2706 ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2707
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2708
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2709 New built-in modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2710 --------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2711
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2712 Modules marked "dynamic only" are not configured at compile time but
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2713 can be loaded dynamically. You need to turn on the DL or DLD option in
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2714 the Makefile for support dynamic loading of modules (this requires
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2715 external code).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2716
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2717 select: interfaces to the BSD select() system call
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2718
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2719 dbm: interfaces to the (new) dbm library (dynamic only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2720
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2721 nis: interfaces to some NIS functions (aka yellow pages)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2722
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2723 thread: limited form of multiple threads (sgi only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2724
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2725 audioop: operations useful for audio programs, e.g. u-LAW and ADPCM
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2726 coding (dynamic only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2727
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2728 cd: interface to Indigo SCSI CDROM player audio library (sgi only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2729
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2730 jpeg: read files in JPEG format (dynamic only, sgi only; needs
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2731 external code)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2732
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2733 imgfile: read SGI image files (dynamic only, sgi only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2734
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2735 sunaudiodev: interface to sun's /dev/audio (dynamic only, sun only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2736
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2737 sv: interface to Indigo video library (sgi only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2738
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2739 pc: a minimal set of MS-DOS interfaces (MS-DOS only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2740
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2741 rotor: encryption, by Lance Ellinghouse (dynamic only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2742
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2743
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2744 New standard modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2745 --------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2746
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2747 Not all these modules are documented. Read the source:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2748 lib/<modulename>.py. Sometimes a file lib/<modulename>.doc contains
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2749 additional documentation.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2750
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2751 imghdr: recognizes image file headers
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2752
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2753 sndhdr: recognizes sound file headers
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2754
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2755 profile: print run-time statistics of Python code
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2756
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2757 readcd, cdplayer: companion modules for built-in module cd (sgi only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2758
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2759 emacs: interface to Emacs using py-connect.el (see below).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2760
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2761 SOCKET: symbolic constant definitions for socket options
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2762
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2763 SUNAUDIODEV: symbolic constant definitions for sunaudiodef (sun only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2764
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2765 SV: symbolic constat definitions for sv (sgi only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2766
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2767 CD: symbolic constat definitions for cd (sgi only)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2768
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2769
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2770 New demos
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2771 ---------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2772
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2773 scripts/pp.py: execute Python as a filter with a Perl-like command
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2774 line interface
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2775
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2776 classes/: examples using the new class features
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2777
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2778 threads/: examples using the new thread module
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2779
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2780 sgi/cd/: examples using the new cd module
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2781
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2782
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2783 Changes to the documentation
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2784 ----------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2785
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2786 The last-minute syntax changes of release 0.9.6 are now reflected
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2787 everywhere in the manuals
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2788
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2789 The reference manual has a new section (3.2) on implementing new kinds
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2790 of numbers, sequences or mappings with user classes
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2791
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2792 Classes are now treated extensively in the tutorial (chapter 9)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2793
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2794 Slightly restructured the system-dependent chapters of the library
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2795 manual
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2796
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2797 The file misc/EXTENDING incorporates documentation for mkvalue() and
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2798 a new section on error handling
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2799
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2800 The files misc/CLASSES and misc/ERRORS are no longer necessary
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2801
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2802 The doc/Makefile now creates PostScript files automatically
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2803
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2804
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2805 Miscellaneous changes
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2806 ---------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2807
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2808 Incorporated Tim Peters' changes to python-mode.el, it's now version
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2809 1.06
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2810
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2811 A python/Emacs bridge (provided by Terrence M. Brannon) lets a Python
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2812 program running in an Emacs buffer execute Emacs lisp code. The
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2813 necessary Python code is in lib/emacs.py. The Emacs code is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2814 misc/py-connect.el (it needs some external Emacs lisp code)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2815
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2816
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2817 Changes to the source code that affect C extension writers
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2818 ----------------------------------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2819
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2820 New service function mkvalue() to construct a Python object from C
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2821 values according to a "format" string a la getargs()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2822
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2823 Most functions from pythonmain.c moved to new pythonrun.c which is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2824 in libpython.a. This should make embedded versions of Python easier
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2825
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2826 ceval.h is split in eval.h (which needs compile.h and only declares
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2827 eval_code) and ceval.h (which doesn't need compile.hand declares the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2828 rest)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2829
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2830 ceval.h defines macros BGN_SAVE / END_SAVE for use with threads (to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2831 improve the parallellism of multi-threaded programs by letting other
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2832 Python code run when a blocking system call or something similar is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2833 made)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2834
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2835 In structmember.[ch], new member types BYTE, CHAR and unsigned
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2836 variants have been added
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2837
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2838 New file xxmodule.c is a template for new extension modules.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2839
1948
9bcac8da0262 Moved older news to HISTORY file
Guido van Rossum <guido@python.org>
parents: 1529
diff changeset
2840
1529
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2841 ==================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2842 ==> RELEASE 0.9.6 (6 Apr 1992) <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2843 ==================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2844
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2845 Misc news in 0.9.6:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2846 - Restructured the misc subdirectory
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2847 - Reference manual completed, library manual much extended (with indexes!)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2848 - the GNU Readline library is now distributed standard with Python
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2849 - the script "../demo/scripts/classfix.py" fixes Python modules using old
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2850 class syntax
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2851 - Emacs python-mode.el (was python.el) vastly improved (thanks, Tim!)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2852 - Because of the GNU copyleft business I am not using the GNU regular
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2853 expression implementation but a free re-implementation by Tatu Ylonen
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2854 that recently appeared in comp.sources.misc (Bravo, Tatu!)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2855
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2856 New features in 0.9.6:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2857 - stricter try stmt syntax: cannot mix except and finally clauses on 1 try
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2858 - New module 'os' supplants modules 'mac' and 'posix' for most cases;
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2859 module 'path' is replaced by 'os.path'
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2860 - os.path.split() return value differs from that of old path.split()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2861 - sys.exc_type, sys.exc_value, sys.exc_traceback are set to the exception
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2862 currently being handled
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2863 - sys.last_type, sys.last_value, sys.last_traceback remember last unhandled
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2864 exception
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2865 - New function string.expandtabs() expands tabs in a string
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2866 - Added times() interface to posix (user & sys time of process & children)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2867 - Added uname() interface to posix (returns OS type, hostname, etc.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2868 - New built-in function execfile() is like exec() but from a file
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2869 - Functions exec() and eval() are less picky about whitespace/newlines
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2870 - New built-in functions getattr() and setattr() access arbitrary attributes
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2871 - More generic argument handling in built-in functions (see "./EXTENDING")
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2872 - Dynamic loading of modules written in C or C++ (see "./DYNLOAD")
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2873 - Division and modulo for long and plain integers with negative operands
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2874 have changed; a/b is now floor(float(a)/float(b)) and a%b is defined
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2875 as a-(a/b)*b. So now the outcome of divmod(a,b) is the same as
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2876 (a/b, a%b) for integers. For floats, % is also changed, but of course
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2877 / is unchanged, and divmod(x,y) does not yield (x/y, x%y)...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2878 - A function with explicit variable-length argument list can be declared
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2879 like this: def f(*args): ...; or even like this: def f(a, b, *rest): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2880 - Code tracing and profiling features have been added, and two source
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2881 code debuggers are provided in the library (pdb.py, tty-oriented,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2882 and wdb, window-oriented); you can now step through Python programs!
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2883 See sys.settrace() and sys.setprofile(), and "../lib/pdb.doc"
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2884 - '==' is now the only equality operator; "../demo/scripts/eqfix.py" is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2885 a script that fixes old Python modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2886 - Plain integer right shift now uses sign extension
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2887 - Long integer shift/mask operations now simulate 2's complement
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2888 to give more useful results for negative operands
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2889 - Changed/added range checks for long/plain integer shifts
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2890 - Options found after "-c command" are now passed to the command in sys.argv
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2891 (note subtle incompatiblity with "python -c command -- -options"!)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2892 - Module stdwin is better protected against touching objects after they've
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2893 been closed; menus can now also be closed explicitly
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2894 - Stdwin now uses its own exception (stdwin.error)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2895
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2896 New features in 0.9.5 (released as Macintosh application only, 2 Jan 1992):
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2897 - dictionary objects can now be compared properly; e.g., {}=={} is true
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2898 - new exception SystemExit causes termination if not caught;
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2899 it is raised by sys.exit() so that 'finally' clauses can clean up,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2900 and it may even be caught. It does work interactively!
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2901 - new module "regex" implements GNU Emacs style regular expressions;
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2902 module "regexp" is rewritten in Python for backward compatibility
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2903 - formal parameter lists may contain trailing commas
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2904
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2905 Bugs fixed in 0.9.6:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2906 - assigning to or deleting a list item with a negative index dumped core
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2907 - divmod(-10L,5L) returned (-3L, 5L) instead of (-2L, 0L)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2908
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2909 Bugs fixed in 0.9.5:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2910 - masking operations involving negative long integers gave wrong results
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2911
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2912
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2913 ===================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2914 ==> RELEASE 0.9.4 (24 Dec 1991) <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2915 ===================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2916
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2917 - new function argument handling (see below)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2918 - built-in apply(func, args) means func(args[0], args[1], ...)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2919 - new, more refined exceptions
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2920 - new exception string values (NameError = 'NameError' etc.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2921 - better checking for math exceptions
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2922 - for sequences (string/tuple/list), x[-i] is now equivalent to x[len(x)-i]
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2923 - fixed list assignment bug: "a[1:1] = a" now works correctly
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2924 - new class syntax, without extraneous parentheses
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2925 - new 'global' statement to assign global variables from within a function
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2926
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2927
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2928 New class syntax
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2929 ----------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2930
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2931 You can now declare a base class as follows:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2932
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2933 class B: # Was: class B():
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2934 def some_method(self): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2935 ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2936
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2937 and a derived class thusly:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2938
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2939 class D(B): # Was: class D() = B():
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2940 def another_method(self, arg): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2941
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2942 Multiple inheritance looks like this:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2943
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2944 class M(B, D): # Was: class M() = B(), D():
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2945 def this_or_that_method(self, arg): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2946
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2947 The old syntax is still accepted by Python 0.9.4, but will disappear
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2948 in Python 1.0 (to be posted to comp.sources).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2949
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2950
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2951 New 'global' statement
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2952 ----------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2953
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2954 Every now and then you have a global variable in a module that you
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2955 want to change from within a function in that module -- say, a count
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2956 of calls to a function, or an option flag, etc. Until now this was
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2957 not directly possible. While several kludges are known that
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2958 circumvent the problem, and often the need for a global variable can
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2959 be avoided by rewriting the module as a class, this does not always
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2960 lead to clearer code.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2961
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2962 The 'global' statement solves this dilemma. Its occurrence in a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2963 function body means that, for the duration of that function, the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2964 names listed there refer to global variables. For instance:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2965
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2966 total = 0.0
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2967 count = 0
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2968
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2969 def add_to_total(amount):
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2970 global total, count
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2971 total = total + amount
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2972 count = count + 1
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2973
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2974 'global' must be repeated in each function where it is needed. The
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2975 names listed in a 'global' statement must not be used in the function
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2976 before the statement is reached.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2977
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2978 Remember that you don't need to use 'global' if you only want to *use*
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2979 a global variable in a function; nor do you need ot for assignments to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2980 parts of global variables (e.g., list or dictionary items or
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2981 attributes of class instances). This has not changed; in fact
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2982 assignment to part of a global variable was the standard workaround.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2983
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2984
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2985 New exceptions
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2986 --------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2987
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2988 Several new exceptions have been defined, to distinguish more clearly
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2989 between different types of errors.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2990
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2991 name meaning was
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2992
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2993 AttributeError reference to non-existing attribute NameError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2994 IOError unexpected I/O error RuntimeError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2995 ImportError import of non-existing module or name NameError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2996 IndexError invalid string, tuple or list index RuntimeError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2997 KeyError key not in dictionary RuntimeError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2998 OverflowError numeric overflow RuntimeError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2999 SyntaxError invalid syntax RuntimeError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3000 ValueError invalid argument value RuntimeError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3001 ZeroDivisionError division by zero RuntimeError
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3002
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3003 The string value of each exception is now its name -- this makes it
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3004 easier to experimentally find out which operations raise which
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3005 exceptions; e.g.:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3006
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3007 >>> KeyboardInterrupt
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3008 'KeyboardInterrupt'
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3009 >>>
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3010
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3011
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3012 New argument passing semantics
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3013 ------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3014
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3015 Off-line discussions with Steve Majewski and Daniel LaLiberte have
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3016 convinced me that Python's parameter mechanism could be changed in a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3017 way that made both of them happy (I hope), kept me happy, fixed a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3018 number of outstanding problems, and, given some backward compatibility
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3019 provisions, would only break a very small amount of existing code --
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3020 probably all mine anyway. In fact I suspect that most Python users
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3021 will hardly notice the difference. And yet it has cost me at least
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3022 one sleepless night to decide to make the change...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3023
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3024 Philosophically, the change is quite radical (to me, anyway): a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3025 function is no longer called with either zero or one argument, which
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3026 is a tuple if there appear to be more arguments. Every function now
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3027 has an argument list containing 0, 1 or more arguments. This list is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3028 always implemented as a tuple, and it is a (run-time) error if a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3029 function is called with a different number of arguments than expected.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3030
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3031 What's the difference? you may ask. The answer is, very little unless
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3032 you want to write variadic functions -- functions that may be called
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3033 with a variable number of arguments. Formerly, you could write a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3034 function that accepted one or more arguments with little trouble, but
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3035 writing a function that could be called with either 0 or 1 argument
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3036 (or more) was next to impossible. This is now a piece of cake: you
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3037 can simply declare an argument that receives the entire argument
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3038 tuple, and check its length -- it will be of size 0 if there are no
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3039 arguments.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3040
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3041 Another anomaly of the old system was the way multi-argument methods
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3042 (in classes) had to be declared, e.g.:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3043
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3044 class Point():
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3045 def init(self, (x, y, color)): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3046 def setcolor(self, color): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3047 dev moveto(self, (x, y)): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3048 def draw(self): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3049
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3050 Using the new scheme there is no need to enclose the method arguments
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3051 in an extra set of parentheses, so the above class could become:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3052
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3053 class Point:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3054 def init(self, x, y, color): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3055 def setcolor(self, color): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3056 dev moveto(self, x, y): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3057 def draw(self): ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3058
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3059 That is, the equivalence rule between methods and functions has
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3060 changed so that now p.moveto(x,y) is equivalent to Point.moveto(p,x,y)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3061 while formerly it was equivalent to Point.moveto(p,(x,y)).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3062
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3063 A special backward compatibility rule makes that the old version also
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3064 still works: whenever a function with exactly two arguments (at the top
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3065 level) is called with more than two arguments, the second and further
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3066 arguments are packed into a tuple and passed as the second argument.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3067 This rule is invoked independently of whether the function is actually a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3068 method, so there is a slight chance that some erroneous calls of
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3069 functions expecting two arguments with more than that number of
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3070 arguments go undetected at first -- when the function tries to use the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3071 second argument it may find it is a tuple instead of what was expected.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3072 Note that this rule will be removed from future versions of the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3073 language; it is a backward compatibility provision *only*.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3074
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3075 Two other rules and a new built-in function handle conversion between
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3076 tuples and argument lists:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3077
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3078 Rule (a): when a function with more than one argument is called with a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3079 single argument that is a tuple of the right size, the tuple's items
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3080 are used as arguments.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3081
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3082 Rule (b): when a function with exactly one argument receives no
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3083 arguments or more than one, that one argument will receive a tuple
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3084 containing the arguments (the tuple will be empty if there were no
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3085 arguments).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3086
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3087
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3088 A new built-in function, apply(), was added to support functions that
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3089 need to call other functions with a constructed argument list. The call
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3090
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3091 apply(function, tuple)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3092
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3093 is equivalent to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3094
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3095 function(tuple[0], tuple[1], ..., tuple[len(tuple)-1])
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3096
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3097
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3098 While no new argument syntax was added in this phase, it would now be
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3099 quite sensible to add explicit syntax to Python for default argument
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3100 values (as in C++ or Modula-3), or a "rest" argument to receive the
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3101 remaining arguments of a variable-length argument list.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3102
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3103
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3104 ========================================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3105 ==> Release 0.9.3 (never made available outside CWI) <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3106 ========================================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3107
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3108 - string sys.version shows current version (also printed on interactive entry)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3109 - more detailed exceptions, e.g., IOError, ZeroDivisionError, etc.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3110 - 'global' statement to declare module-global variables assigned in functions.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3111 - new class declaration syntax: class C(Base1, Base2, ...): suite
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3112 (the old syntax is still accepted -- be sure to convert your classes now!)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3113 - C shifting and masking operators: << >> ~ & ^ | (for ints and longs).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3114 - C comparison operators: == != (the old = and <> remain valid).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3115 - floating point numbers may now start with a period (e.g., .14).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3116 - definition of integer division tightened (always truncates towards zero).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3117 - new builtins hex(x), oct(x) return hex/octal string from (long) integer.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3118 - new list method l.count(x) returns the number of occurrences of x in l.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3119 - new SGI module: al (Indigo and 4D/35 audio library).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3120 - the FORMS interface (modules fl and FL) now uses FORMS 2.0
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3121 - module gl: added lrect{read,write}, rectzoom and pixmode;
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3122 added (non-GL) functions (un)packrect.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3123 - new socket method: s.allowbroadcast(flag).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3124 - many objects support __dict__, __methods__ or __members__.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3125 - dir() lists anything that has __dict__.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3126 - class attributes are no longer read-only.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3127 - classes support __bases__, instances support __class__ (and __dict__).
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3128 - divmod() now also works for floats.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3129 - fixed obscure bug in eval('1 ').
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3130
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3131
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3132 ===================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3133 ==> Release 0.9.2 (Autumn 1991) <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3134 ===================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3135
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3136 Highlights
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3137 ----------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3138
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3139 - tutorial now (almost) complete; library reference reorganized
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3140 - new syntax: continue statement; semicolons; dictionary constructors;
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3141 restrictions on blank lines in source files removed
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3142 - dramatically improved module load time through precompiled modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3143 - arbitrary precision integers: compute 2 to the power 1000 and more...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3144 - arithmetic operators now accept mixed type operands, e.g., 3.14/4
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3145 - more operations on list: remove, index, reverse; repetition
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3146 - improved/new file operations: readlines, seek, tell, flush, ...
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3147 - process management added to the posix module: fork/exec/wait/kill etc.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3148 - BSD socket operations (with example servers and clients!)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3149 - many new STDWIN features (color, fonts, polygons, ...)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3150 - new SGI modules: font manager and FORMS library interface
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3151
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3152
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3153 Extended list of changes in 0.9.2
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3154 ---------------------------------
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3155
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3156 Here is a summary of the most important user-visible changes in 0.9.2,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3157 in somewhat arbitrary order. Changes in later versions are listed in
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3158 the "highlights" section above.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3159
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3160
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3161 1. Changes to the interpreter proper
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3162
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3163 - Simple statements can now be separated by semicolons.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3164 If you write "if t: s1; s2", both s1 and s2 are executed
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3165 conditionally.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3166 - The 'continue' statement was added, with semantics as in C.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3167 - Dictionary displays are now allowed on input: {key: value, ...}.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3168 - Blank lines and lines bearing only a comment no longer need to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3169 be indented properly. (A completely empty line still ends a multi-
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3170 line statement interactively.)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3171 - Mixed arithmetic is supported, 1 compares equal to 1.0, etc.
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3172 - Option "-c command" to execute statements from the command line
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3173 - Compiled versions of modules are cached in ".pyc" files, giving a
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3174 dramatic improvement of start-up time
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3175 - Other, smaller speed improvements, e.g., extracting characters from
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3176 strings, looking up single-character keys, and looking up global
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3177 variables
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3178 - Interrupting a print operation raises KeyboardInterrupt instead of
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3179 only cancelling the print operation
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3180 - Fixed various portability problems (it now passes gcc with only
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3181 warnings -- more Standard C compatibility will be provided in later
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3182 versions)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3183 - Source is prepared for porting to MS-DOS
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3184 - Numeric constants are now checked for overflow (this requires
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3185 standard-conforming strtol() and strtod() functions; a correct
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3186 strtol() implementation is provided, but the strtod() provided
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3187 relies on atof() for everything, including error checking
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3188
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3189
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3190 2. Changes to the built-in types, functions and modules
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3191
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3192 - New module socket: interface to BSD socket primitives
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3193 - New modules pwd and grp: access the UNIX password and group databases
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3194 - (SGI only:) New module "fm" interfaces to the SGI IRIX Font Manager
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3195 - (SGI only:) New module "fl" interfaces to Mark Overmars' FORMS library
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3196 - New numeric type: long integer, for unlimited precision
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3197 - integer constants suffixed with 'L' or 'l' are long integers
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3198 - new built-in function long(x) converts int or float to long
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3199 - int() and float() now also convert from long integers
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3200 - New built-in function:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3201 - pow(x, y) returns x to the power y
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3202 - New operation and methods for lists:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3203 - l*n returns a new list consisting of n concatenated copies of l
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3204 - l.remove(x) removes the first occurrence of the value x from l
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3205 - l.index(x) returns the index of the first occurrence of x in l
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3206 - l.reverse() reverses l in place
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3207 - New operation for tuples:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3208 - t*n returns a tuple consisting of n concatenated copies of t
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3209 - Improved file handling:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3210 - f.readline() no longer restricts the line length, is faster,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3211 and isn't confused by null bytes; same for raw_input()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3212 - f.read() without arguments reads the entire (rest of the) file
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3213 - mixing of print and sys.stdout.write() has different effect
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3214 - New methods for files:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3215 - f.readlines() returns a list containing the lines of the file,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3216 as read with f.readline()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3217 - f.flush(), f.tell(), f.seek() call their stdio counterparts
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3218 - f.isatty() tests for "tty-ness"
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3219 - New posix functions:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3220 - _exit(), exec(), fork(), getpid(), getppid(), kill(), wait()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3221 - popen() returns a file object connected to a pipe
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3222 - utime() replaces utimes() (the latter is not a POSIX name)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3223 - New stdwin features, including:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3224 - font handling
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3225 - color drawing
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3226 - scroll bars made optional
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3227 - polygons
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3228 - filled and xor shapes
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3229 - text editing objects now have a 'settext' method
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3230
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3231
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3232 3. Changes to the standard library
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3233
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3234 - Name change: the functions path.cat and macpath.cat are now called
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3235 path.join and macpath.join
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3236 - Added new modules: formatter, mutex, persist, sched, mainloop
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3237 - Added some modules and functionality to the "widget set" (which is
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3238 still under development, so please bear with me):
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3239 DirList, FormSplit, TextEdit, WindowSched
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3240 - Fixed module testall to work non-interactively
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3241 - Module string:
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3242 - added functions join() and joinfields()
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3243 - fixed center() to work correct and make it "transitive"
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3244 - Obsolete modules were removed: util, minmax
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3245 - Some modules were moved to the demo directory
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3246
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3247
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3248 4. Changes to the demonstration programs
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3249
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3250 - Added new useful scipts: byteyears, eptags, fact, from, lfact,
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3251 objgraph, pdeps, pi, primes, ptags, which
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3252 - Added a bunch of socket demos
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3253 - Doubled the speed of ptags
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3254 - Added new stdwin demos: microedit, miniedit
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3255 - Added a windowing interface to the Python interpreter: python (most
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3256 useful on the Mac)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3257 - Added a browser for Emacs info files: demo/stdwin/ibrowse
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3258 (yes, I plan to put all STDWIN and Python documentation in texinfo
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3259 form in the future)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3260
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3261
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3262 5. Other changes to the distribution
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3263
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3264 - An Emacs Lisp file "python.el" is provided to facilitate editing
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3265 Python programs in GNU Emacs (slightly improved since posted to
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3266 gnu.emacs.sources)
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3267 - Some info on writing an extension in C is provided
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3268 - Some info on building Python on non-UNIX platforms is provided
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3269
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3270
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3271 =====================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3272 ==> Release 0.9.1 (February 1991) <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3273 =====================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3274
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3275 - Micro changes only
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3276 - Added file "patchlevel.h"
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3277
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3278
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3279 =====================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3280 ==> Release 0.9.0 (February 1991) <==
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3281 =====================================
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3282
c9b3f77e18ba Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3283 Original posting to alt.sources.