summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUGS84
-rw-r--r--ChangeLog89
-rw-r--r--README107
-rw-r--r--TODO69
4 files changed, 222 insertions, 127 deletions
diff --git a/BUGS b/BUGS
index fe9231a..8a5b4e2 100644
--- a/BUGS
+++ b/BUGS
@@ -1,27 +1,16 @@
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
--------------------------------------
diff --git a/ChangeLog b/ChangeLog
index 88769ae..82807ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,94 @@
-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()
diff --git a/README b/README
index bf27c0b..e00d68b 100644
--- a/README
+++ b/README
@@ -1,22 +1,12 @@
-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>
diff --git a/TODO b/TODO
index a628160..6e46244 100644
--- a/TODO
+++ b/TODO
@@ -1,32 +1,43 @@
-(-) 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