blob: 9871547abe2adbc8ef6dd69cfbbe593564e4ed94 [file] [log] [blame]
Guido van Rossumb85ae1a1994-10-06 16:15:09 +00001(*) 2 specific leaks: 1 PYTHONPATH; 2 reading code from .pyc
2
3(-) if __getattr__ prints something, calling repr(x) from cmd line
4forgets a newline
5
6(-) improve performance of list.append/insert etc. by keeping high/low
7watermark instead of realloc'ing each time?
8
9(-) findmethod should cache (also findmember?)
10
11(-) sysget("check_interval") is called before each method call which
12breaks dictlookup caching
13
14(*) core dump on import of ridiculously long module name
15
16(-) core dump on repr / print of deeply nested or recursive object
17
18(*) parsing from string should calculate line numbers
19
20(-) whrandom doc needs update
21
22(-) mpz power is still binary insterad of ternary
23
24(*) design interface to call arbitrary asynchronous routines
25
26(*) whrandom.set...(0,0,0) doesn't generate random numbers
27
28(*) Lance's latest curses additions
29
30(-) Jack's new code:
31 (*) new xxmodule.c
32 (*) mac has type for .pyc files
33 (*) should run .pyc files when passed as command line argument
34
35(*) all new all singing all dancing freeze script
36
37(*) make clean should remove *.so and not Makefile.pre
38
39(-) fix signalmodule.c to re-establish SIGC[H]LD handler
40
Guido van Rossum0a516c91994-09-12 10:58:40 +000041(-) try out Kees Blom's railroad diagram generator
42
Guido van Rossum7522f031994-08-30 12:42:01 +000043(-) redesign error handling (cf. Donald's mail)
44
Guido van Rossum0a516c91994-09-12 10:58:40 +000045(*) do MPW and THINK still not support sys_errlist? Indeed not (neither).
Guido van Rossum7522f031994-08-30 12:42:01 +000046
47(-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
48
49(-) rename MPW_3_1 define (which really means 3.x)
50
Guido van Rossum0a516c91994-09-12 10:58:40 +000051(*) incorporate urlparse.py, uu.py
Guido van Rossum7522f031994-08-30 12:42:01 +000052
Guido van Rossum0a516c91994-09-12 10:58:40 +000053(*) rewrite instance __getattr__ etc. to store ptr in class instead of
Guido van Rossum7522f031994-08-30 12:42:01 +000054instance -- also have separate __delattr__
55
56(-) add warning to docs about sys.exc_traceback and sys.last_traceback.
57
58(-) Some stdwin wishes:
59
60 (-) stdwinmodule should keep track of textedit rec's per window
61 (in a chain) so it can unlink them when the window is closed
62 before the te rec
63
64 (-) textedit flashes at return or backspace
65
66 (-) there's no way to show the text caret after a multi-line paste?
67
Guido van Rossum0a516c91994-09-12 10:58:40 +000068(*) termios module
Guido van Rossum7522f031994-08-30 12:42:01 +000069
70(*) put signal patches out separately
71
72(-) latex docs for signal module
73
74(*) More MPW and Mac changes
75
Guido van Rossum0a516c91994-09-12 10:58:40 +000076(*) Sjoerd's compileall script
Guido van Rossum3d67fee1994-08-17 12:33:50 +000077
78(-) systematically create /usr/local/lib/python/<machine>-<os>/
79 subdirectories, with a lib/ subdirectory containing the lib*.a
80 files etc.
81
Guido van Rossumc561e5d1994-08-23 13:52:46 +000082(-) need newer DOS binary (16 bit version doesn't do default args)
83
Guido van Rossum0a516c91994-09-12 10:58:40 +000084(*) support for dynamically loadable libraries in makesetup and Extensions.
Guido van Rossumc561e5d1994-08-23 13:52:46 +000085 e.g. add a make rule to build .so files (unfortunately need to figure
86 out what ld option is needed) (more appropriate for makesetup
87 script?)
88
Guido van Rossum0a516c91994-09-12 10:58:40 +000089(*) Move tkinter into the standard Modules directory; Tkinter c.s. to
Guido van Rossumc561e5d1994-08-23 13:52:46 +000090 Lib/tkinter etc. (???)
91
92(-) document Tk
93
94(-) class browser
95
96(-) interactive Python GUI (a la NT thingie)
97
Guido van Rossum0a516c91994-09-12 10:58:40 +000098(*) speedup finddfa (and classify?)
Guido van Rossumc561e5d1994-08-23 13:52:46 +000099
100(-) more stuff under CVS (demo, extensions)
101
Guido van Rossum0a516c91994-09-12 10:58:40 +0000102(*) Mac port of 1.1
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000103
Guido van Rossum0a516c91994-09-12 10:58:40 +0000104(*) Mac port of STDWIN 0.9.9 to THINK C 6.0
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000105
Guido van Rossum3d67fee1994-08-17 12:33:50 +0000106(-) use const for char * parameters (and many more) where possible
107
108(-) The Great Renaming!
109
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000110(-) redo __xxx__ operators for class instances
111
112(-) document __getattr__, __setattr__
113
114(-) add __delattr__ to class instances
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000115
116(-) many things that take strings should also take arrays of chars
117
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000118(-) add list of existing extensions to FAQ
119
120(-) update "recent additions" chapter in tutorial
121
122(-) rewrite "output formatting" chapter in tutorial
123
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000124(*) pass OPT from environment via configure to Makefile
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000125
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000126(*) version.c should be recompiled for each link
127
128(*) stropmodule should export find/rfind instead of index/rindex
129
130(*) add __getattr__, __setattr__ to class instances
131
132(*) fix pow(x, y, z) for integers
133
134(*) add tuple(seq) to turn any sequence into a tuple
135
136(*) Win32s for PC
137
138(*) integrate NT changes
139
140(*) write a script and add a "Make" rule (perhaps) that changes
Guido van Rossum5552eb71994-08-05 15:51:00 +0000141 #!/usr/local/bin/python to something else in all scripts around.
142
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000143(*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
144
145(*) add signal.alarm()
146
147(*) when abort()ing because of unexpected exception, print a message
148 first (Jack)
149
150----------------------------------------------------------------------
151(from BUGS1.0.1)
152----------------------------------------------------------------------
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000153(-) document addpack, urllib, ...
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000154
155(*) import.c from JaapV
156
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000157(*) document os.exec*
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000158
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000159(*) name sunaudiodevmodule.c is too long
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000160
161(*) play with / include SUIT interface
162
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000163(-) make regsub.[g]sub() optionally case insensitive
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000164
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000165======================================================================
166
167(*) ought to use features from autoconf 1.8
168
169(*) errors in __repr__() are handled wrong when called from format
170
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000171(*) long(0x80000000) has wrong value!
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000172
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000173(-) hex(0x80000000) shouldn't have sign (?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000174
175(*) need way to set buffering at file open time
176
177(*) need way to force stdout unbuffered
178
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000179(*) restart CVS tree
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000180
181(?) build shared libs for SunOS 4.1.3
182
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000183(-) dynamic linking on the Mac (is this a dream?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000184
185(*) X patches from Adrian Phillips
186
187(*) Jaap's freeze script
188
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000189(-) Incorporate with contrib status:
190 - additions to glmodule by rg3h
191 (*) Jaap's posixfile module (with locking)
192 (*) pthreads interface
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000193
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000194(-) Later:
195 - put the offending object in IOError and posix.error
196 - make module marshal work with user-defined file-like objects
197 - built-in help?
198 - hierarchical module names?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000199
200Big plans:
201
202- allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
203- great renaming
204- complete reflexive nature of the language, e.g. have interfaces et
205create any kind of object
206(*) GUI interface a la Tk
207
208
209======================================================================
210For FAQ:
211
212(*) why don't strings (numbers, tuples, ...) have methods / attributes
213
214(*) why are strings / numbers / tuples immutable
215
216why don't list methods return self
217
218======================================================================
219PM/TODO list after Egypt (from mailing list):
220
221make .pyc files executable (how?)
222
223thread status and improvements (lock stmt; signal/wait)
224
225optional optimizations
226
227pthread migration
228
229(*) test/incorporate new SUIT
230
231shorten excessively long filenames (sunaudiodevmodule.c)
232
233(*) default parameter values
234
235multiple interpreter objects
236
237(*) import shlib bug (irix5.2) (reload, dlclose)
238
239(*) addpack.py
240
241(*) newmodule.c (or other hacks to create new modules, classes, functions
242 etc. from their components)
243
244persistency
245
246new Dbhash.py, dbhash library
247
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000248(-) reraise; or raise 3rd param for traceback?
249 -or- except type, value, tbackobjec
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000250
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000251(-) redesign exceptions from scratch?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000252
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000253(-) dbm objects miss items(), values() methods
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000254
255(*) jar's new profile
256
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000257(-) answer q about coerce()
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000258
259(*) reconsider pass [expression] ??? -or- don't print non-interactive
260 exprs -or- option to suppress printing non-None expressions
261
262(*) should be able to hash code objs (add fns to convert between lists/tuples)
263
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000264(-) describe() ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000265
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000266(-) distribute demo2 with Holmes
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000267
268(*) re-reply on try-continue
269
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000270(-) classes are too slow
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000271
Guido van Rossumb85ae1a1994-10-06 16:15:09 +0000272(-) add += etc. ?
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000273
274optimize tuple = tuple
275
276allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
277
278wustl is not un the northwest of the US?
279
280(*) MPW doesn't like \000 in string literals?
281
282MPW patches, unixemu patches
283
284prepare tar files with
285 - mac think projects (*)
286 - mpw makefiles
287 - dos makefiles
288 - mac unixemu lib
289
290explain rules about == vs. 'is' for strings (* by others on the list)
291
292(*) bug in ceval.c DELETE_FAST
293
294(*) possible optimize LOAD_NAME -> LOAD_GLOBAL
295
296get dos python with suit (inesc)
297
298(*) docs for try/continue are wrong and unclear
299
300better hashing fn?
301
302(*) add improved nested indent to python-mode.el
303
304(*) add a section to tutorial on "new" features
305
306rewrite section on formatting in tutorial
307
308======================================================================
309TODO-TOO list:
310
311test for overflow when converting python long to float
312
313lift restrictions on tuple or list in many cases
314
315(*) allow long ints with sensible values for getargs "i"
316
317(*) multiline string literals
318
319what to do about 64-bit int literals (on 64-bit machines) in .pyc
320files? (Currently truncated w/o warning!)
321
322DOCUMENTATION UPDATE! E.g. ref.tex doesn't describe:
323(*) - line joins w/o backslash
324(*) - double-quoted strings; \" in strings
325 - more?
326Should double-check all changes with docs!
327
328(?) Interrupting output still sometimes doesn't call clearerr() properly
329
330sometimes ghost errors when interrupting during debugging in
331'continue' mode?
332
333typing a comment to a primary prompt shouldn't issue a secondary prompt
334
335readline: add hooks to recognize Python syntax and to expand Python
336commands and names
337
338should have absolute pathnames in function objects
339
340in general check that all the exceptions are modernized and that the
341messages aren't giving the same error twice (e.g., stdwinmodule.c!)
342
343- check read/write allowed for file objects
344
345- introduce macros to set/inspect errno for syscalls, to support things
346 like getoserr()
347
348======================================================================
349DOS/Windows Python
350
351(???) command line options?
352
353(*) os.system()
354
355(???) interrupts
356
357(???) wrap
358
359(*) pc module
360
361(*) dospath.py
362
363DOS/Windows Python -- TO DO
364
365(*) memtest from config.h
366
367(*) copy sources back
368
369(*) build DOS version
370
371(*) distribute 386 version
372
373(*) Mac 1.0.1 release?
374======================================================================