blob: f147d3d8c503cda0e11fec151139e7e4b45e19fd [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 Rossumaf5b83e1995-01-04 19:02:35 +000023(-) goaway() / cleanup() should call AtExit funcs *after* doneimport()
Guido van Rossum76be6ed1995-01-02 18:33:54 +000024
25(-) destroy modules in reverse order of importation
26
27(-) make array a standard built-in object
28
29(-) makesetup should accept .o files without corresponding .c file
30
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000031(*) use autoconf 2.0
Guido van Rossum76be6ed1995-01-02 18:33:54 +000032
33======================================================================
34Release 1.1.1 (10 Nov 1994)
35======================================================================
36
37(-) try Boehm/Dehmers/Weiser conservative garbage collector
38
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000039(*) implement new 'flatten' module
Guido van Rossum76be6ed1995-01-02 18:33:54 +000040
41(-) document new Python/C API
42
43(*) __import__, module imp
44
45(-) add various things to module dictionary, e.g. pathname, dictionary
46where found, __version__ string?
47
48(-) pass dict of builtins to exec / execfile / eval ???
49
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000050(?) stack frame correspondence problem (Jim Roskind)
Guido van Rossum76be6ed1995-01-02 18:33:54 +000051(probably solved by err_setval_tb)
52
53(-) make lots of places use newgetargs
54
55(-) no tp_str member in typeobject
56
57(-) readline 2.0 on sequent has ^C problem (works only first time)
58
59(*) add explanatory comments to Setup (especially about SGI modules
60like 'cd')
61
62(-) need to add truncate() and ftruncate() to posixmodule.c (Windows:
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000063chsize(fd, size) (solution: added to file objects instead)
Guido van Rossum76be6ed1995-01-02 18:33:54 +000064
65======================================================================
66Release 1.1 (11 Oct 1994)
67======================================================================
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000068
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000069(-) improve performance of list.append/insert etc. by keeping high/low
70watermark instead of realloc'ing each time?
71
72(-) findmethod should cache (also findmember?)
73
74(-) sysget("check_interval") is called before each method call which
75breaks dictlookup caching
76
77(*) core dump on import of ridiculously long module name
78
79(-) core dump on repr / print of deeply nested or recursive object
80
81(*) parsing from string should calculate line numbers
82
83(-) whrandom doc needs update
84
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000085(*) mpz power is still binary insterad of ternary
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000086
87(*) design interface to call arbitrary asynchronous routines
88
89(*) whrandom.set...(0,0,0) doesn't generate random numbers
90
91(*) Lance's latest curses additions
92
Guido van Rossumaf5b83e1995-01-04 19:02:35 +000093(*) Jack's new code:
Guido van Rossumb85ae1a1994-10-06 16:15:09 +000094 (*) new xxmodule.c
95 (*) mac has type for .pyc files
96 (*) should run .pyc files when passed as command line argument
97
98(*) all new all singing all dancing freeze script
99
100(*) make clean should remove *.so and not Makefile.pre
101
102(-) fix signalmodule.c to re-establish SIGC[H]LD handler
103
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000104(*) try out Kees Blom's railroad diagram generator
Guido van Rossum0a516c91994-09-12 10:58:40 +0000105
Guido van Rossum7522f031994-08-30 12:42:01 +0000106(-) redesign error handling (cf. Donald's mail)
107
Guido van Rossum0a516c91994-09-12 10:58:40 +0000108(*) do MPW and THINK still not support sys_errlist? Indeed not (neither).
Guido van Rossum7522f031994-08-30 12:42:01 +0000109
110(-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
111
112(-) rename MPW_3_1 define (which really means 3.x)
113
Guido van Rossum0a516c91994-09-12 10:58:40 +0000114(*) incorporate urlparse.py, uu.py
Guido van Rossum7522f031994-08-30 12:42:01 +0000115
Guido van Rossum0a516c91994-09-12 10:58:40 +0000116(*) rewrite instance __getattr__ etc. to store ptr in class instead of
Guido van Rossum7522f031994-08-30 12:42:01 +0000117instance -- also have separate __delattr__
118
119(-) add warning to docs about sys.exc_traceback and sys.last_traceback.
120
121(-) Some stdwin wishes:
122
123 (-) stdwinmodule should keep track of textedit rec's per window
124 (in a chain) so it can unlink them when the window is closed
125 before the te rec
126
127 (-) textedit flashes at return or backspace
128
129 (-) there's no way to show the text caret after a multi-line paste?
130
Guido van Rossum0a516c91994-09-12 10:58:40 +0000131(*) termios module
Guido van Rossum7522f031994-08-30 12:42:01 +0000132
133(*) put signal patches out separately
134
135(-) latex docs for signal module
136
137(*) More MPW and Mac changes
138
Guido van Rossum0a516c91994-09-12 10:58:40 +0000139(*) Sjoerd's compileall script
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000140
141(-) systematically create /usr/local/lib/python/<machine>-<os>/
142 subdirectories, with a lib/ subdirectory containing the lib*.a
143 files etc.
144
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000145(-) need newer DOS binary (16 bit version doesn't do default args)
146
Guido van Rossum0a516c91994-09-12 10:58:40 +0000147(*) support for dynamically loadable libraries in makesetup and Extensions.
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000148 e.g. add a make rule to build .so files (unfortunately need to figure
149 out what ld option is needed) (more appropriate for makesetup
150 script?)
151
Guido van Rossum0a516c91994-09-12 10:58:40 +0000152(*) Move tkinter into the standard Modules directory; Tkinter c.s. to
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000153 Lib/tkinter etc. (???)
154
155(-) document Tk
156
157(-) class browser
158
159(-) interactive Python GUI (a la NT thingie)
160
Guido van Rossum0a516c91994-09-12 10:58:40 +0000161(*) speedup finddfa (and classify?)
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000162
163(-) more stuff under CVS (demo, extensions)
164
Guido van Rossum0a516c91994-09-12 10:58:40 +0000165(*) Mac port of 1.1
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000166
Guido van Rossum0a516c91994-09-12 10:58:40 +0000167(*) Mac port of STDWIN 0.9.9 to THINK C 6.0
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000168
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000169(-) use const for char * parameters (and many more) where possible
170
171(-) The Great Renaming!
172
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000173(*) redo __xxx__ operators for class instances
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000174
175(-) document __getattr__, __setattr__
176
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000177(*) add __delattr__ to class instances
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000178
179(-) many things that take strings should also take arrays of chars
180
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000181(-) add list of existing extensions to FAQ
182
183(-) update "recent additions" chapter in tutorial
184
185(-) rewrite "output formatting" chapter in tutorial
186
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000187(*) pass OPT from environment via configure to Makefile
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000188
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000189(*) version.c should be recompiled for each link
190
191(*) stropmodule should export find/rfind instead of index/rindex
192
193(*) add __getattr__, __setattr__ to class instances
194
195(*) fix pow(x, y, z) for integers
196
197(*) add tuple(seq) to turn any sequence into a tuple
198
199(*) Win32s for PC
200
201(*) integrate NT changes
202
203(*) write a script and add a "Make" rule (perhaps) that changes
Guido van Rossum5552eb71994-08-05 15:51:00 +0000204 #!/usr/local/bin/python to something else in all scripts around.
205
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000206(*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
207
208(*) add signal.alarm()
209
210(*) when abort()ing because of unexpected exception, print a message
211 first (Jack)
212
213----------------------------------------------------------------------
214(from BUGS1.0.1)
215----------------------------------------------------------------------
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000216(-) document addpack, urllib, ...
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000217
218(*) import.c from JaapV
219
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000220(*) document os.exec*
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000221
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000222(*) name sunaudiodevmodule.c is too long
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000223
224(*) play with / include SUIT interface
225
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000226(-) make regsub.[g]sub() optionally case insensitive
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000227
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000228======================================================================
229
230(*) ought to use features from autoconf 1.8
231
232(*) errors in __repr__() are handled wrong when called from format
233
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000234(*) long(0x80000000) has wrong value!
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000235
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000236(-) hex(0x80000000) shouldn't have sign (?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000237
238(*) need way to set buffering at file open time
239
240(*) need way to force stdout unbuffered
241
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000242(*) restart CVS tree
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000243
244(?) build shared libs for SunOS 4.1.3
245
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000246(-) dynamic linking on the Mac (is this a dream?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000247
248(*) X patches from Adrian Phillips
249
250(*) Jaap's freeze script
251
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000252(-) Incorporate with contrib status:
253 - additions to glmodule by rg3h
254 (*) Jaap's posixfile module (with locking)
255 (*) pthreads interface
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000256
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000257(-) Later:
258 - put the offending object in IOError and posix.error
259 - make module marshal work with user-defined file-like objects
260 - built-in help?
261 - hierarchical module names?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000262
263Big plans:
264
265- allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
266- great renaming
267- complete reflexive nature of the language, e.g. have interfaces et
268create any kind of object
269(*) GUI interface a la Tk
270
271
272======================================================================
273For FAQ:
274
275(*) why don't strings (numbers, tuples, ...) have methods / attributes
276
277(*) why are strings / numbers / tuples immutable
278
279why don't list methods return self
280
281======================================================================
282PM/TODO list after Egypt (from mailing list):
283
284make .pyc files executable (how?)
285
286thread status and improvements (lock stmt; signal/wait)
287
288optional optimizations
289
290pthread migration
291
292(*) test/incorporate new SUIT
293
294shorten excessively long filenames (sunaudiodevmodule.c)
295
296(*) default parameter values
297
298multiple interpreter objects
299
300(*) import shlib bug (irix5.2) (reload, dlclose)
301
302(*) addpack.py
303
304(*) newmodule.c (or other hacks to create new modules, classes, functions
305 etc. from their components)
306
307persistency
308
309new Dbhash.py, dbhash library
310
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000311(-) reraise; or raise 3rd param for traceback?
312 -or- except type, value, tbackobjec
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000313
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000314(-) redesign exceptions from scratch?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000315
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000316(-) dbm objects miss items(), values() methods
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000317
318(*) jar's new profile
319
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000320(-) answer q about coerce()
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000321
322(*) reconsider pass [expression] ??? -or- don't print non-interactive
323 exprs -or- option to suppress printing non-None expressions
324
325(*) should be able to hash code objs (add fns to convert between lists/tuples)
326
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000327(-) describe() ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000328
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000329(-) distribute demo2 with Holmes
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000330
331(*) re-reply on try-continue
332
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000333(-) classes are too slow
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000334
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000335(-) add += etc. ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000336
337optimize tuple = tuple
338
339allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
340
341wustl is not un the northwest of the US?
342
343(*) MPW doesn't like \000 in string literals?
344
345MPW patches, unixemu patches
346
347prepare tar files with
348 - mac think projects (*)
349 - mpw makefiles
350 - dos makefiles
351 - mac unixemu lib
352
353explain rules about == vs. 'is' for strings (* by others on the list)
354
355(*) bug in ceval.c DELETE_FAST
356
357(*) possible optimize LOAD_NAME -> LOAD_GLOBAL
358
359get dos python with suit (inesc)
360
361(*) docs for try/continue are wrong and unclear
362
363better hashing fn?
364
365(*) add improved nested indent to python-mode.el
366
367(*) add a section to tutorial on "new" features
368
369rewrite section on formatting in tutorial
370
371======================================================================
372TODO-TOO list:
373
374test for overflow when converting python long to float
375
376lift restrictions on tuple or list in many cases
377
378(*) allow long ints with sensible values for getargs "i"
379
380(*) multiline string literals
381
382what to do about 64-bit int literals (on 64-bit machines) in .pyc
383files? (Currently truncated w/o warning!)
384
385DOCUMENTATION UPDATE! E.g. ref.tex doesn't describe:
386(*) - line joins w/o backslash
387(*) - double-quoted strings; \" in strings
388 - more?
389Should double-check all changes with docs!
390
391(?) Interrupting output still sometimes doesn't call clearerr() properly
392
393sometimes ghost errors when interrupting during debugging in
394'continue' mode?
395
396typing a comment to a primary prompt shouldn't issue a secondary prompt
397
398readline: add hooks to recognize Python syntax and to expand Python
399commands and names
400
401should have absolute pathnames in function objects
402
403in general check that all the exceptions are modernized and that the
404messages aren't giving the same error twice (e.g., stdwinmodule.c!)
405
406- check read/write allowed for file objects
407
408- introduce macros to set/inspect errno for syscalls, to support things
409 like getoserr()
410
411======================================================================
412DOS/Windows Python
413
414(???) command line options?
415
416(*) os.system()
417
418(???) interrupts
419
420(???) wrap
421
422(*) pc module
423
424(*) dospath.py
425
426DOS/Windows Python -- TO DO
427
428(*) memtest from config.h
429
430(*) copy sources back
431
432(*) build DOS version
433
434(*) distribute 386 version
435
436(*) Mac 1.0.1 release?
437======================================================================