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