blob: 1b2b7024829d1a1ca1ea76af7f432a6e733149fd [file] [log] [blame]
Guido van Rossum7522f031994-08-30 12:42:01 +00001(-) redesign error handling (cf. Donald's mail)
2
3(-) do MPW and THINK still not support sys_errlist?
4
5(-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
6
7(-) rename MPW_3_1 define (which really means 3.x)
8
9(-) incorporate urlparse.py, uu.py
10
11(-) rewrite instance __getattr__ etc. to store ptr in class instead of
12instance -- also have separate __delattr__
13
14(-) add warning to docs about sys.exc_traceback and sys.last_traceback.
15
16(-) Some stdwin wishes:
17
18 (-) stdwinmodule should keep track of textedit rec's per window
19 (in a chain) so it can unlink them when the window is closed
20 before the te rec
21
22 (-) textedit flashes at return or backspace
23
24 (-) there's no way to show the text caret after a multi-line paste?
25
26(-) termios module
27
28(*) put signal patches out separately
29
30(-) latex docs for signal module
31
32(*) More MPW and Mac changes
33
34(() Sjoerd's compileall script
Guido van Rossum3d67fee1994-08-17 12:33:50 +000035
36(-) systematically create /usr/local/lib/python/<machine>-<os>/
37 subdirectories, with a lib/ subdirectory containing the lib*.a
38 files etc.
39
Guido van Rossumc561e5d1994-08-23 13:52:46 +000040(-) need newer DOS binary (16 bit version doesn't do default args)
41
42(-) support for dynamically loadable libraries in makesetup and Extensions.
43 e.g. add a make rule to build .so files (unfortunately need to figure
44 out what ld option is needed) (more appropriate for makesetup
45 script?)
46
47(-) Move tkinter into the standard Modules directory; Tkinter c.s. to
48 Lib/tkinter etc. (???)
49
50(-) document Tk
51
52(-) class browser
53
54(-) interactive Python GUI (a la NT thingie)
55
56(-) speedup finddfa (and classify?)
57
58(-) more stuff under CVS (demo, extensions)
59
60(-) Mac port of 1.1
61
62(-) Mac port of STDWIN 0.9.9 to THINK C 6.0
63
Guido van Rossum3d67fee1994-08-17 12:33:50 +000064(-) use const for char * parameters (and many more) where possible
65
66(-) The Great Renaming!
67
Guido van Rossumc561e5d1994-08-23 13:52:46 +000068(-) redo __xxx__ operators for class instances
69
70(-) document __getattr__, __setattr__
71
72(-) add __delattr__ to class instances
Guido van Rossumfda5fb21994-08-12 13:18:41 +000073
74(-) many things that take strings should also take arrays of chars
75
Guido van Rossumfda5fb21994-08-12 13:18:41 +000076(-) add list of existing extensions to FAQ
77
78(-) update "recent additions" chapter in tutorial
79
80(-) rewrite "output formatting" chapter in tutorial
81
Guido van Rossumc561e5d1994-08-23 13:52:46 +000082(*) pass OPT from environment via configure to Makefile
Guido van Rossumfda5fb21994-08-12 13:18:41 +000083
Guido van Rossumc561e5d1994-08-23 13:52:46 +000084(*) version.c should be recompiled for each link
85
86(*) stropmodule should export find/rfind instead of index/rindex
87
88(*) add __getattr__, __setattr__ to class instances
89
90(*) fix pow(x, y, z) for integers
91
92(*) add tuple(seq) to turn any sequence into a tuple
93
94(*) Win32s for PC
95
96(*) integrate NT changes
97
98(*) write a script and add a "Make" rule (perhaps) that changes
Guido van Rossum5552eb71994-08-05 15:51:00 +000099 #!/usr/local/bin/python to something else in all scripts around.
100
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000101(*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
102
103(*) add signal.alarm()
104
105(*) when abort()ing because of unexpected exception, print a message
106 first (Jack)
107
108----------------------------------------------------------------------
109(from BUGS1.0.1)
110----------------------------------------------------------------------
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000111(-) document addpack, urllib, ...
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000112
113(*) import.c from JaapV
114
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000115(*) document os.exec*
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000116
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000117(*) name sunaudiodevmodule.c is too long
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000118
119(*) play with / include SUIT interface
120
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000121(-) make regsub.[g]sub() optionally case insensitive
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000122
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000123======================================================================
124
125(*) ought to use features from autoconf 1.8
126
127(*) errors in __repr__() are handled wrong when called from format
128
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000129(*) long(0x80000000) has wrong value!
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000130
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000131(-) hex(0x80000000) shouldn't have sign (?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000132
133(*) need way to set buffering at file open time
134
135(*) need way to force stdout unbuffered
136
Guido van Rossumfda5fb21994-08-12 13:18:41 +0000137(*) restart CVS tree
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000138
139(?) build shared libs for SunOS 4.1.3
140
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000141(-) dynamic linking on the Mac (is this a dream?)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000142
143(*) X patches from Adrian Phillips
144
145(*) Jaap's freeze script
146
147Incorporate with contrib status:
148- additions to glmodule by rg3h
149(*) Jaap's posixfile module (with locking)
150(*) pthreads interface
151
152Later:
153- put the offending object in IOError and posix.error
154- make module marshal work with user-defined file-like objects
155- built-in help?
156- hierarchical module names?
157
158Big plans:
159
160- allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
161- great renaming
162- complete reflexive nature of the language, e.g. have interfaces et
163create any kind of object
164(*) GUI interface a la Tk
165
166
167======================================================================
168For FAQ:
169
170(*) why don't strings (numbers, tuples, ...) have methods / attributes
171
172(*) why are strings / numbers / tuples immutable
173
174why don't list methods return self
175
176======================================================================
177PM/TODO list after Egypt (from mailing list):
178
179make .pyc files executable (how?)
180
181thread status and improvements (lock stmt; signal/wait)
182
183optional optimizations
184
185pthread migration
186
187(*) test/incorporate new SUIT
188
189shorten excessively long filenames (sunaudiodevmodule.c)
190
191(*) default parameter values
192
193multiple interpreter objects
194
195(*) import shlib bug (irix5.2) (reload, dlclose)
196
197(*) addpack.py
198
199(*) newmodule.c (or other hacks to create new modules, classes, functions
200 etc. from their components)
201
202persistency
203
204new Dbhash.py, dbhash library
205
206reraise; or raise 3rd param for traceback?
207-or- except type, value, tbackobjec
208
209redesign exceptions from scratch?
210
211dbm objects miss items(), values() methods
212
213(*) jar's new profile
214
215answer q about coerce()
216
217(*) reconsider pass [expression] ??? -or- don't print non-interactive
218 exprs -or- option to suppress printing non-None expressions
219
220(*) should be able to hash code objs (add fns to convert between lists/tuples)
221
222describe() ?
223
224distribute demo2 with Holmes
225
226(*) re-reply on try-continue
227
228classes are too slow
229
230add += etc. ?
231
232optimize tuple = tuple
233
234allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
235
236wustl is not un the northwest of the US?
237
238(*) MPW doesn't like \000 in string literals?
239
240MPW patches, unixemu patches
241
242prepare tar files with
243 - mac think projects (*)
244 - mpw makefiles
245 - dos makefiles
246 - mac unixemu lib
247
248explain rules about == vs. 'is' for strings (* by others on the list)
249
250(*) bug in ceval.c DELETE_FAST
251
252(*) possible optimize LOAD_NAME -> LOAD_GLOBAL
253
254get dos python with suit (inesc)
255
256(*) docs for try/continue are wrong and unclear
257
258better hashing fn?
259
260(*) add improved nested indent to python-mode.el
261
262(*) add a section to tutorial on "new" features
263
264rewrite section on formatting in tutorial
265
266======================================================================
267TODO-TOO list:
268
269test for overflow when converting python long to float
270
271lift restrictions on tuple or list in many cases
272
273(*) allow long ints with sensible values for getargs "i"
274
275(*) multiline string literals
276
277what to do about 64-bit int literals (on 64-bit machines) in .pyc
278files? (Currently truncated w/o warning!)
279
280DOCUMENTATION UPDATE! E.g. ref.tex doesn't describe:
281(*) - line joins w/o backslash
282(*) - double-quoted strings; \" in strings
283 - more?
284Should double-check all changes with docs!
285
286(?) Interrupting output still sometimes doesn't call clearerr() properly
287
288sometimes ghost errors when interrupting during debugging in
289'continue' mode?
290
291typing a comment to a primary prompt shouldn't issue a secondary prompt
292
293readline: add hooks to recognize Python syntax and to expand Python
294commands and names
295
296should have absolute pathnames in function objects
297
298in general check that all the exceptions are modernized and that the
299messages aren't giving the same error twice (e.g., stdwinmodule.c!)
300
301- check read/write allowed for file objects
302
303- introduce macros to set/inspect errno for syscalls, to support things
304 like getoserr()
305
306======================================================================
307DOS/Windows Python
308
309(???) command line options?
310
311(*) os.system()
312
313(???) interrupts
314
315(???) wrap
316
317(*) pc module
318
319(*) dospath.py
320
321DOS/Windows Python -- TO DO
322
323(*) memtest from config.h
324
325(*) copy sources back
326
327(*) build DOS version
328
329(*) distribute 386 version
330
331(*) Mac 1.0.1 release?
332======================================================================