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