Hopefully the last edits for 1.1

This commit is contained in:
Guido van Rossum 1994-10-06 16:15:09 +00:00
parent c3706076ee
commit b85ae1aa65
3 changed files with 219 additions and 38 deletions

144
ChangeLog
View File

@ -1,5 +1,139 @@
Thu Oct 6 16:40:05 1994 Guido van Rossum <guido@voorn.cwi.nl>
* Got rid of Modules/imgformat.c (will be distributed with Jack's
img package)
* Doc/*.tex: moved title boilerplate to separate file, added
copyright notice (separate file)
Wed Oct 5 11:13:13 1994 Guido van Rossum <guido@voorn.cwi.nl>
* Modules/config.c.in: don't include frozen.c when frozen (the new
freeze script compiles it separately)
* Lib/os.py: add dummy import posixpath, for freeze script
* Python/marshal.c (r_object): plugged memory leak in reading of
code objects
* Modules/config.c.in (getpythonpath): always return malloc'ed
memory -- save a static pointer to free next time (prevents leaks)
Thu Sep 29 10:35:28 1994 Guido van Rossum <guido@voorn.cwi.nl>
* Grammar/Grammar: got rid of history; changed some diagram
commands
* Lib/types.py: cosmetic changes
* Mac/{config.c,macosmodule.c}: new interface to (a few bits of)
the Mac OS
* Modules/xxmodule.c: integrated with xxobject.c by Jack
* Modules/(posix,socket}module.c: more NT changes
* Python/traceback.c: security fix -- check for buffer oveflow
before concatenating sys.path item and module name
* Python/ceval.c, Include/ceval.h: promote MakePendingCalls to
global: Py_MakePendingCalls. Also guard against recursive calls
* Python/pythonmain.c: fatal error if can't alloc mem for -c
string
* Python/pythonrun.c: add string "Python" to fatal error message
Wed Sep 28 16:39:09 1994 Guido van Rossum <guido@voorn.cwi.nl>
* Objects/longobject.c: change ValueError to OverflowError when
converting to int
* Objects/xxobject.c: changed to use new style (not finished?)
* Objects/stringobject.c: use HAVE_LIMITS instead of __STDC__
* Objects/rangeobject.c: modernized
* Objects/floatobject.c: add overflow check when converting float
to int and implement truncation towards zero using ceil/float
* Parser/intrcheck.c: make 'interrupted' global (forgot for
whom...)
* Include/rename1.h: don't even define Py_FPROTO
* Python/{modsupport.c,getargs.c,Makefile.in},
Include/modsupport.h: moved getargs() to its own file and
re-implemented it entirely to support optional arguments, multiple
arguments without surrounding parentheses
(when called as newgetargs()), and better error messages
* Include/classobject.h, Objects/classobject.c,
Python/{ceval.c,bltinmodule.c}: entirely redone operator
overloading. The rules for class instances are now much more
relaxed than for other built-in types
(whose coerce must still return two objects of the same type)
Sun Sep 18 07:26:39 1994 Guido van Rossum <guido@cayenne.cwi.nl>
* Python/pythonrun.c (print_error): print only last line of
multi-line source line
* Parser/tokenizer.c (tok_nextc): count line numbers when parsing
strings
Fri Sep 16 15:54:56 1994 Guido van Rossum <guido@voorn.cwi.nl>
* Python/modsupport.c (do_arg): added error message if "O!" fails;
change type of converter for "O&" to function returning int taking
an object* and a void* parameter; it should return 1 for success
or return 0 and set an exception for failure to convert
Wed Sep 14 14:08:44 1994 Guido van Rossum <guido@voorn.cwi.nl>
* Include/Python.h: new header file for new naming scheme
* various modules: #include "Python.h" and remove most remporary
renaming hacks
* Lib/whrandom.py: if seed is (0,0,0), initialize from current
time; default seed's arguments to (0,0,0)
* Python/ceval.c (eval_code), Include/ceval.h: added registry of
pending functions (to be used by functions that are called
asynchronously, like UNIX signal handlers or Mac I/O completion
routines)
Wed Sep 14 11:05:36 1994 Guido van Rossum (guido@voorn.cwi.nl)
* Doc/libsys.tex (section{Built-in Module \sectcode{sys}}):
documented sys.check_interval
Tue Sep 13 21:35:19 1994 Guido van Rossum (guido@voorn.cwi.nl)
* Import/pythonrun.h, Python/{import,pythonrun}.c,
mac/macsetfiletype.c: changes by Jack to execute .pyc file passed
as command line argument. On the Mac .pyc files are given a
special type so they can be double-clicked
* Modules/stropmodule.c (strop_[r]find): change index range check
-- don't raise ValueError buit silently clip when it's out of
range (this is compatible with slicing)
Mon Sep 12 12:53:07 1994 Guido van Rossum (guido@voorn.cwi.nl)
* Extensions/X11/Xmmodule.c: (Sjoerd): Implemented
Xm.OptionButtonGadget and Xm.OptionLabelGadget
* Modules/Setup.in: define PYTHONPATH using COREPYTHONPATH for
extensions; add -lm to math module definition
* Modules/Makefile.pre.in: remove *.so and so_locations on clobber
* Modules/makesetup: (Sjoerd): treat words beginning with a dollar
and not ending in a well-known extension as linker arguments
* Lib/urlparse.py: URL parser according to the latest Internet
draft
@ -20,7 +154,7 @@ Sun Sep 11 12:12:28 1994 Guido van Rossum (guido@voorn.cwi.nl)
libraries and to set $(MACHDEP) (machine dependent subdirectory of
Lib)
* Makefile.in: shared library support; added targer sharedinstall
* Makefile.in: shared library support; added target sharedinstall
which move shared libraries into Lib/$(MACHDEP)
* Modules/{Makefile.pre.in,Setup.in,makesetup}: support shared
@ -144,10 +278,6 @@ Mon Aug 22 10:53:59 1994 Guido van Rossum (guido@voorn.cwi.nl)
* 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 --
@ -228,7 +358,9 @@ Thu Aug 11 16:41:14 1994 Guido van Rossum (guido@voorn.cwi.nl)
setattr(x, name, value) for class instances. This uses a special
hack whereby the class is supposed to be static: the __getattr__
and __setattr__ methods are looked up only once and saved in the
instance structure for speed
instance structure for speed.
(Later rewritten to also support __delattr__ and to store the
routines in the class instead of in the instance)
Wed Aug 10 13:42:29 1994 Guido van Rossum (guido@voorn.cwi.nl)

37
README
View File

@ -5,28 +5,32 @@ Python release 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.
changed). It is portable to many more non-UNIX platforms.
==> If you don't know yet what Python is: it's an interpreted,
extensible, embeddable, interactive, object-oriented programming
language. For a quick summary of what Python can mean for a
UNIX/C programmer, read Misc/BLURB.LUTZ.
==> If you want to start compiling right away: just type "./configure"
in the current directory and when it finishes, type "make". See
the section Build Instructions below for more details.
==> If you want to start compiling right away (on UNIX): just type
"./configure" in the current directory and when it finishes, type
"make". See the section Build Instructions below for more
details.
==> All documentation is in the subdirectory Doc in the form of LaTeX
files. In order of importance for new users: Tutorial (tut),
Library Reference (lib), Language Reference (ref), Extending
(ext). Note that especially the Library Reference is of immense
value since much of Python's power (including the built-in data
types and functions!) is described there. [XXX The ext document
types and functions!) is described there. [NB The ext document
has not been updated to reflect this release yet.]
==> Python is COPYRIGHTED but free to use for all. See the copyright
notice at the end of this file.
notice at the end of this file. Moreover, the Python distribution
is not affected by the GNU Public Licence (GPL). There is support
for interfaces to some GNU code but this is entirely optional and
no GNU code is distributed with Python. For all these packages,
GPL-free public domain versions also exist.
Build instructions
@ -142,14 +146,19 @@ you change your mind about the install prefix...
interface: this gives you line editing and command history when
calling python interactively. You need to configure build the GNU
readline library before running the configure script. Its sources are
no longer distributed with Python; you can ftp them from any GNU
mirror site, or from its home site:
not distributed with Python; you can ftp them from any GNU mirror
site, or from its home site:
ftp://slc2.ins.cwru.edu/pub/dist/readline-2.0.tar.gz (or a higher
version number -- using version 1.x is not recommended). Pass the
Python configure script the option --with-readline=DIRECTORY where
DIRECTORY is the absolute pathname of the directory where you've built
the readline library. Some hints on building and using the readline
library:
version number -- using version 1.x is not recommended).
A GPL-free version was posted to comp.sources.misc in volume 31 and is
widely available from FTP archive sites. One URL for it is:
ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/volume31/editline/part01.Z
Pass the Python configure script the option --with-readline=DIRECTORY
where DIRECTORY is the absolute pathname of the directory where you've
built the readline library. Some hints on building and using the
readline library:
- On SGI IRIX 5, you may have to add the following
to rldefs.h:

76
TODO
View File

@ -1,3 +1,43 @@
(*) 2 specific leaks: 1 PYTHONPATH; 2 reading code from .pyc
(-) if __getattr__ prints something, calling repr(x) from cmd line
forgets a newline
(-) improve performance of list.append/insert etc. by keeping high/low
watermark instead of realloc'ing each time?
(-) findmethod should cache (also findmember?)
(-) sysget("check_interval") is called before each method call which
breaks dictlookup caching
(*) core dump on import of ridiculously long module name
(-) core dump on repr / print of deeply nested or recursive object
(*) parsing from string should calculate line numbers
(-) whrandom doc needs update
(-) mpz power is still binary insterad of ternary
(*) design interface to call arbitrary asynchronous routines
(*) whrandom.set...(0,0,0) doesn't generate random numbers
(*) Lance's latest curses additions
(-) Jack's new code:
(*) new xxmodule.c
(*) mac has type for .pyc files
(*) should run .pyc files when passed as command line argument
(*) all new all singing all dancing freeze script
(*) make clean should remove *.so and not Makefile.pre
(-) fix signalmodule.c to re-establish SIGC[H]LD handler
(-) try out Kees Blom's railroad diagram generator
(-) redesign error handling (cf. Donald's mail)
@ -146,16 +186,16 @@ instance -- also have separate __delattr__
(*) Jaap's freeze script
Incorporate with contrib status:
- additions to glmodule by rg3h
(*) Jaap's posixfile module (with locking)
(*) pthreads interface
(-) Incorporate with contrib status:
- additions to glmodule by rg3h
(*) Jaap's posixfile module (with locking)
(*) pthreads interface
Later:
- put the offending object in IOError and posix.error
- make module marshal work with user-defined file-like objects
- built-in help?
- hierarchical module names?
(-) Later:
- put the offending object in IOError and posix.error
- make module marshal work with user-defined file-like objects
- built-in help?
- hierarchical module names?
Big plans:
@ -205,31 +245,31 @@ persistency
new Dbhash.py, dbhash library
reraise; or raise 3rd param for traceback?
-or- except type, value, tbackobjec
(-) reraise; or raise 3rd param for traceback?
-or- except type, value, tbackobjec
redesign exceptions from scratch?
(-) redesign exceptions from scratch?
dbm objects miss items(), values() methods
(-) dbm objects miss items(), values() methods
(*) jar's new profile
answer q about coerce()
(-) answer q about coerce()
(*) reconsider pass [expression] ??? -or- don't print non-interactive
exprs -or- option to suppress printing non-None expressions
(*) should be able to hash code objs (add fns to convert between lists/tuples)
describe() ?
(-) describe() ?
distribute demo2 with Holmes
(-) distribute demo2 with Holmes
(*) re-reply on try-continue
classes are too slow
(-) classes are too slow
add += etc. ?
(-) add += etc. ?
optimize tuple = tuple