Commit c561e5dd authored by Guido van Rossum's avatar Guido van Rossum

The usual...

parent 794b93ea
Sorry, this list does not claim completeness. If I fixed a bug
immediately upon receiving the first complaint I usually did not
nother to make an ehtry in this file, unless it was a serious bug
nother to make an entry in this file, unless it was a serious bug
(core dump or infinite loop).
==> Status indicators: (-) not fixed; (?) fix proposed but not
confirmed; (*) fixed.
==> Status indicators: (-) not fixed; (*) fixed; (?) don't know what to do.
======================================================================
BUGS found in 1.0.3
-------------------
(-) unwanted entries in stack trace if err_clear() clears an error
that also set a stack trace
(-) i, x[i] = a, b assigns b to x[a] rather than to x[i] as expected
(if we don't fix this, it should be documented with a warning!)
(-) various memory leaks (see purify report from anthony.baxter@aaii.oz.au)
(*) etags no longer supports -t flag
BUGS found in 1.0.3 and not yet fixed
-------------------------------------
(-) compile.c:com_argdefs() references unalloc'ed memory for def
f(a=1,): ...
(-) print_error raises and then masks an error if softspace is not
defined
(-) Syntax errors are reported in a silly way if multi-line tokens are
involved.
......@@ -29,11 +18,30 @@ involved.
(-) SyntaxError exception for compile('...') are reported wrongly
(lineno is always zero and offset is offset into the whole string).
(-) If you have a python binary in your path like
(-) freeze script needs major rewrite to cope with multiple extensions
(Jack seems to have fixed it now -- where is it?)
(?) various memory leaks (see purify report from anthony.baxter@aaii.oz.au)
BUGS found in 1.0.3 and fixed in 1.1
------------------------------------
(*) unwanted entries in stack trace if err_clear() clears an error
that also set a stack trace
(*) i, x[i] = a, b assigns b to x[a] rather than to x[i] as expected
(documented with a warning in ref6.tex!)
(*) etags no longer supports -t flag
(*) compile.c:com_argdefs() references unalloc'ed memory for def
f(a=1,): ...
(*) If you have a python binary in your path like
/ufs/guido/bin/sgi/python then the default prefix option computed by
the configure script is bogus!
(-) Make rule for making lib*.a should remove the lib*.a file first.
(*) Make rule for making lib*.a should remove the lib*.a file first.
(*) vars() error message is wrong (copied from dir() obviously).
......@@ -41,20 +49,18 @@ the configure script is bogus!
(*) rfc822.py: getfirst* dies when multiple headers occur
(-) urllib caching is wrong (should use date from Expires header)
(*) urllib caching is wrong (should use date from Expires header)
(*) On a related matter: regexpr.c still has two malloc()s the results
of which are not tested for being NULL (lines 1253 and 1530). There
are also some in rgbimagemodule.c. Am I overlooking something or is
of which are not tested for being NULL (lines 1253 and 1530). There
are also some in rgbimagemodule.c. Am I overlooking something or is
this a crasher?
(*) strop.rindex('abc', '') returns 0 instead of 3
(*) sunaudiodevmodule.o is too long!
(-) need newer DOS binary (16 bit version doesn't do default args)
(-) toplevel README needs new text on PC and Mac builds
(*) toplevel README needs new text on PC and Mac builds
(*) long(0x80000000) has wrong value!
......@@ -62,18 +68,20 @@ this a crasher?
Bugs found in 1.0.2 and not yet fixed
-------------------------------------
(-) compiler warnings about argument type of uname() on ULTRIX
machines
(?) compiler warnings about argument type of uname() on ULTRIX
machines (don't know what to do about it)
(-) syntax error for interactive input prints garbage instead of last
source line on some systems (e.g. AIX)
(?) syntax error for interactive input prints garbage instead of last
source line on some systems (e.g. AIX) (impossible to test/reproduce)
!!! I think I've found this one -- a missing INCREF in print_error!
(?) (maybe) a bad .pyc file (with old magic number) causes the .py
file to be ignored
(-) Sunos4.0.2 / 386 configure bugs:
(?) Sunos4.0.2 / 386 configure bugs:
- timelocal instead of mktime
- unistd.h doesn't declare some functions
(don't know what to do about this)
Bugs found in 1.0.2 and fixed in 1.0.3
--------------------------------------
......@@ -107,18 +115,22 @@ end in linefeed
Bugs found in 1.0.1 and not yet fixed
-------------------------------------
(-) modsupport.c(vmkvalue): on systems where va_list is an array, the
(?) modsupport.c(vmkvalue): on systems where va_list is an array, the
calls to do_mkvalue and do_mktuple don't want an "&" before va.
(don't know what to do about this)
(?) threads are slow on Solaris 2
(so what?)
(?) threads cause myreadline.c's readline() to think it sees an EOF.
(*) threads cause myreadline.c's readline() to think it sees an EOF.
(I *think* I've fixed this, by testing for EINTR)
(-) min() on PC version generates wrong result (i.e. same as max())
(?) min() on PC version generates wrong result (i.e. same as max())
[this happens on SoftPC -- don't know about other systems]
(can't find the reason -- may be SoftPC bug)
(-) flp.py cache bug: if the cache only contains one form, asking for
all forms returns only the cashed form
(*) flp.py cache bug: if the cache only contains one form, asking for
all forms returns only the cached form
Bugs found in 1.0.1 and fixed in 1.0.2
--------------------------------------
......@@ -146,7 +158,7 @@ BUGS found in 1.0.0 and not yet fixed
(?) there appears to be something wrong with gcc and -ldl on some
SunOS 4.1.3 systems
(-) jredfords reports core dump with float literals
(?) jredfords reports core dump with float literals
BUGS found in 1.0.0 and fixed in 1.0.1
--------------------------------------
......
Wed Aug 17 00:06:59 1994 Guido van Rossum (guido@voorn.cwi.nl)
Tue Aug 23 00:52:32 1994 Guido van Rossum (guido@voorn.cwi.nl)
* Lib/os.py: do fake "import posix" for freeze.py script
* Modules/Setup.*: removed all except Setup.in (huh? I thought
I'd done that already?!); disable gdbm by default
* Parser/parsetok.c (parsetok): don't call strncpy(str, NULL, 0)
* Modules/makesetup: support C++ files now; these should be given
as file.C or file.cc or file.c++; C files can be given as file.c
(instead of file.o, which is still supported)
* configure.in, */Makefile*.in: OPT can now be specified in the
env at configure time and will then be put in all Makefiles as
default
* Modules/config.c.in: change mac specific things
* Python/import.c: add lost NT-specific code back in
* Parser/tokenizer.c: backup over illegal newline in string
literal (for "completeness" test)
* Include/node.h: make some fields short to save space during
parsing
* Modules/posixmodule.c: some more NT changes
* Doc/libtime.tex: get rid of references to millitime() and
millisleep(); document clock()
Mon Aug 22 10:53:59 1994 Guido van Rossum (guido@voorn.cwi.nl)
* Lib/linecache.py: don't crash on empty filename
* Lib/macpath.py: don't return trailing colon for dirname()
(XXX won't do for volume names -- but otherwise glob(':*:*.py')
loops forever)
* Lib/traceback.py: print SyntaxError correctly
* Lib/stat.py: moved to posixstat.py; added macstat.py which has
the constants for the Mac; and created new stat.py which includes
the right one
* Modules/signalmodule.c: added pause().
* Python/pythonrun.c (print_error): added INCREF/DECREF pair --
the exception returned by a syntax error (when reported) would
contain an object with refcnt zero!
Fri Aug 19 15:35:44 1994 Guido van Rossum (guido@voorn.cwi.nl)
* */Makefile*.in: remove lib*.a before adding to it
* Lib/urllib.py: fix caching bug (by disabling the cache)
* Lib/sgi/flp.py: fix caching bug (always write the whole file to
the cache!)
* Doc/ref6.tex (section{Assignment statements}): added warning
about overlaps in lhs of assignment (e.g. "i, x[i] = 1, 2")
* Python/errors.c (err_clear): clear interpreter stack trace
Wed Aug 17 16:10:07 1994 Guido van Rossum (guido@voorn.cwi.nl)
* Moved patchlevel.h from Python/ to Include/, moved all code from
version.c to config.c and removed version.c, and changed
Modules/Makefile(.pre.in) to add dependencies on $(MYLIBS) for
config.c (so the date in the version is always current). Also
changed the format of PATCHLEVEL: it is now a string containing
the complete version number, e.g. "1.1".
* Grammar/Grammar: Added #diagram:... comments for Kees Blom's
railroad diagram generator
* Doc/libstring.tex (section{Standard Module \sectcode{string}}):
removed references to {ato{f,i,l},index}_error
* Lib/string.py: find/rfind is now the main implementation and
index/rindex is a wrapper that raises index_error (which is now
always ValueError)
* Modules/stropmodule.c: implement find/rfind instead of
index/rindex (raising and catching an exception is much more
expensive than returning and testing -1)
* Lib/os.py: do fake "import posix" for freeze.py script
Tue Aug 16 23:58:30 1994 Guido van Rossum (guido@voorn.cwi.nl)
* Parser/parsetok.c (parsetok): don't call strncpy(str, NULL, 0)
* Doc/libfuncs.tex (section{Built-in Functions}): added docs for
delattr()
......
Python release 1.0.3
====================
==> This is patch number 3 to Python 1.0, bumping its version string
to 1.0.3. It consists almost entirely of essential bug fixes to
the C sources. See the file Misc/NEWS for a description of what's
new in this patch (as well as what's new in 1.0).
==> Python 1.0 is the first "official" Python release in more than
half a year. It's significantly improved over version 0.9.9, both
at the functionality level and (especially) in portability of the
source -- you should now be able to configure build this without
manual intervention on almost any type of Unix system. It is
known to work at least on IRIX 4 and 5, SunOS 4, Solaris 2, HP-UX,
Ultrix, OSF/1, AIX, SCO ODT 3.0, Minix, Linux, SEQUENT, and
through the use of automatic feature detection should work on most
other Unix flavors as well. Binaries are available for Macintosh
and PC platforms (for DOS, DOS w/ 32-bit extender, Windows, and
Windows NT).
Python release 1.1
==================
==> This is Python version 1.1.
==> Python 1.1 contains many improvements over 1.0.3, but is almost
backward compatible (though the magic number for .pyc file has
changed). It comes with build instructions for many more non-UNIX
platforms.
==> If you don't know yet what Python is: it's an interpreted,
extensible, embeddable, interactive, object-oriented programming
......@@ -76,7 +66,10 @@ copy to Setup for specific systems; have a look at Setup.*.)
If you want to change the optimization level of the build, assign to
the OPT variable on the toplevel make command; e.g. "make OPT=-g" will
build a debugging version of Python on most platforms.
build a debugging version of Python on most platforms. The default is
OPT=-O; a value for OPT in the environment when the configure script
is run overrides this default (likewise for CC; and the initial value
for LIBS is used as the base set of libraries to link with).
To test the interpreter that you have just built, type "make test".
This runs the test set silently, twice (once with no compiled files,
......@@ -162,6 +155,11 @@ library:
#define sigmask(sig) (1L << ((sig)-1))
#endif
- On most systems, you will have to add #include "rldefs.h" to the
top of several source files, and if you use the VPATH feature, you
will have to add dependencies of the form foo.o: foo.c to the
Makefile for several values of foo.
- The readline library requires use of the termcap library. A
known problem with this is that it contains entry points which
cause conflicts with the STDWIN and SGI GL libraries. The stdwin
......@@ -172,7 +170,8 @@ library:
hack that forces use of the static version of the termcap library.
- Check the newsgroup gnu.bash.bugs for specific problems with the
readline library.
readline library (I don't get this group here but I've been told
that it is the place for readline bugs.)
- On SGI IRIX, and on Sun SOLARIS 2, you can use multiple threads. To
enable this, pass --with-thread. In the Modules/Setup file, enable
......@@ -191,7 +190,8 @@ ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z. This is enabled (after
you've ftp'ed and compiled the dl library!) by passing
--with-sgi-dl=DIRECTORY where DIRECTORY is the absolute pathname of
the dl library. (Don't bother on IRIX 5, it already has dynamic
linking using SunOS style shared libraries.)
linking using SunOS style shared libraries.) Support for this feature
is deprecated.
- Dynamic loading of modules is rumoured to be supported on some other
systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent Symmetry (Dynix), and
......@@ -204,7 +204,7 @@ it the option --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where
DL_DIRECTORY is the absolute pathname of the dl emulation library and
DLD_DIRECTORY is the absolute pathname of the GNU dld library. (Don't
bother on SunOS 4 or 5, they already have dynamic linking using shared
libraries.)
libraries.) Support for this feature is deprecated.
- It is possible to specify alternative versions for the Math library
(default -lm) and the C library (default the empty string) using the
......@@ -266,37 +266,8 @@ however this assumes that you only need to add modules.)
Troubleshooting
---------------
Here is a selection from the FAQ on various common problems.
3.6. Q. Link errors building Python with STDWIN on SGI IRIX.
A. Rebuild STDWIN, specifying "CC=cc -cckr" in the Makefile.
3.8. Q. Link errors after rerunning the configure script.
A. It is generally necessary to run "make clean" after a configuration
change.
3.9. Q. The python interpreter complains about options passed to a
script (after the script name).
A. You are probably linking with GNU getopt, e.g. through -liberty.
Don't. (If you are using this because you link with -lreadline, use
the readline distributed with Python instead.)
3.10. Q. When building on the SGI, make tries to run python to create
glmodule.c, but python hasn't been built or installed yet.
A. Comment out the line mentioning glmodule.c in Setup and build a
python without gl first; install it or make sure it is in your $PATH,
then edit the Setup file again to turn on the gl module, and make
again. You don't need to do "make clean"; you do need to run "make
Makefile" in the Modules subdirectory (or just run "make" at the
toplevel).
3.13. Q. Other trouble building Python 1.0.2 on platform X.
A. Please email the details to <guido@cwi.nl> and I'll look into it.
See section 3 of the FAQ (in subdirectory Misc of the distribution)
for hints on what can go wrong, and how to fix it.
Building on non-UNIX systems
......@@ -314,6 +285,20 @@ HAVE_CONFIG_H is defined during compilation (usually by passing an
argument of the form `-DHAVE_CONFIG_H' to the compiler, but this is
necessarily system-dependent).
I have tried to collect instructions, Makefiles and additional sources
for various platforms in this release. The following directories
exist:
Mac/ Apple Macintosh, using THINK C 6.0 or MPW 3.2.
Dos/ MS-DOS and Windows 3.1, using Microsoft C.
Nt/ Windows NT, using Microsoft Visual C/C++.
Os2/ OS/2.
Most of these instructions were last tested with a previous Python
release, so you may still experience occasional problems. If you have
fixes or suggestions, please let me know and I'll try to incorporate
them in the next release.
Distribution structure
----------------------
......@@ -322,12 +307,9 @@ Most subdirectories have their own README file. Most files have
comments.
ChangeLog A raw list of changes since the first 1.0.0 BETA release
Contrib/ Contributed code
Demo/ Demonstration scripts, modules and programs
Demo2/ Some more demonstrations (not distributed)
Doc/ Documentation (in LaTeX)
Ext-dummy/ Placeholder for Extensions in the distribution
Extensions/ Extension modules (not distributed)
Extensions/ Extension modules (distributed separately)
Grammar/ Input for the parser generator
Include/ Public header files
Lib/ Python library modules
......@@ -346,7 +328,6 @@ configure Configuration shell script (GNU autoconf output)
configure.in Configuration specification (GNU autoconf input)
tags, TAGS Tags files for vi and Emacs (generated)
python The executable interpreter (generated)
readline/ Source code for the GNU readline library
Ftp access
......@@ -393,10 +374,10 @@ Amsterdam, The Netherlands.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Stichting Mathematisch
Centrum or CWI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior permission.
......@@ -414,4 +395,4 @@ Signature
---------
--Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>
URL: <http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>
<URL:http://www.cwi.nl/cwi/people/Guido.van.Rossum.html>
(-) speedup finddfa (and classify?)
(-) more stuff under CVS (demo, extensions)
(-) systematically create /usr/local/lib/python/<machine>-<os>/
subdirectories, with a lib/ subdirectory containing the lib*.a
files etc.
(-) Mac port of 1.0.3++
(-) need newer DOS binary (16 bit version doesn't do default args)
(-) Win32s for PC
(-) support for dynamically loadable libraries in makesetup and Extensions.
e.g. add a make rule to build .so files (unfortunately need to figure
out what ld option is needed) (more appropriate for makesetup
script?)
(-) integrate NT changes
(-) Move tkinter into the standard Modules directory; Tkinter c.s. to
Lib/tkinter etc. (???)
(-) print_error raises and then masks an error if softspace is not
defined
(-) document Tk
(-) systematically create /usr/local/lib/python/<machine>-<os>/
subdirectories, with a lib/ subdirectory containing the lib*.a
files etc.
(-) class browser
(-) interactive Python GUI (a la NT thingie)
(-) speedup finddfa (and classify?)
(-) more stuff under CVS (demo, extensions)
(-) Mac port of 1.1
(-) Mac port of STDWIN 0.9.9 to THINK C 6.0
(-) use const for char * parameters (and many more) where possible
(-) The Great Renaming!
(-) redo __xxx__ operators for class instances; add __getattr__ and
__setattr__.
(-) redo __xxx__ operators for class instances
(-) many things that take strings should also take arrays of chars
(-) document __getattr__, __setattr__
(-) fix pow(x, y, z) for integers
(-) add __delattr__ to class instances
(*) add tuple(seq) to turn any sequence into a tuple
(-) many things that take strings should also take arrays of chars
(-) add list of existing extensions to FAQ
......@@ -34,11 +45,23 @@ __setattr__.
(-) rewrite "output formatting" chapter in tutorial
(-) add a make rule to build .so files (unfortunately need to figure
out what ld option is needed) (more appropriate for makesetup
script?)
(*) pass OPT from environment via configure to Makefile
(*) version.c should be recompiled for each link
(*) stropmodule should export find/rfind instead of index/rindex
(-) write a script and add a "Make" rule (perhaps) that changes
(*) add __getattr__, __setattr__ to class instances
(*) fix pow(x, y, z) for integers
(*) add tuple(seq) to turn any sequence into a tuple
(*) Win32s for PC
(*) integrate NT changes
(*) write a script and add a "Make" rule (perhaps) that changes
#!/usr/local/bin/python to something else in all scripts around.
(*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
......@@ -55,7 +78,7 @@ __setattr__.
(*) import.c from JaapV
(-) document os.exec*
(*) document os.exec*
(*) name sunaudiodevmodule.c is too long
......@@ -63,8 +86,6 @@ __setattr__.
(-) make regsub.[g]sub() optionally case insensitive
(-) handle printing of errors in lines containing multiline strings
======================================================================
(*) ought to use features from autoconf 1.8
......@@ -79,13 +100,11 @@ __setattr__.
(*) need way to force stdout unbuffered
(-) document new modules (builtin as well as Lib)
(*) restart CVS tree
(?) build shared libs for SunOS 4.1.3
(-) Mac X... code resources as shared libs?
(-) dynamic linking on the Mac (is this a dream?)
(*) X patches from Adrian Phillips
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment