home *** CD-ROM | disk | FTP | other *** search
- ======================================================================
- Things to do before releasing Pyton 1.4 the final cut:
-
- Win/NT specific things:
-
- ... pyc files remain open when imported???
-
- ... no control-c or control-break in Windows Console mode???
- (implement Mark's hacks) (seems to work now?)
-
- Bugs:
-
- ... exception in __del__ when __builtins__ has been deleted
-
- Features:
-
- ... simple threading support (with lock) for Tk
-
- ... Create and distribute the generic Makefile.pre.in for outside extensions.
-
- Documentation:
-
- ... Add section on filesystem interface to tutorial
-
- ... Update tutorial for changes in the language & library
-
- ... New sections for library reference manual (use NEWS file for hints)
-
- ... add stuff to ext.tex about threads and embedded Python
-
- ... mention that -2147483648 doesn't work
-
- ... mention that 0e0 and 01.0 etc. don't work
-
- Maybe not (yet):
-
- ... get rid of 'owner' passed around for newframeobject and evalcode
-
- ... Get freeze working for NT? (Sam has one)
-
- ... rename init<module> to PyInit_<module>.
-
- ... import ni seems to interpret the current directory as a package.
-
- ... math.sqrt(1j) should raise TypeError!!! (To fix in getargs 'd' format.)
-
- ... add make target that does machdep install; use in "machdepinstall"
-
- ... prototype for PyOS_CheckStack() somewhere
-
- ... On some Linuxes, ``python -c "print 12" | wc'' produces no output???
-
- ... Add INSTALL_ROOT variable to Makefile.in
-
- ... More thread testing (Solaris?), wait for David Arnold
-
- ... Get rid of more modules: (stdwin, soundex, SGI specific?)
-
- ... Use autoconf features to find X11 libraries
-
- ... Use more modern autoconf features (e.g. for platform testing)
-
- Done:
-
- (*) get bsddb.c patch
-
- (*) no trailing separator on sys.path[0] please
-
- (*) add PC template for extensions, + instructions
-
- (*) segv on NT after ^Z after import _tkinter
-
- (*) apply(<class>, (), {}) fails while apply(<class>, ()) succeeds
- if class has no __init__ method
-
- (*) core dump on complex % or divmod
-
- (*) New last chapter of tutorial explaining new things (use NEWS file)
-
- (*) Update reference manual for complex, power, slice and ellipses
-
- (*) Update Misc/FAQ
-
- (*) Update README for 1.4 final cut
-
- (*) Update documentation for httplib
-
- (*) SyntaxErrors w/o line numbers
-
- (*) More NeXT patches (Bill Bumgarner, Lele Gaifax)
-
- (*) fix file upload in cgi.py from Netscape
-
- (*) Tkinter.Variable.__del__ may cause (ignored) exceptions
-
- (*) Test for -lreadline *without* -lterm{cap,lib}
-
- (*) autotest fails on NT due to 1e-005 instead of 1e-05
-
- (*) Update 1.3 version number and date occurring in tutorial, Misc/FAQ,
- Doc/texipre.dat, Doc/boilerplate.tex, Doc/tut.tex example
-
- (*) Fix the freeze script
-
- (*) merge Fred's changes to formatter.py and other stuff in Grail/pythonlib
-
- (*) urllib.py: open_http() has bogosity when proxy and auth used together
-
- (*) Update Misc/NEWS
-
- (*) Get rid of obsolete modules: objc, environment
-
- (*) Try threads on NT?
-
- (*) get rid of remains of access.c
-
- (*) document the fact that __del__ exceptions get lost
-
- (*) print warning when __del__ raises exception (no SystemExit though)
-
- (*) document all new features of string.py and regsub.py
-
- (*) add delitem, delslice to operator.c
-
- (*) get rid of 'or', 'and' in operator.c (or rename to 'or_', 'and_')
-
- (*) Pass LDFLAGS from configure to Makefile?
-
- (*) -L option for -lreadline comes too late
-
- (*) halfbinop PROTO(...) triggers error on Alpha compiler?
-
- (*) operator.c is not K&R C nor is it ANSI C
-
- (*) some complex numbers code is not K&R
-
- (*) More AIX sharedlibs patches (Manus Hand, Vlad)
-
- Delete Modules/bindit
- Add Modules/python.ext
-
- (*) #undef for fabs in mathmodule.c from Jack
-
- (*) Fix _tkinter.c for use on NT
-
- (*) Remove AIX shared libraries in make clean target
- Remove *.sl in "make clean" targets
-
- (*) Sjoerd's optimizations
-
- (*) remove access stmt from docs
-
- (*) Lance's patches for SCO
-
- (*) Jim H's patch to fix power
-
- (*) rip out all traces of 'access'
-
- (*) New extref.tex from Richard Jones
-
- (*) ref.man patch by Anthony Baxter for lambda scope
-
- (*) Add extensions reference to ext.tex
-
- (*) generic/regen is bogus
-
- ======================================================================
- ======================================================================
- The following is old and I haven't checked whether it still applies:
-
- (-) many module should export their symbolic constants instead of
- relying on a module written in Python
-
- (-) change regexmodule.c to cooperate with other non-python users and
- to export the symbolic constants
-
- (-) save/restore sys.exc_{type,value,traceback} around except clauses.
-
- (-) don't call class instance's __del__ more than once?????
-
- (-) add "access" to posix? What name should it have?
-
- (-) add facility to "freeze" lists and dictionaries?
-
- (-) add WNOHANG to posix
-
- (-) support lists in newgetargs()
-
- (-) syntax errors detected during compilation should give line number
-
- (-) dbm.open(): rwmode, filemode should be made optional; same for gdbm
-
- (-) find a bsd hash interface
-
- (-) posix.mkdir(): mode should be made optional
-
- (-) find a more useful order than alphabetical for Doc/libfuncs.tex
-
- ======================================================================
-
- (*) use my getopt.c on Linux
-
- (*) get Extensions/X11/Doc checked in and out
-
- (-) investigate PPRC <URL:ftp://ftp.parc.xerox.com/pub/ppcr/>
-
- (*) add buffering parameter to fdopen() and popen()
-
- (-) interface to getdtablesize() in posix
-
- (-) reentrancy with global variables vs. decref in
- ./Modules/cdmodule.c ./Modules/flmodule.c ./Objects/accessobject.c
- ./Objects/frameobject.c ./Python/traceback.c
-
- (*) fix reentrancy in list updates?
-
- (-) speed up regsub.gsub
-
- (*) change md5.md5() to md5.new()
-
- (-) try posixenviron.c and merge back into posixmodule.c?
-
- (*) document chown()
-
- (-) add and document chroot() ?
-
- (*) use add gethostname_r and release thread lock when it exists
-
- (-) Add `@CFLAGS@', `@CPPFLAGS@', and `@LDFLAGS@' to `Makefile.in'
-
- (-) modules should be able to define a module destructor hook
-
- (-) destroy modules in reverse order of importation?
-
- (-) make array a standard built-in object
-
- (-) makesetup should accept .o files without corresponding .c file
-
- (*) use autoconf 2.0
-
- ======================================================================
- Release 1.1.1 (10 Nov 1994)
- ======================================================================
-
- (-) try Boehm/Dehmers/Weiser conservative garbage collector
-
- (*) implement new 'flatten' module
-
- (-) document new Python/C API
-
- (*) __import__, module imp
-
- (-) add various things to module dictionary, e.g. pathname, dictionary
- where found, __version__ string?
-
- (-) pass dict of builtins to exec / execfile / eval ???
-
- (?) stack frame correspondence problem (Jim Roskind)
- (probably solved by err_fetch / err_restore)
-
- (-) make lots of places use newgetargs
-
- (*) no tp_str member in typeobject
-
- (-) readline 2.0 on sequent has ^C problem (works only first time)
-
- (*) add explanatory comments to Setup (especially about SGI modules
- like 'cd')
-
- (-) need to add truncate() and ftruncate() to posixmodule.c (Windows:
- chsize(fd, size) (solution: added to file objects instead)
-
- ======================================================================
- Release 1.1 (11 Oct 1994)
- ======================================================================
-
- (-) 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)
-
- (*) do MPW and THINK still not support sys_errlist? Indeed not (neither).
-
- (-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
-
- (-) rename MPW_3_1 define (which really means 3.x)
-
- (*) incorporate urlparse.py, uu.py
-
- (*) rewrite instance __getattr__ etc. to store ptr in class instead of
- instance -- also have separate __delattr__
-
- (-) add warning to docs about sys.exc_traceback and sys.last_traceback.
-
- (-) Some stdwin wishes:
-
- (-) stdwinmodule should keep track of textedit rec's per window
- (in a chain) so it can unlink them when the window is closed
- before the te rec
-
- (-) textedit flashes at return or backspace
-
- (-) there's no way to show the text caret after a multi-line paste?
-
- (*) termios module
-
- (*) put signal patches out separately
-
- (-) latex docs for signal module
-
- (*) More MPW and Mac changes
-
- (*) Sjoerd's compileall script
-
- (-) systematically create /usr/local/lib/python/<machine>-<os>/
- subdirectories, with a lib/ subdirectory containing the lib*.a
- files etc.
-
- (-) need newer DOS binary (16 bit version doesn't do default args)
-
- (*) 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?)
-
- (*) Move tkinter into the standard Modules directory; Tkinter c.s. to
- Lib/tkinter etc. (???)
-
- (-) document Tk
-
- (-) 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
-
- (-) document __getattr__, __setattr__
-
- (*) add __delattr__ to class instances
-
- (-) many things that take strings should also take arrays of chars
-
- (-) add list of existing extensions to FAQ
-
- (-) update "recent additions" chapter in tutorial
-
- (-) rewrite "output formatting" chapter in tutorial
-
- (*) 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
-
- (*) 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)
-
- (*) add signal.alarm()
-
- (*) when abort()ing because of unexpected exception, print a message
- first (Jack)
-
- ----------------------------------------------------------------------
- (from BUGS1.0.1)
- ----------------------------------------------------------------------
- (-) document addpack, urllib, ...
-
- (*) import.c from JaapV
-
- (*) document os.exec*
-
- (*) name sunaudiodevmodule.c is too long
-
- (*) play with / include SUIT interface
-
- (-) make regsub.[g]sub() optionally case insensitive
-
- ======================================================================
-
- (*) ought to use features from autoconf 1.8
-
- (*) errors in __repr__() are handled wrong when called from format
-
- (*) long(0x80000000) has wrong value!
-
- (-) hex(0x80000000) shouldn't have sign (?)
-
- (*) need way to set buffering at file open time
-
- (*) need way to force stdout unbuffered
-
- (*) restart CVS tree
-
- (?) build shared libs for SunOS 4.1.3
-
- (-) dynamic linking on the Mac (is this a dream?)
-
- (*) X patches from Adrian Phillips
-
- (*) Jaap's freeze script
-
- (-) 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?
-
- Big plans:
-
- - allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
- - great renaming
- - complete reflexive nature of the language, e.g. have interfaces et
- create any kind of object
- (*) GUI interface a la Tk
-
-
- ======================================================================
- For FAQ:
-
- (*) why don't strings (numbers, tuples, ...) have methods / attributes
-
- (*) why are strings / numbers / tuples immutable
-
- why don't list methods return self
-
- ======================================================================
- PM/TODO list after Egypt (from mailing list):
-
- make .pyc files executable (how?)
-
- thread status and improvements (lock stmt; signal/wait)
-
- optional optimizations
-
- pthread migration
-
- (*) test/incorporate new SUIT
-
- shorten excessively long filenames (sunaudiodevmodule.c)
-
- (*) default parameter values
-
- multiple interpreter objects
-
- (*) import shlib bug (irix5.2) (reload, dlclose)
-
- (*) addpack.py
-
- (*) newmodule.c (or other hacks to create new modules, classes, functions
- etc. from their components)
-
- persistency
-
- new Dbhash.py, dbhash library
-
- (-) reraise; or raise 3rd param for traceback?
- -or- except type, value, tbackobjec
-
- (-) redesign exceptions from scratch?
-
- (-) dbm objects miss items(), values() methods
-
- (*) jar's new profile
-
- (-) 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() ?
-
- (-) distribute demo2 with Holmes
-
- (*) re-reply on try-continue
-
- (-) classes are too slow
-
- (-) add += etc. ?
-
- optimize tuple = tuple
-
- allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
-
- wustl is not un the northwest of the US?
-
- (*) MPW doesn't like \000 in string literals?
-
- MPW patches, unixemu patches
-
- prepare tar files with
- - mac think projects (*)
- - mpw makefiles
- - dos makefiles
- - mac unixemu lib
-
- explain rules about == vs. 'is' for strings (* by others on the list)
-
- (*) bug in ceval.c DELETE_FAST
-
- (*) possible optimize LOAD_NAME -> LOAD_GLOBAL
-
- get dos python with suit (inesc)
-
- (*) docs for try/continue are wrong and unclear
-
- better hashing fn?
-
- (*) add improved nested indent to python-mode.el
-
- (*) add a section to tutorial on "new" features
-
- rewrite section on formatting in tutorial
-
- ======================================================================
- TODO-TOO list:
-
- test for overflow when converting python long to float
-
- lift restrictions on tuple or list in many cases
-
- (*) allow long ints with sensible values for getargs "i"
-
- (*) multiline string literals
-
- what to do about 64-bit int literals (on 64-bit machines) in .pyc
- files? (Currently truncated w/o warning!)
-
- DOCUMENTATION UPDATE! E.g. ref.tex doesn't describe:
- (*) - line joins w/o backslash
- (*) - double-quoted strings; \" in strings
- - more?
- Should double-check all changes with docs!
-
- (?) Interrupting output still sometimes doesn't call clearerr() properly
-
- sometimes ghost errors when interrupting during debugging in
- 'continue' mode?
-
- typing a comment to a primary prompt shouldn't issue a secondary prompt
-
- readline: add hooks to recognize Python syntax and to expand Python
- commands and names
-
- should have absolute pathnames in function objects
-
- in general check that all the exceptions are modernized and that the
- messages aren't giving the same error twice (e.g., stdwinmodule.c!)
-
- - check read/write allowed for file objects
-
- - introduce macros to set/inspect errno for syscalls, to support things
- like getoserr()
-
- ======================================================================
- DOS/Windows Python
-
- (???) command line options?
-
- (*) os.system()
-
- (???) interrupts
-
- (???) wrap
-
- (*) pc module
-
- (*) dospath.py
-
- DOS/Windows Python -- TO DO
-
- (*) memtest from config.h
-
- (*) copy sources back
-
- (*) build DOS version
-
- (*) distribute 386 version
-
- (*) Mac 1.0.1 release?
- ======================================================================
-