diff --git a/ChangeLog b/ChangeLog
index 2cceded..8c2f975 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 @@
 	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 @@
 
 	* 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 @@
 	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)
 
diff --git a/README b/README
index 30f5398..32bee29 100644
--- a/README
+++ b/README
@@ -5,28 +5,32 @@
 
 ==> 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 @@
 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:
diff --git a/TODO b/TODO
index 1a807bb..9871547 100644
--- a/TODO
+++ b/TODO
@@ -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 @@
 
 (*) 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 @@
 
 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
 
