mirror of
https://github.com/python/cpython.git
synced 2024-11-30 21:34:17 +08:00
645 lines
16 KiB
Plaintext
645 lines
16 KiB
Plaintext
======================================================================
|
|
Things to do before releasing Pyton 1.4 the final cut:
|
|
|
|
Win/NT specific things:
|
|
|
|
... get bsddb.c patch
|
|
|
|
... pyc files remain open when imported???
|
|
|
|
(*) no trailing separator on sys.path[0] please
|
|
|
|
... no control-c or control-break in Windows Console mode???
|
|
(implement Mark's hacks)
|
|
|
|
... add PC template for extensions, + instructions
|
|
|
|
... segv on NT after ^Z after import _tkinter
|
|
|
|
Bugs:
|
|
|
|
... apply(<class>, (), {}) fails while apply(<class>, ()) succeeds
|
|
|
|
... exception in __del__ when __builtins__ has been deleted
|
|
|
|
(*) core dump on complex % or divmod
|
|
|
|
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
|
|
|
|
... New last chapter of tutorial explaining new things (use NEWS file)
|
|
|
|
... Update tutorial for changes in the language & library
|
|
|
|
... Update reference manual for complex, power, slice and ellipses
|
|
|
|
... New sections for library reference manual (use NEWS file for hints)
|
|
|
|
... Update Misc/FAQ
|
|
|
|
... Update README for 1.4 final cut
|
|
|
|
... Update documentation for httplib
|
|
|
|
... 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):
|
|
|
|
... SyntaxErrors w/o line numbers
|
|
|
|
... 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
|
|
|
|
... More NeXT patches (Bill Bumgarner)
|
|
|
|
... 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:
|
|
|
|
(*) 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?
|
|
======================================================================
|