blob: 721d80c2d0ebd4f79a1e5e32fc52378fab914baf [file] [log] [blame]
Guido van Rossum79dddcb1995-01-12 12:25:42 +00001(*) add buffering parameter to fdopen() and popen()
2
3(-) "f()=0" generates syntax error msg without line number
4
Guido van Rossumaf5b83e1995-01-04 19:02:35 +00005(-) interface to getdtablesize() in posix
6
Guido van Rossum76be6ed1995-01-02 18:33:54 +00007(-) reentrancy with global variables vs. decref in
8./Modules/cdmodule.c ./Modules/flmodule.c ./Objects/accessobject.c
9./Objects/frameobject.c ./Python/traceback.c
10
Guido van Rossum79dddcb1995-01-12 12:25:42 +000011(-) check reentrancy in list updates?
12
Guido van Rossum76be6ed1995-01-02 18:33:54 +000013(-) speed up regsub.gsub
14
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000015(*) change md5.md5() to md5.new()
Guido van Rossum76be6ed1995-01-02 18:33:54 +000016
17(-) try posixenviron.c and merge back into posixmodule.c?
18
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000019(*) document chown()
Guido van Rossum76be6ed1995-01-02 18:33:54 +000020
21(-) add and document chroot() ?
22
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000023(*) use add gethostname_r and release thread lock when it exists
Guido van Rossum76be6ed1995-01-02 18:33:54 +000024
25(-) Add `@CFLAGS@', `@CPPFLAGS@', and `@LDFLAGS@' to `Makefile.in'
26
27(-) modules should be able to define a module destructor hook
28
Guido van Rossum79dddcb1995-01-12 12:25:42 +000029(-) destroy modules in reverse order of importation?
Guido van Rossum76be6ed1995-01-02 18:33:54 +000030
31(-) make array a standard built-in object
32
33(-) makesetup should accept .o files without corresponding .c file
34
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000035(*) use autoconf 2.0
Guido van Rossum76be6ed1995-01-02 18:33:54 +000036
37======================================================================
38Release 1.1.1 (10 Nov 1994)
39======================================================================
40
41(-) try Boehm/Dehmers/Weiser conservative garbage collector
42
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000043(*) implement new 'flatten' module
Guido van Rossum76be6ed1995-01-02 18:33:54 +000044
45(-) document new Python/C API
46
47(*) __import__, module imp
48
49(-) add various things to module dictionary, e.g. pathname, dictionary
50where found, __version__ string?
51
52(-) pass dict of builtins to exec / execfile / eval ???
53
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000054(?) stack frame correspondence problem (Jim Roskind)
Guido van Rossum79dddcb1995-01-12 12:25:42 +000055(probably solved by err_fetch / err_restore)
Guido van Rossum76be6ed1995-01-02 18:33:54 +000056
57(-) make lots of places use newgetargs
58
Guido van Rossum79dddcb1995-01-12 12:25:42 +000059(*) no tp_str member in typeobject
Guido van Rossum76be6ed1995-01-02 18:33:54 +000060
61(-) readline 2.0 on sequent has ^C problem (works only first time)
62
63(*) add explanatory comments to Setup (especially about SGI modules
64like 'cd')
65
66(-) need to add truncate() and ftruncate() to posixmodule.c (Windows:
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000067chsize(fd, size) (solution: added to file objects instead)
Guido van Rossum76be6ed1995-01-02 18:33:54 +000068
69======================================================================
70Release 1.1 (11 Oct 1994)
71======================================================================
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000072
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000073(-) improve performance of list.append/insert etc. by keeping high/low
74watermark instead of realloc'ing each time?
75
76(-) findmethod should cache (also findmember?)
77
78(-) sysget("check_interval") is called before each method call which
79breaks dictlookup caching
80
81(*) core dump on import of ridiculously long module name
82
83(-) core dump on repr / print of deeply nested or recursive object
84
85(*) parsing from string should calculate line numbers
86
87(-) whrandom doc needs update
88
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000089(*) mpz power is still binary insterad of ternary
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000090
91(*) design interface to call arbitrary asynchronous routines
92
93(*) whrandom.set...(0,0,0) doesn't generate random numbers
94
95(*) Lance's latest curses additions
96
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000097(*) Jack's new code:
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000098 (*) new xxmodule.c
99 (*) mac has type for .pyc files
100 (*) should run .pyc files when passed as command line argument
101
102(*) all new all singing all dancing freeze script
103
104(*) make clean should remove *.so and not Makefile.pre
105
106(-) fix signalmodule.c to re-establish SIGC[H]LD handler
107
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000108(*) try out Kees Blom's railroad diagram generator
Guido van Rossum0a516c91994-09-12 10:58:40 +0000109
Guido van Rossum7522f031994-08-30 12:42:01 +0000110(-) redesign error handling (cf. Donald's mail)
111
Guido van Rossum0a516c91994-09-12 10:58:40 +0000112(*) do MPW and THINK still not support sys_errlist? Indeed not (neither).
Guido van Rossum7522f031994-08-30 12:42:01 +0000113
114(-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
115
116(-) rename MPW_3_1 define (which really means 3.x)
117
Guido van Rossum0a516c91994-09-12 10:58:40 +0000118(*) incorporate urlparse.py, uu.py
Guido van Rossum7522f031994-08-30 12:42:01 +0000119
Guido van Rossum0a516c91994-09-12 10:58:40 +0000120(*) rewrite instance __getattr__ etc. to store ptr in class instead of
Guido van Rossum7522f031994-08-30 12:42:01 +0000121instance -- also have separate __delattr__
122
123(-) add warning to docs about sys.exc_traceback and sys.last_traceback.
124
125(-) Some stdwin wishes:
126
127 (-) stdwinmodule should keep track of textedit rec's per window
128 (in a chain) so it can unlink them when the window is closed
129 before the te rec
130
131 (-) textedit flashes at return or backspace
132
133 (-) there's no way to show the text caret after a multi-line paste?
134
Guido van Rossum0a516c91994-09-12 10:58:40 +0000135(*) termios module
Guido van Rossum7522f031994-08-30 12:42:01 +0000136
137(*) put signal patches out separately
138
139(-) latex docs for signal module
140
141(*) More MPW and Mac changes
142
Guido van Rossum0a516c91994-09-12 10:58:40 +0000143(*) Sjoerd's compileall script
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000144
145(-) systematically create /usr/local/lib/python/<machine>-<os>/
146 subdirectories, with a lib/ subdirectory containing the lib*.a
147 files etc.
148
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000149(-) need newer DOS binary (16 bit version doesn't do default args)
150
Guido van Rossum0a516c91994-09-12 10:58:40 +0000151(*) support for dynamically loadable libraries in makesetup and Extensions.
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000152 e.g. add a make rule to build .so files (unfortunately need to figure
153 out what ld option is needed) (more appropriate for makesetup
154 script?)
155
Guido van Rossum0a516c91994-09-12 10:58:40 +0000156(*) Move tkinter into the standard Modules directory; Tkinter c.s. to
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000157 Lib/tkinter etc. (???)
158
159(-) document Tk
160
161(-) class browser
162
163(-) interactive Python GUI (a la NT thingie)
164
Guido van Rossum0a516c91994-09-12 10:58:40 +0000165(*) speedup finddfa (and classify?)
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000166
167(-) more stuff under CVS (demo, extensions)
168
Guido van Rossum0a516c91994-09-12 10:58:40 +0000169(*) Mac port of 1.1
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000170
Guido van Rossum0a516c91994-09-12 10:58:40 +0000171(*) Mac port of STDWIN 0.9.9 to THINK C 6.0
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000172
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000173(-) use const for char * parameters (and many more) where possible
174
175(-) The Great Renaming!
176
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000177(*) redo __xxx__ operators for class instances
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000178
179(-) document __getattr__, __setattr__
180
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000181(*) add __delattr__ to class instances
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000182
183(-) many things that take strings should also take arrays of chars
184
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000185(-) add list of existing extensions to FAQ
186
187(-) update "recent additions" chapter in tutorial
188
189(-) rewrite "output formatting" chapter in tutorial
190
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000191(*) pass OPT from environment via configure to Makefile
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000192
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000193(*) version.c should be recompiled for each link
194
195(*) stropmodule should export find/rfind instead of index/rindex
196
197(*) add __getattr__, __setattr__ to class instances
198
199(*) fix pow(x, y, z) for integers
200
201(*) add tuple(seq) to turn any sequence into a tuple
202
203(*) Win32s for PC
204
205(*) integrate NT changes
206
207(*) write a script and add a "Make" rule (perhaps) that changes
Guido van Rossum5552eb71994-08-05 15:51:00 +0000208 #!/usr/local/bin/python to something else in all scripts around.
209
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000210(*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
211
212(*) add signal.alarm()
213
214(*) when abort()ing because of unexpected exception, print a message
215 first (Jack)
216
217----------------------------------------------------------------------
218(from BUGS1.0.1)
219----------------------------------------------------------------------
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000220(-) document addpack, urllib, ...
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000221
222(*) import.c from JaapV
223
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000224(*) document os.exec*
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000225
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000226(*) name sunaudiodevmodule.c is too long
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000227
228(*) play with / include SUIT interface
229
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000230(-) make regsub.[g]sub() optionally case insensitive
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000231
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000232======================================================================
233
234(*) ought to use features from autoconf 1.8
235
236(*) errors in __repr__() are handled wrong when called from format
237
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000238(*) long(0x80000000) has wrong value!
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000239
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000240(-) hex(0x80000000) shouldn't have sign (?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000241
242(*) need way to set buffering at file open time
243
244(*) need way to force stdout unbuffered
245
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000246(*) restart CVS tree
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000247
248(?) build shared libs for SunOS 4.1.3
249
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000250(-) dynamic linking on the Mac (is this a dream?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000251
252(*) X patches from Adrian Phillips
253
254(*) Jaap's freeze script
255
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000256(-) Incorporate with contrib status:
257 - additions to glmodule by rg3h
258 (*) Jaap's posixfile module (with locking)
259 (*) pthreads interface
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000260
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000261(-) Later:
262 - put the offending object in IOError and posix.error
263 - make module marshal work with user-defined file-like objects
264 - built-in help?
265 - hierarchical module names?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000266
267Big plans:
268
269- allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
270- great renaming
271- complete reflexive nature of the language, e.g. have interfaces et
272create any kind of object
273(*) GUI interface a la Tk
274
275
276======================================================================
277For FAQ:
278
279(*) why don't strings (numbers, tuples, ...) have methods / attributes
280
281(*) why are strings / numbers / tuples immutable
282
283why don't list methods return self
284
285======================================================================
286PM/TODO list after Egypt (from mailing list):
287
288make .pyc files executable (how?)
289
290thread status and improvements (lock stmt; signal/wait)
291
292optional optimizations
293
294pthread migration
295
296(*) test/incorporate new SUIT
297
298shorten excessively long filenames (sunaudiodevmodule.c)
299
300(*) default parameter values
301
302multiple interpreter objects
303
304(*) import shlib bug (irix5.2) (reload, dlclose)
305
306(*) addpack.py
307
308(*) newmodule.c (or other hacks to create new modules, classes, functions
309 etc. from their components)
310
311persistency
312
313new Dbhash.py, dbhash library
314
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000315(-) reraise; or raise 3rd param for traceback?
316 -or- except type, value, tbackobjec
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000317
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000318(-) redesign exceptions from scratch?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000319
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000320(-) dbm objects miss items(), values() methods
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000321
322(*) jar's new profile
323
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000324(-) answer q about coerce()
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000325
326(*) reconsider pass [expression] ??? -or- don't print non-interactive
327 exprs -or- option to suppress printing non-None expressions
328
329(*) should be able to hash code objs (add fns to convert between lists/tuples)
330
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000331(-) describe() ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000332
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000333(-) distribute demo2 with Holmes
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000334
335(*) re-reply on try-continue
336
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000337(-) classes are too slow
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000338
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000339(-) add += etc. ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000340
341optimize tuple = tuple
342
343allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
344
345wustl is not un the northwest of the US?
346
347(*) MPW doesn't like \000 in string literals?
348
349MPW patches, unixemu patches
350
351prepare tar files with
352 - mac think projects (*)
353 - mpw makefiles
354 - dos makefiles
355 - mac unixemu lib
356
357explain rules about == vs. 'is' for strings (* by others on the list)
358
359(*) bug in ceval.c DELETE_FAST
360
361(*) possible optimize LOAD_NAME -> LOAD_GLOBAL
362
363get dos python with suit (inesc)
364
365(*) docs for try/continue are wrong and unclear
366
367better hashing fn?
368
369(*) add improved nested indent to python-mode.el
370
371(*) add a section to tutorial on "new" features
372
373rewrite section on formatting in tutorial
374
375======================================================================
376TODO-TOO list:
377
378test for overflow when converting python long to float
379
380lift restrictions on tuple or list in many cases
381
382(*) allow long ints with sensible values for getargs "i"
383
384(*) multiline string literals
385
386what to do about 64-bit int literals (on 64-bit machines) in .pyc
387files? (Currently truncated w/o warning!)
388
389DOCUMENTATION UPDATE! E.g. ref.tex doesn't describe:
390(*) - line joins w/o backslash
391(*) - double-quoted strings; \" in strings
392 - more?
393Should double-check all changes with docs!
394
395(?) Interrupting output still sometimes doesn't call clearerr() properly
396
397sometimes ghost errors when interrupting during debugging in
398'continue' mode?
399
400typing a comment to a primary prompt shouldn't issue a secondary prompt
401
402readline: add hooks to recognize Python syntax and to expand Python
403commands and names
404
405should have absolute pathnames in function objects
406
407in general check that all the exceptions are modernized and that the
408messages aren't giving the same error twice (e.g., stdwinmodule.c!)
409
410- check read/write allowed for file objects
411
412- introduce macros to set/inspect errno for syscalls, to support things
413 like getoserr()
414
415======================================================================
416DOS/Windows Python
417
418(???) command line options?
419
420(*) os.system()
421
422(???) interrupts
423
424(???) wrap
425
426(*) pc module
427
428(*) dospath.py
429
430DOS/Windows Python -- TO DO
431
432(*) memtest from config.h
433
434(*) copy sources back
435
436(*) build DOS version
437
438(*) distribute 386 version
439
440(*) Mac 1.0.1 release?
441======================================================================