| ====================================================================== |
| 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? |
| ====================================================================== |