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