blob: 8802fbd50b4a8219a34835e8f142c86df8128bef [file] [log] [blame]
Guido van Rossum91cb9d21995-04-10 11:47:38 +00001(-) many module should export their symbolic constants instead of
2relying on a module written in Python
3
4(-) change regexmodule.c to cooperate with other non-python users and
5to export the symbolic constants
6
7(-) save/restore sys.exc_{type,value,traceback} around except clauses.
8
9(-) don't call class instance's __del__ more than once?????
10
11(-) add "access" to posix? What name should it have?
12
13(-) add facility to "freeze" lists and dictionaries?
14
15(-) add WNOHANG to posix
16
Guido van Rossum7b4d4601995-03-22 12:27:16 +000017(-) support lists in newgetargs()
Guido van Rossum0ddb0281995-01-17 16:46:14 +000018
Guido van Rossum7b4d4601995-03-22 12:27:16 +000019(-) syntax errors detected during compilation should give line number
20
21(-) dbm.open(): rwmode, filemode should be made optional; same for gdbm
22
23(-) find a bsd hash interface
24
25(-) posix.mkdir(): mode should be made optional
26
27(-) find a more useful order than alphabetical for Doc/libfuncs.tex
28
29======================================================================
30
31(*) use my getopt.c on Linux
32
33(*) get Extensions/X11/Doc checked in and out
Guido van Rossum0ddb0281995-01-17 16:46:14 +000034
35(-) investigate PPRC <URL:ftp://ftp.parc.xerox.com/pub/ppcr/>
36
Guido van Rossum79dddcb1995-01-12 12:25:42 +000037(*) add buffering parameter to fdopen() and popen()
38
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000039(-) interface to getdtablesize() in posix
40
Guido van Rossum76be6ed1995-01-02 18:33:54 +000041(-) reentrancy with global variables vs. decref in
42./Modules/cdmodule.c ./Modules/flmodule.c ./Objects/accessobject.c
43./Objects/frameobject.c ./Python/traceback.c
44
Guido van Rossum7b4d4601995-03-22 12:27:16 +000045(*) fix reentrancy in list updates?
Guido van Rossum79dddcb1995-01-12 12:25:42 +000046
Guido van Rossum76be6ed1995-01-02 18:33:54 +000047(-) speed up regsub.gsub
48
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000049(*) change md5.md5() to md5.new()
Guido van Rossum76be6ed1995-01-02 18:33:54 +000050
51(-) try posixenviron.c and merge back into posixmodule.c?
52
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000053(*) document chown()
Guido van Rossum76be6ed1995-01-02 18:33:54 +000054
55(-) add and document chroot() ?
56
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000057(*) use add gethostname_r and release thread lock when it exists
Guido van Rossum76be6ed1995-01-02 18:33:54 +000058
59(-) Add `@CFLAGS@', `@CPPFLAGS@', and `@LDFLAGS@' to `Makefile.in'
60
61(-) modules should be able to define a module destructor hook
62
Guido van Rossum79dddcb1995-01-12 12:25:42 +000063(-) destroy modules in reverse order of importation?
Guido van Rossum76be6ed1995-01-02 18:33:54 +000064
65(-) make array a standard built-in object
66
67(-) makesetup should accept .o files without corresponding .c file
68
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000069(*) use autoconf 2.0
Guido van Rossum76be6ed1995-01-02 18:33:54 +000070
71======================================================================
72Release 1.1.1 (10 Nov 1994)
73======================================================================
74
75(-) try Boehm/Dehmers/Weiser conservative garbage collector
76
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000077(*) implement new 'flatten' module
Guido van Rossum76be6ed1995-01-02 18:33:54 +000078
79(-) document new Python/C API
80
81(*) __import__, module imp
82
83(-) add various things to module dictionary, e.g. pathname, dictionary
84where found, __version__ string?
85
86(-) pass dict of builtins to exec / execfile / eval ???
87
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000088(?) stack frame correspondence problem (Jim Roskind)
Guido van Rossum79dddcb1995-01-12 12:25:42 +000089(probably solved by err_fetch / err_restore)
Guido van Rossum76be6ed1995-01-02 18:33:54 +000090
91(-) make lots of places use newgetargs
92
Guido van Rossum79dddcb1995-01-12 12:25:42 +000093(*) no tp_str member in typeobject
Guido van Rossum76be6ed1995-01-02 18:33:54 +000094
95(-) readline 2.0 on sequent has ^C problem (works only first time)
96
97(*) add explanatory comments to Setup (especially about SGI modules
98like 'cd')
99
100(-) need to add truncate() and ftruncate() to posixmodule.c (Windows:
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000101chsize(fd, size) (solution: added to file objects instead)
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000102
103======================================================================
104Release 1.1 (11 Oct 1994)
105======================================================================
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000106
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000107(-) improve performance of list.append/insert etc. by keeping high/low
108watermark instead of realloc'ing each time?
109
110(-) findmethod should cache (also findmember?)
111
112(-) sysget("check_interval") is called before each method call which
113breaks dictlookup caching
114
115(*) core dump on import of ridiculously long module name
116
117(-) core dump on repr / print of deeply nested or recursive object
118
119(*) parsing from string should calculate line numbers
120
121(-) whrandom doc needs update
122
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000123(*) mpz power is still binary insterad of ternary
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000124
125(*) design interface to call arbitrary asynchronous routines
126
127(*) whrandom.set...(0,0,0) doesn't generate random numbers
128
129(*) Lance's latest curses additions
130
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000131(*) Jack's new code:
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000132 (*) new xxmodule.c
133 (*) mac has type for .pyc files
134 (*) should run .pyc files when passed as command line argument
135
136(*) all new all singing all dancing freeze script
137
138(*) make clean should remove *.so and not Makefile.pre
139
140(-) fix signalmodule.c to re-establish SIGC[H]LD handler
141
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000142(*) try out Kees Blom's railroad diagram generator
Guido van Rossum0a516c91994-09-12 10:58:40 +0000143
Guido van Rossum7522f031994-08-30 12:42:01 +0000144(-) redesign error handling (cf. Donald's mail)
145
Guido van Rossum0a516c91994-09-12 10:58:40 +0000146(*) do MPW and THINK still not support sys_errlist? Indeed not (neither).
Guido van Rossum7522f031994-08-30 12:42:01 +0000147
148(-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
149
150(-) rename MPW_3_1 define (which really means 3.x)
151
Guido van Rossum0a516c91994-09-12 10:58:40 +0000152(*) incorporate urlparse.py, uu.py
Guido van Rossum7522f031994-08-30 12:42:01 +0000153
Guido van Rossum0a516c91994-09-12 10:58:40 +0000154(*) rewrite instance __getattr__ etc. to store ptr in class instead of
Guido van Rossum7522f031994-08-30 12:42:01 +0000155instance -- also have separate __delattr__
156
157(-) add warning to docs about sys.exc_traceback and sys.last_traceback.
158
159(-) Some stdwin wishes:
160
161 (-) stdwinmodule should keep track of textedit rec's per window
162 (in a chain) so it can unlink them when the window is closed
163 before the te rec
164
165 (-) textedit flashes at return or backspace
166
167 (-) there's no way to show the text caret after a multi-line paste?
168
Guido van Rossum0a516c91994-09-12 10:58:40 +0000169(*) termios module
Guido van Rossum7522f031994-08-30 12:42:01 +0000170
171(*) put signal patches out separately
172
173(-) latex docs for signal module
174
175(*) More MPW and Mac changes
176
Guido van Rossum0a516c91994-09-12 10:58:40 +0000177(*) Sjoerd's compileall script
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000178
179(-) systematically create /usr/local/lib/python/<machine>-<os>/
180 subdirectories, with a lib/ subdirectory containing the lib*.a
181 files etc.
182
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000183(-) need newer DOS binary (16 bit version doesn't do default args)
184
Guido van Rossum0a516c91994-09-12 10:58:40 +0000185(*) support for dynamically loadable libraries in makesetup and Extensions.
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000186 e.g. add a make rule to build .so files (unfortunately need to figure
187 out what ld option is needed) (more appropriate for makesetup
188 script?)
189
Guido van Rossum0a516c91994-09-12 10:58:40 +0000190(*) Move tkinter into the standard Modules directory; Tkinter c.s. to
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000191 Lib/tkinter etc. (???)
192
193(-) document Tk
194
195(-) class browser
196
197(-) interactive Python GUI (a la NT thingie)
198
Guido van Rossum0a516c91994-09-12 10:58:40 +0000199(*) speedup finddfa (and classify?)
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000200
201(-) more stuff under CVS (demo, extensions)
202
Guido van Rossum0a516c91994-09-12 10:58:40 +0000203(*) Mac port of 1.1
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000204
Guido van Rossum0a516c91994-09-12 10:58:40 +0000205(*) Mac port of STDWIN 0.9.9 to THINK C 6.0
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000206
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000207(-) use const for char * parameters (and many more) where possible
208
209(-) The Great Renaming!
210
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000211(*) redo __xxx__ operators for class instances
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000212
213(-) document __getattr__, __setattr__
214
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000215(*) add __delattr__ to class instances
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000216
217(-) many things that take strings should also take arrays of chars
218
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000219(-) add list of existing extensions to FAQ
220
221(-) update "recent additions" chapter in tutorial
222
223(-) rewrite "output formatting" chapter in tutorial
224
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000225(*) pass OPT from environment via configure to Makefile
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000226
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000227(*) version.c should be recompiled for each link
228
229(*) stropmodule should export find/rfind instead of index/rindex
230
231(*) add __getattr__, __setattr__ to class instances
232
233(*) fix pow(x, y, z) for integers
234
235(*) add tuple(seq) to turn any sequence into a tuple
236
237(*) Win32s for PC
238
239(*) integrate NT changes
240
241(*) write a script and add a "Make" rule (perhaps) that changes
Guido van Rossum5552eb71994-08-05 15:51:00 +0000242 #!/usr/local/bin/python to something else in all scripts around.
243
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000244(*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
245
246(*) add signal.alarm()
247
248(*) when abort()ing because of unexpected exception, print a message
249 first (Jack)
250
251----------------------------------------------------------------------
252(from BUGS1.0.1)
253----------------------------------------------------------------------
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000254(-) document addpack, urllib, ...
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000255
256(*) import.c from JaapV
257
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000258(*) document os.exec*
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000259
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000260(*) name sunaudiodevmodule.c is too long
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000261
262(*) play with / include SUIT interface
263
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000264(-) make regsub.[g]sub() optionally case insensitive
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000265
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000266======================================================================
267
268(*) ought to use features from autoconf 1.8
269
270(*) errors in __repr__() are handled wrong when called from format
271
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000272(*) long(0x80000000) has wrong value!
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000273
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000274(-) hex(0x80000000) shouldn't have sign (?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000275
276(*) need way to set buffering at file open time
277
278(*) need way to force stdout unbuffered
279
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000280(*) restart CVS tree
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000281
282(?) build shared libs for SunOS 4.1.3
283
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000284(-) dynamic linking on the Mac (is this a dream?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000285
286(*) X patches from Adrian Phillips
287
288(*) Jaap's freeze script
289
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000290(-) Incorporate with contrib status:
291 - additions to glmodule by rg3h
292 (*) Jaap's posixfile module (with locking)
293 (*) pthreads interface
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000294
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000295(-) Later:
296 - put the offending object in IOError and posix.error
297 - make module marshal work with user-defined file-like objects
298 - built-in help?
299 - hierarchical module names?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000300
301Big plans:
302
303- allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
304- great renaming
305- complete reflexive nature of the language, e.g. have interfaces et
306create any kind of object
307(*) GUI interface a la Tk
308
309
310======================================================================
311For FAQ:
312
313(*) why don't strings (numbers, tuples, ...) have methods / attributes
314
315(*) why are strings / numbers / tuples immutable
316
317why don't list methods return self
318
319======================================================================
320PM/TODO list after Egypt (from mailing list):
321
322make .pyc files executable (how?)
323
324thread status and improvements (lock stmt; signal/wait)
325
326optional optimizations
327
328pthread migration
329
330(*) test/incorporate new SUIT
331
332shorten excessively long filenames (sunaudiodevmodule.c)
333
334(*) default parameter values
335
336multiple interpreter objects
337
338(*) import shlib bug (irix5.2) (reload, dlclose)
339
340(*) addpack.py
341
342(*) newmodule.c (or other hacks to create new modules, classes, functions
343 etc. from their components)
344
345persistency
346
347new Dbhash.py, dbhash library
348
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000349(-) reraise; or raise 3rd param for traceback?
350 -or- except type, value, tbackobjec
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000351
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000352(-) redesign exceptions from scratch?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000353
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000354(-) dbm objects miss items(), values() methods
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000355
356(*) jar's new profile
357
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000358(-) answer q about coerce()
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000359
360(*) reconsider pass [expression] ??? -or- don't print non-interactive
361 exprs -or- option to suppress printing non-None expressions
362
363(*) should be able to hash code objs (add fns to convert between lists/tuples)
364
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000365(-) describe() ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000366
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000367(-) distribute demo2 with Holmes
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000368
369(*) re-reply on try-continue
370
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000371(-) classes are too slow
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000372
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000373(-) add += etc. ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000374
375optimize tuple = tuple
376
377allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
378
379wustl is not un the northwest of the US?
380
381(*) MPW doesn't like \000 in string literals?
382
383MPW patches, unixemu patches
384
385prepare tar files with
386 - mac think projects (*)
387 - mpw makefiles
388 - dos makefiles
389 - mac unixemu lib
390
391explain rules about == vs. 'is' for strings (* by others on the list)
392
393(*) bug in ceval.c DELETE_FAST
394
395(*) possible optimize LOAD_NAME -> LOAD_GLOBAL
396
397get dos python with suit (inesc)
398
399(*) docs for try/continue are wrong and unclear
400
401better hashing fn?
402
403(*) add improved nested indent to python-mode.el
404
405(*) add a section to tutorial on "new" features
406
407rewrite section on formatting in tutorial
408
409======================================================================
410TODO-TOO list:
411
412test for overflow when converting python long to float
413
414lift restrictions on tuple or list in many cases
415
416(*) allow long ints with sensible values for getargs "i"
417
418(*) multiline string literals
419
420what to do about 64-bit int literals (on 64-bit machines) in .pyc
421files? (Currently truncated w/o warning!)
422
423DOCUMENTATION UPDATE! E.g. ref.tex doesn't describe:
424(*) - line joins w/o backslash
425(*) - double-quoted strings; \" in strings
426 - more?
427Should double-check all changes with docs!
428
429(?) Interrupting output still sometimes doesn't call clearerr() properly
430
431sometimes ghost errors when interrupting during debugging in
432'continue' mode?
433
434typing a comment to a primary prompt shouldn't issue a secondary prompt
435
436readline: add hooks to recognize Python syntax and to expand Python
437commands and names
438
439should have absolute pathnames in function objects
440
441in general check that all the exceptions are modernized and that the
442messages aren't giving the same error twice (e.g., stdwinmodule.c!)
443
444- check read/write allowed for file objects
445
446- introduce macros to set/inspect errno for syscalls, to support things
447 like getoserr()
448
449======================================================================
450DOS/Windows Python
451
452(???) command line options?
453
454(*) os.system()
455
456(???) interrupts
457
458(???) wrap
459
460(*) pc module
461
462(*) dospath.py
463
464DOS/Windows Python -- TO DO
465
466(*) memtest from config.h
467
468(*) copy sources back
469
470(*) build DOS version
471
472(*) distribute 386 version
473
474(*) Mac 1.0.1 release?
475======================================================================