blob: 87b31846cc7026bbf828a05087893ff748a124f7 [file] [log] [blame]
Guido van Rossum7b4d4601995-03-22 12:27:16 +00001(-) support lists in newgetargs()
Guido van Rossum0ddb0281995-01-17 16:46:14 +00002
Guido van Rossum7b4d4601995-03-22 12:27:16 +00003(-) syntax errors detected during compilation should give line number
4
5(-) dbm.open(): rwmode, filemode should be made optional; same for gdbm
6
7(-) find a bsd hash interface
8
9(-) posix.mkdir(): mode should be made optional
10
11(-) find a more useful order than alphabetical for Doc/libfuncs.tex
12
13======================================================================
14
15(*) use my getopt.c on Linux
16
17(*) get Extensions/X11/Doc checked in and out
Guido van Rossum0ddb0281995-01-17 16:46:14 +000018
19(-) investigate PPRC <URL:ftp://ftp.parc.xerox.com/pub/ppcr/>
20
Guido van Rossum79dddcb1995-01-12 12:25:42 +000021(*) add buffering parameter to fdopen() and popen()
22
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000023(-) interface to getdtablesize() in posix
24
Guido van Rossum76be6ed1995-01-02 18:33:54 +000025(-) reentrancy with global variables vs. decref in
26./Modules/cdmodule.c ./Modules/flmodule.c ./Objects/accessobject.c
27./Objects/frameobject.c ./Python/traceback.c
28
Guido van Rossum7b4d4601995-03-22 12:27:16 +000029(*) fix reentrancy in list updates?
Guido van Rossum79dddcb1995-01-12 12:25:42 +000030
Guido van Rossum76be6ed1995-01-02 18:33:54 +000031(-) speed up regsub.gsub
32
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000033(*) change md5.md5() to md5.new()
Guido van Rossum76be6ed1995-01-02 18:33:54 +000034
35(-) try posixenviron.c and merge back into posixmodule.c?
36
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000037(*) document chown()
Guido van Rossum76be6ed1995-01-02 18:33:54 +000038
39(-) add and document chroot() ?
40
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000041(*) use add gethostname_r and release thread lock when it exists
Guido van Rossum76be6ed1995-01-02 18:33:54 +000042
43(-) Add `@CFLAGS@', `@CPPFLAGS@', and `@LDFLAGS@' to `Makefile.in'
44
45(-) modules should be able to define a module destructor hook
46
Guido van Rossum79dddcb1995-01-12 12:25:42 +000047(-) destroy modules in reverse order of importation?
Guido van Rossum76be6ed1995-01-02 18:33:54 +000048
49(-) make array a standard built-in object
50
51(-) makesetup should accept .o files without corresponding .c file
52
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000053(*) use autoconf 2.0
Guido van Rossum76be6ed1995-01-02 18:33:54 +000054
55======================================================================
56Release 1.1.1 (10 Nov 1994)
57======================================================================
58
59(-) try Boehm/Dehmers/Weiser conservative garbage collector
60
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000061(*) implement new 'flatten' module
Guido van Rossum76be6ed1995-01-02 18:33:54 +000062
63(-) document new Python/C API
64
65(*) __import__, module imp
66
67(-) add various things to module dictionary, e.g. pathname, dictionary
68where found, __version__ string?
69
70(-) pass dict of builtins to exec / execfile / eval ???
71
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000072(?) stack frame correspondence problem (Jim Roskind)
Guido van Rossum79dddcb1995-01-12 12:25:42 +000073(probably solved by err_fetch / err_restore)
Guido van Rossum76be6ed1995-01-02 18:33:54 +000074
75(-) make lots of places use newgetargs
76
Guido van Rossum79dddcb1995-01-12 12:25:42 +000077(*) no tp_str member in typeobject
Guido van Rossum76be6ed1995-01-02 18:33:54 +000078
79(-) readline 2.0 on sequent has ^C problem (works only first time)
80
81(*) add explanatory comments to Setup (especially about SGI modules
82like 'cd')
83
84(-) need to add truncate() and ftruncate() to posixmodule.c (Windows:
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000085chsize(fd, size) (solution: added to file objects instead)
Guido van Rossum76be6ed1995-01-02 18:33:54 +000086
87======================================================================
88Release 1.1 (11 Oct 1994)
89======================================================================
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000090
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000091(-) improve performance of list.append/insert etc. by keeping high/low
92watermark instead of realloc'ing each time?
93
94(-) findmethod should cache (also findmember?)
95
96(-) sysget("check_interval") is called before each method call which
97breaks dictlookup caching
98
99(*) core dump on import of ridiculously long module name
100
101(-) core dump on repr / print of deeply nested or recursive object
102
103(*) parsing from string should calculate line numbers
104
105(-) whrandom doc needs update
106
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000107(*) mpz power is still binary insterad of ternary
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000108
109(*) design interface to call arbitrary asynchronous routines
110
111(*) whrandom.set...(0,0,0) doesn't generate random numbers
112
113(*) Lance's latest curses additions
114
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000115(*) Jack's new code:
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000116 (*) new xxmodule.c
117 (*) mac has type for .pyc files
118 (*) should run .pyc files when passed as command line argument
119
120(*) all new all singing all dancing freeze script
121
122(*) make clean should remove *.so and not Makefile.pre
123
124(-) fix signalmodule.c to re-establish SIGC[H]LD handler
125
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000126(*) try out Kees Blom's railroad diagram generator
Guido van Rossum0a516c91994-09-12 10:58:40 +0000127
Guido van Rossum7522f031994-08-30 12:42:01 +0000128(-) redesign error handling (cf. Donald's mail)
129
Guido van Rossum0a516c91994-09-12 10:58:40 +0000130(*) do MPW and THINK still not support sys_errlist? Indeed not (neither).
Guido van Rossum7522f031994-08-30 12:42:01 +0000131
132(-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
133
134(-) rename MPW_3_1 define (which really means 3.x)
135
Guido van Rossum0a516c91994-09-12 10:58:40 +0000136(*) incorporate urlparse.py, uu.py
Guido van Rossum7522f031994-08-30 12:42:01 +0000137
Guido van Rossum0a516c91994-09-12 10:58:40 +0000138(*) rewrite instance __getattr__ etc. to store ptr in class instead of
Guido van Rossum7522f031994-08-30 12:42:01 +0000139instance -- also have separate __delattr__
140
141(-) add warning to docs about sys.exc_traceback and sys.last_traceback.
142
143(-) Some stdwin wishes:
144
145 (-) stdwinmodule should keep track of textedit rec's per window
146 (in a chain) so it can unlink them when the window is closed
147 before the te rec
148
149 (-) textedit flashes at return or backspace
150
151 (-) there's no way to show the text caret after a multi-line paste?
152
Guido van Rossum0a516c91994-09-12 10:58:40 +0000153(*) termios module
Guido van Rossum7522f031994-08-30 12:42:01 +0000154
155(*) put signal patches out separately
156
157(-) latex docs for signal module
158
159(*) More MPW and Mac changes
160
Guido van Rossum0a516c91994-09-12 10:58:40 +0000161(*) Sjoerd's compileall script
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000162
163(-) systematically create /usr/local/lib/python/<machine>-<os>/
164 subdirectories, with a lib/ subdirectory containing the lib*.a
165 files etc.
166
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000167(-) need newer DOS binary (16 bit version doesn't do default args)
168
Guido van Rossum0a516c91994-09-12 10:58:40 +0000169(*) support for dynamically loadable libraries in makesetup and Extensions.
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000170 e.g. add a make rule to build .so files (unfortunately need to figure
171 out what ld option is needed) (more appropriate for makesetup
172 script?)
173
Guido van Rossum0a516c91994-09-12 10:58:40 +0000174(*) Move tkinter into the standard Modules directory; Tkinter c.s. to
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000175 Lib/tkinter etc. (???)
176
177(-) document Tk
178
179(-) class browser
180
181(-) interactive Python GUI (a la NT thingie)
182
Guido van Rossum0a516c91994-09-12 10:58:40 +0000183(*) speedup finddfa (and classify?)
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000184
185(-) more stuff under CVS (demo, extensions)
186
Guido van Rossum0a516c91994-09-12 10:58:40 +0000187(*) Mac port of 1.1
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000188
Guido van Rossum0a516c91994-09-12 10:58:40 +0000189(*) Mac port of STDWIN 0.9.9 to THINK C 6.0
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000190
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000191(-) use const for char * parameters (and many more) where possible
192
193(-) The Great Renaming!
194
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000195(*) redo __xxx__ operators for class instances
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000196
197(-) document __getattr__, __setattr__
198
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000199(*) add __delattr__ to class instances
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000200
201(-) many things that take strings should also take arrays of chars
202
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000203(-) add list of existing extensions to FAQ
204
205(-) update "recent additions" chapter in tutorial
206
207(-) rewrite "output formatting" chapter in tutorial
208
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000209(*) pass OPT from environment via configure to Makefile
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000210
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000211(*) version.c should be recompiled for each link
212
213(*) stropmodule should export find/rfind instead of index/rindex
214
215(*) add __getattr__, __setattr__ to class instances
216
217(*) fix pow(x, y, z) for integers
218
219(*) add tuple(seq) to turn any sequence into a tuple
220
221(*) Win32s for PC
222
223(*) integrate NT changes
224
225(*) write a script and add a "Make" rule (perhaps) that changes
Guido van Rossum5552eb71994-08-05 15:51:00 +0000226 #!/usr/local/bin/python to something else in all scripts around.
227
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000228(*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
229
230(*) add signal.alarm()
231
232(*) when abort()ing because of unexpected exception, print a message
233 first (Jack)
234
235----------------------------------------------------------------------
236(from BUGS1.0.1)
237----------------------------------------------------------------------
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000238(-) document addpack, urllib, ...
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000239
240(*) import.c from JaapV
241
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000242(*) document os.exec*
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000243
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000244(*) name sunaudiodevmodule.c is too long
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000245
246(*) play with / include SUIT interface
247
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000248(-) make regsub.[g]sub() optionally case insensitive
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000249
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000250======================================================================
251
252(*) ought to use features from autoconf 1.8
253
254(*) errors in __repr__() are handled wrong when called from format
255
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000256(*) long(0x80000000) has wrong value!
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000257
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000258(-) hex(0x80000000) shouldn't have sign (?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000259
260(*) need way to set buffering at file open time
261
262(*) need way to force stdout unbuffered
263
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000264(*) restart CVS tree
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000265
266(?) build shared libs for SunOS 4.1.3
267
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000268(-) dynamic linking on the Mac (is this a dream?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000269
270(*) X patches from Adrian Phillips
271
272(*) Jaap's freeze script
273
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000274(-) Incorporate with contrib status:
275 - additions to glmodule by rg3h
276 (*) Jaap's posixfile module (with locking)
277 (*) pthreads interface
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000278
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000279(-) Later:
280 - put the offending object in IOError and posix.error
281 - make module marshal work with user-defined file-like objects
282 - built-in help?
283 - hierarchical module names?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000284
285Big plans:
286
287- allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
288- great renaming
289- complete reflexive nature of the language, e.g. have interfaces et
290create any kind of object
291(*) GUI interface a la Tk
292
293
294======================================================================
295For FAQ:
296
297(*) why don't strings (numbers, tuples, ...) have methods / attributes
298
299(*) why are strings / numbers / tuples immutable
300
301why don't list methods return self
302
303======================================================================
304PM/TODO list after Egypt (from mailing list):
305
306make .pyc files executable (how?)
307
308thread status and improvements (lock stmt; signal/wait)
309
310optional optimizations
311
312pthread migration
313
314(*) test/incorporate new SUIT
315
316shorten excessively long filenames (sunaudiodevmodule.c)
317
318(*) default parameter values
319
320multiple interpreter objects
321
322(*) import shlib bug (irix5.2) (reload, dlclose)
323
324(*) addpack.py
325
326(*) newmodule.c (or other hacks to create new modules, classes, functions
327 etc. from their components)
328
329persistency
330
331new Dbhash.py, dbhash library
332
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000333(-) reraise; or raise 3rd param for traceback?
334 -or- except type, value, tbackobjec
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000335
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000336(-) redesign exceptions from scratch?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000337
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000338(-) dbm objects miss items(), values() methods
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000339
340(*) jar's new profile
341
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000342(-) answer q about coerce()
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000343
344(*) reconsider pass [expression] ??? -or- don't print non-interactive
345 exprs -or- option to suppress printing non-None expressions
346
347(*) should be able to hash code objs (add fns to convert between lists/tuples)
348
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000349(-) describe() ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000350
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000351(-) distribute demo2 with Holmes
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000352
353(*) re-reply on try-continue
354
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000355(-) classes are too slow
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000356
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000357(-) add += etc. ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000358
359optimize tuple = tuple
360
361allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
362
363wustl is not un the northwest of the US?
364
365(*) MPW doesn't like \000 in string literals?
366
367MPW patches, unixemu patches
368
369prepare tar files with
370 - mac think projects (*)
371 - mpw makefiles
372 - dos makefiles
373 - mac unixemu lib
374
375explain rules about == vs. 'is' for strings (* by others on the list)
376
377(*) bug in ceval.c DELETE_FAST
378
379(*) possible optimize LOAD_NAME -> LOAD_GLOBAL
380
381get dos python with suit (inesc)
382
383(*) docs for try/continue are wrong and unclear
384
385better hashing fn?
386
387(*) add improved nested indent to python-mode.el
388
389(*) add a section to tutorial on "new" features
390
391rewrite section on formatting in tutorial
392
393======================================================================
394TODO-TOO list:
395
396test for overflow when converting python long to float
397
398lift restrictions on tuple or list in many cases
399
400(*) allow long ints with sensible values for getargs "i"
401
402(*) multiline string literals
403
404what to do about 64-bit int literals (on 64-bit machines) in .pyc
405files? (Currently truncated w/o warning!)
406
407DOCUMENTATION UPDATE! E.g. ref.tex doesn't describe:
408(*) - line joins w/o backslash
409(*) - double-quoted strings; \" in strings
410 - more?
411Should double-check all changes with docs!
412
413(?) Interrupting output still sometimes doesn't call clearerr() properly
414
415sometimes ghost errors when interrupting during debugging in
416'continue' mode?
417
418typing a comment to a primary prompt shouldn't issue a secondary prompt
419
420readline: add hooks to recognize Python syntax and to expand Python
421commands and names
422
423should have absolute pathnames in function objects
424
425in general check that all the exceptions are modernized and that the
426messages aren't giving the same error twice (e.g., stdwinmodule.c!)
427
428- check read/write allowed for file objects
429
430- introduce macros to set/inspect errno for syscalls, to support things
431 like getoserr()
432
433======================================================================
434DOS/Windows Python
435
436(???) command line options?
437
438(*) os.system()
439
440(???) interrupts
441
442(???) wrap
443
444(*) pc module
445
446(*) dospath.py
447
448DOS/Windows Python -- TO DO
449
450(*) memtest from config.h
451
452(*) copy sources back
453
454(*) build DOS version
455
456(*) distribute 386 version
457
458(*) Mac 1.0.1 release?
459======================================================================