Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 1 | ====================================================================== |
| 2 | Things to do before releasing Pyton 1.4 the final cut: |
| 3 | |
| 4 | Win/NT specific things: |
| 5 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 6 | ... pyc files remain open when imported??? |
| 7 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 8 | ... no control-c or control-break in Windows Console mode??? |
Guido van Rossum | 819889d | 1996-10-25 14:25:31 +0000 | [diff] [blame] | 9 | (implement Mark's hacks) (seems to work now?) |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 10 | |
| 11 | Bugs: |
| 12 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 13 | ... exception in __del__ when __builtins__ has been deleted |
| 14 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 15 | Features: |
| 16 | |
| 17 | ... simple threading support (with lock) for Tk |
| 18 | |
| 19 | ... Create and distribute the generic Makefile.pre.in for outside extensions. |
| 20 | |
| 21 | Documentation: |
| 22 | |
| 23 | ... Add section on filesystem interface to tutorial |
| 24 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 25 | ... Update tutorial for changes in the language & library |
| 26 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 27 | ... New sections for library reference manual (use NEWS file for hints) |
| 28 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 29 | ... add stuff to ext.tex about threads and embedded Python |
| 30 | |
| 31 | ... mention that -2147483648 doesn't work |
| 32 | |
| 33 | ... mention that 0e0 and 01.0 etc. don't work |
| 34 | |
| 35 | Maybe not (yet): |
| 36 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 37 | ... get rid of 'owner' passed around for newframeobject and evalcode |
| 38 | |
| 39 | ... Get freeze working for NT? (Sam has one) |
| 40 | |
| 41 | ... rename init<module> to PyInit_<module>. |
| 42 | |
| 43 | ... import ni seems to interpret the current directory as a package. |
| 44 | |
| 45 | ... math.sqrt(1j) should raise TypeError!!! (To fix in getargs 'd' format.) |
| 46 | |
| 47 | ... add make target that does machdep install; use in "machdepinstall" |
| 48 | |
| 49 | ... prototype for PyOS_CheckStack() somewhere |
| 50 | |
| 51 | ... On some Linuxes, ``python -c "print 12" | wc'' produces no output??? |
| 52 | |
| 53 | ... Add INSTALL_ROOT variable to Makefile.in |
| 54 | |
| 55 | ... More thread testing (Solaris?), wait for David Arnold |
| 56 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 57 | ... Get rid of more modules: (stdwin, soundex, SGI specific?) |
| 58 | |
| 59 | ... Use autoconf features to find X11 libraries |
| 60 | |
| 61 | ... Use more modern autoconf features (e.g. for platform testing) |
| 62 | |
| 63 | Done: |
| 64 | |
Guido van Rossum | 819889d | 1996-10-25 14:25:31 +0000 | [diff] [blame] | 65 | (*) get bsddb.c patch |
| 66 | |
| 67 | (*) no trailing separator on sys.path[0] please |
| 68 | |
| 69 | (*) add PC template for extensions, + instructions |
| 70 | |
| 71 | (*) segv on NT after ^Z after import _tkinter |
| 72 | |
| 73 | (*) apply(<class>, (), {}) fails while apply(<class>, ()) succeeds |
| 74 | if class has no __init__ method |
| 75 | |
| 76 | (*) core dump on complex % or divmod |
| 77 | |
| 78 | (*) New last chapter of tutorial explaining new things (use NEWS file) |
| 79 | |
| 80 | (*) Update reference manual for complex, power, slice and ellipses |
| 81 | |
| 82 | (*) Update Misc/FAQ |
| 83 | |
| 84 | (*) Update README for 1.4 final cut |
| 85 | |
| 86 | (*) Update documentation for httplib |
| 87 | |
| 88 | (*) SyntaxErrors w/o line numbers |
| 89 | |
| 90 | (*) More NeXT patches (Bill Bumgarner, Lele Gaifax) |
| 91 | |
Guido van Rossum | 6b02b3e | 1996-10-21 14:56:23 +0000 | [diff] [blame] | 92 | (*) fix file upload in cgi.py from Netscape |
| 93 | |
| 94 | (*) Tkinter.Variable.__del__ may cause (ignored) exceptions |
| 95 | |
| 96 | (*) Test for -lreadline *without* -lterm{cap,lib} |
| 97 | |
| 98 | (*) autotest fails on NT due to 1e-005 instead of 1e-05 |
| 99 | |
| 100 | (*) Update 1.3 version number and date occurring in tutorial, Misc/FAQ, |
| 101 | Doc/texipre.dat, Doc/boilerplate.tex, Doc/tut.tex example |
| 102 | |
| 103 | (*) Fix the freeze script |
| 104 | |
| 105 | (*) merge Fred's changes to formatter.py and other stuff in Grail/pythonlib |
| 106 | |
| 107 | (*) urllib.py: open_http() has bogosity when proxy and auth used together |
| 108 | |
| 109 | (*) Update Misc/NEWS |
| 110 | |
| 111 | (*) Get rid of obsolete modules: objc, environment |
| 112 | |
| 113 | (*) Try threads on NT? |
| 114 | |
| 115 | (*) get rid of remains of access.c |
| 116 | |
| 117 | (*) document the fact that __del__ exceptions get lost |
| 118 | |
| 119 | (*) print warning when __del__ raises exception (no SystemExit though) |
| 120 | |
| 121 | (*) document all new features of string.py and regsub.py |
| 122 | |
| 123 | (*) add delitem, delslice to operator.c |
| 124 | |
| 125 | (*) get rid of 'or', 'and' in operator.c (or rename to 'or_', 'and_') |
| 126 | |
| 127 | (*) Pass LDFLAGS from configure to Makefile? |
| 128 | |
| 129 | (*) -L option for -lreadline comes too late |
| 130 | |
| 131 | (*) halfbinop PROTO(...) triggers error on Alpha compiler? |
| 132 | |
| 133 | (*) operator.c is not K&R C nor is it ANSI C |
| 134 | |
| 135 | (*) some complex numbers code is not K&R |
| 136 | |
| 137 | (*) More AIX sharedlibs patches (Manus Hand, Vlad) |
| 138 | |
| 139 | Delete Modules/bindit |
| 140 | Add Modules/python.ext |
| 141 | |
| 142 | (*) #undef for fabs in mathmodule.c from Jack |
| 143 | |
| 144 | (*) Fix _tkinter.c for use on NT |
| 145 | |
| 146 | (*) Remove AIX shared libraries in make clean target |
| 147 | Remove *.sl in "make clean" targets |
| 148 | |
| 149 | (*) Sjoerd's optimizations |
| 150 | |
| 151 | (*) remove access stmt from docs |
| 152 | |
| 153 | (*) Lance's patches for SCO |
| 154 | |
| 155 | (*) Jim H's patch to fix power |
| 156 | |
| 157 | (*) rip out all traces of 'access' |
| 158 | |
| 159 | (*) New extref.tex from Richard Jones |
| 160 | |
| 161 | (*) ref.man patch by Anthony Baxter for lambda scope |
| 162 | |
| 163 | (*) Add extensions reference to ext.tex |
| 164 | |
| 165 | (*) generic/regen is bogus |
| 166 | |
| 167 | ====================================================================== |
| 168 | ====================================================================== |
| 169 | The following is old and I haven't checked whether it still applies: |
| 170 | |
Guido van Rossum | 91cb9d2 | 1995-04-10 11:47:38 +0000 | [diff] [blame] | 171 | (-) many module should export their symbolic constants instead of |
| 172 | relying on a module written in Python |
| 173 | |
| 174 | (-) change regexmodule.c to cooperate with other non-python users and |
| 175 | to export the symbolic constants |
| 176 | |
| 177 | (-) save/restore sys.exc_{type,value,traceback} around except clauses. |
| 178 | |
| 179 | (-) don't call class instance's __del__ more than once????? |
| 180 | |
| 181 | (-) add "access" to posix? What name should it have? |
| 182 | |
| 183 | (-) add facility to "freeze" lists and dictionaries? |
| 184 | |
| 185 | (-) add WNOHANG to posix |
| 186 | |
Guido van Rossum | 7b4d460 | 1995-03-22 12:27:16 +0000 | [diff] [blame] | 187 | (-) support lists in newgetargs() |
Guido van Rossum | 0ddb028 | 1995-01-17 16:46:14 +0000 | [diff] [blame] | 188 | |
Guido van Rossum | 7b4d460 | 1995-03-22 12:27:16 +0000 | [diff] [blame] | 189 | (-) syntax errors detected during compilation should give line number |
| 190 | |
| 191 | (-) dbm.open(): rwmode, filemode should be made optional; same for gdbm |
| 192 | |
| 193 | (-) find a bsd hash interface |
| 194 | |
| 195 | (-) posix.mkdir(): mode should be made optional |
| 196 | |
| 197 | (-) find a more useful order than alphabetical for Doc/libfuncs.tex |
| 198 | |
| 199 | ====================================================================== |
| 200 | |
| 201 | (*) use my getopt.c on Linux |
| 202 | |
| 203 | (*) get Extensions/X11/Doc checked in and out |
Guido van Rossum | 0ddb028 | 1995-01-17 16:46:14 +0000 | [diff] [blame] | 204 | |
| 205 | (-) investigate PPRC <URL:ftp://ftp.parc.xerox.com/pub/ppcr/> |
| 206 | |
Guido van Rossum | 79dddcb | 1995-01-12 12:25:42 +0000 | [diff] [blame] | 207 | (*) add buffering parameter to fdopen() and popen() |
| 208 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 209 | (-) interface to getdtablesize() in posix |
| 210 | |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 211 | (-) reentrancy with global variables vs. decref in |
| 212 | ./Modules/cdmodule.c ./Modules/flmodule.c ./Objects/accessobject.c |
| 213 | ./Objects/frameobject.c ./Python/traceback.c |
| 214 | |
Guido van Rossum | 7b4d460 | 1995-03-22 12:27:16 +0000 | [diff] [blame] | 215 | (*) fix reentrancy in list updates? |
Guido van Rossum | 79dddcb | 1995-01-12 12:25:42 +0000 | [diff] [blame] | 216 | |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 217 | (-) speed up regsub.gsub |
| 218 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 219 | (*) change md5.md5() to md5.new() |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 220 | |
| 221 | (-) try posixenviron.c and merge back into posixmodule.c? |
| 222 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 223 | (*) document chown() |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 224 | |
| 225 | (-) add and document chroot() ? |
| 226 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 227 | (*) use add gethostname_r and release thread lock when it exists |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 228 | |
| 229 | (-) Add `@CFLAGS@', `@CPPFLAGS@', and `@LDFLAGS@' to `Makefile.in' |
| 230 | |
| 231 | (-) modules should be able to define a module destructor hook |
| 232 | |
Guido van Rossum | 79dddcb | 1995-01-12 12:25:42 +0000 | [diff] [blame] | 233 | (-) destroy modules in reverse order of importation? |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 234 | |
| 235 | (-) make array a standard built-in object |
| 236 | |
| 237 | (-) makesetup should accept .o files without corresponding .c file |
| 238 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 239 | (*) use autoconf 2.0 |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 240 | |
| 241 | ====================================================================== |
| 242 | Release 1.1.1 (10 Nov 1994) |
| 243 | ====================================================================== |
| 244 | |
| 245 | (-) try Boehm/Dehmers/Weiser conservative garbage collector |
| 246 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 247 | (*) implement new 'flatten' module |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 248 | |
| 249 | (-) document new Python/C API |
| 250 | |
| 251 | (*) __import__, module imp |
| 252 | |
| 253 | (-) add various things to module dictionary, e.g. pathname, dictionary |
| 254 | where found, __version__ string? |
| 255 | |
| 256 | (-) pass dict of builtins to exec / execfile / eval ??? |
| 257 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 258 | (?) stack frame correspondence problem (Jim Roskind) |
Guido van Rossum | 79dddcb | 1995-01-12 12:25:42 +0000 | [diff] [blame] | 259 | (probably solved by err_fetch / err_restore) |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 260 | |
| 261 | (-) make lots of places use newgetargs |
| 262 | |
Guido van Rossum | 79dddcb | 1995-01-12 12:25:42 +0000 | [diff] [blame] | 263 | (*) no tp_str member in typeobject |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 264 | |
| 265 | (-) readline 2.0 on sequent has ^C problem (works only first time) |
| 266 | |
| 267 | (*) add explanatory comments to Setup (especially about SGI modules |
| 268 | like 'cd') |
| 269 | |
| 270 | (-) need to add truncate() and ftruncate() to posixmodule.c (Windows: |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 271 | chsize(fd, size) (solution: added to file objects instead) |
Guido van Rossum | 76be6ed | 1995-01-02 18:33:54 +0000 | [diff] [blame] | 272 | |
| 273 | ====================================================================== |
| 274 | Release 1.1 (11 Oct 1994) |
| 275 | ====================================================================== |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 276 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 277 | (-) improve performance of list.append/insert etc. by keeping high/low |
| 278 | watermark instead of realloc'ing each time? |
| 279 | |
| 280 | (-) findmethod should cache (also findmember?) |
| 281 | |
| 282 | (-) sysget("check_interval") is called before each method call which |
| 283 | breaks dictlookup caching |
| 284 | |
| 285 | (*) core dump on import of ridiculously long module name |
| 286 | |
| 287 | (-) core dump on repr / print of deeply nested or recursive object |
| 288 | |
| 289 | (*) parsing from string should calculate line numbers |
| 290 | |
| 291 | (-) whrandom doc needs update |
| 292 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 293 | (*) mpz power is still binary insterad of ternary |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 294 | |
| 295 | (*) design interface to call arbitrary asynchronous routines |
| 296 | |
| 297 | (*) whrandom.set...(0,0,0) doesn't generate random numbers |
| 298 | |
| 299 | (*) Lance's latest curses additions |
| 300 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 301 | (*) Jack's new code: |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 302 | (*) new xxmodule.c |
| 303 | (*) mac has type for .pyc files |
| 304 | (*) should run .pyc files when passed as command line argument |
| 305 | |
| 306 | (*) all new all singing all dancing freeze script |
| 307 | |
| 308 | (*) make clean should remove *.so and not Makefile.pre |
| 309 | |
| 310 | (-) fix signalmodule.c to re-establish SIGC[H]LD handler |
| 311 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 312 | (*) try out Kees Blom's railroad diagram generator |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 313 | |
Guido van Rossum | 7522f03 | 1994-08-30 12:42:01 +0000 | [diff] [blame] | 314 | (-) redesign error handling (cf. Donald's mail) |
| 315 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 316 | (*) do MPW and THINK still not support sys_errlist? Indeed not (neither). |
Guido van Rossum | 7522f03 | 1994-08-30 12:42:01 +0000 | [diff] [blame] | 317 | |
| 318 | (-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c |
| 319 | |
| 320 | (-) rename MPW_3_1 define (which really means 3.x) |
| 321 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 322 | (*) incorporate urlparse.py, uu.py |
Guido van Rossum | 7522f03 | 1994-08-30 12:42:01 +0000 | [diff] [blame] | 323 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 324 | (*) rewrite instance __getattr__ etc. to store ptr in class instead of |
Guido van Rossum | 7522f03 | 1994-08-30 12:42:01 +0000 | [diff] [blame] | 325 | instance -- also have separate __delattr__ |
| 326 | |
| 327 | (-) add warning to docs about sys.exc_traceback and sys.last_traceback. |
| 328 | |
| 329 | (-) Some stdwin wishes: |
| 330 | |
| 331 | (-) stdwinmodule should keep track of textedit rec's per window |
| 332 | (in a chain) so it can unlink them when the window is closed |
| 333 | before the te rec |
| 334 | |
| 335 | (-) textedit flashes at return or backspace |
| 336 | |
| 337 | (-) there's no way to show the text caret after a multi-line paste? |
| 338 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 339 | (*) termios module |
Guido van Rossum | 7522f03 | 1994-08-30 12:42:01 +0000 | [diff] [blame] | 340 | |
| 341 | (*) put signal patches out separately |
| 342 | |
| 343 | (-) latex docs for signal module |
| 344 | |
| 345 | (*) More MPW and Mac changes |
| 346 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 347 | (*) Sjoerd's compileall script |
Guido van Rossum | 3d67fee | 1994-08-17 12:33:50 +0000 | [diff] [blame] | 348 | |
| 349 | (-) systematically create /usr/local/lib/python/<machine>-<os>/ |
| 350 | subdirectories, with a lib/ subdirectory containing the lib*.a |
| 351 | files etc. |
| 352 | |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 353 | (-) need newer DOS binary (16 bit version doesn't do default args) |
| 354 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 355 | (*) support for dynamically loadable libraries in makesetup and Extensions. |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 356 | e.g. add a make rule to build .so files (unfortunately need to figure |
| 357 | out what ld option is needed) (more appropriate for makesetup |
| 358 | script?) |
| 359 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 360 | (*) Move tkinter into the standard Modules directory; Tkinter c.s. to |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 361 | Lib/tkinter etc. (???) |
| 362 | |
| 363 | (-) document Tk |
| 364 | |
| 365 | (-) class browser |
| 366 | |
| 367 | (-) interactive Python GUI (a la NT thingie) |
| 368 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 369 | (*) speedup finddfa (and classify?) |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 370 | |
| 371 | (-) more stuff under CVS (demo, extensions) |
| 372 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 373 | (*) Mac port of 1.1 |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 374 | |
Guido van Rossum | 0a516c9 | 1994-09-12 10:58:40 +0000 | [diff] [blame] | 375 | (*) Mac port of STDWIN 0.9.9 to THINK C 6.0 |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 376 | |
Guido van Rossum | 3d67fee | 1994-08-17 12:33:50 +0000 | [diff] [blame] | 377 | (-) use const for char * parameters (and many more) where possible |
| 378 | |
| 379 | (-) The Great Renaming! |
| 380 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 381 | (*) redo __xxx__ operators for class instances |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 382 | |
| 383 | (-) document __getattr__, __setattr__ |
| 384 | |
Guido van Rossum | af5b83e | 1995-01-04 19:02:35 +0000 | [diff] [blame] | 385 | (*) add __delattr__ to class instances |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 386 | |
| 387 | (-) many things that take strings should also take arrays of chars |
| 388 | |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 389 | (-) add list of existing extensions to FAQ |
| 390 | |
| 391 | (-) update "recent additions" chapter in tutorial |
| 392 | |
| 393 | (-) rewrite "output formatting" chapter in tutorial |
| 394 | |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 395 | (*) pass OPT from environment via configure to Makefile |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 396 | |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 397 | (*) version.c should be recompiled for each link |
| 398 | |
| 399 | (*) stropmodule should export find/rfind instead of index/rindex |
| 400 | |
| 401 | (*) add __getattr__, __setattr__ to class instances |
| 402 | |
| 403 | (*) fix pow(x, y, z) for integers |
| 404 | |
| 405 | (*) add tuple(seq) to turn any sequence into a tuple |
| 406 | |
| 407 | (*) Win32s for PC |
| 408 | |
| 409 | (*) integrate NT changes |
| 410 | |
| 411 | (*) write a script and add a "Make" rule (perhaps) that changes |
Guido van Rossum | 5552eb7 | 1994-08-05 15:51:00 +0000 | [diff] [blame] | 412 | #!/usr/local/bin/python to something else in all scripts around. |
| 413 | |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 414 | (*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail) |
| 415 | |
| 416 | (*) add signal.alarm() |
| 417 | |
| 418 | (*) when abort()ing because of unexpected exception, print a message |
| 419 | first (Jack) |
| 420 | |
| 421 | ---------------------------------------------------------------------- |
| 422 | (from BUGS1.0.1) |
| 423 | ---------------------------------------------------------------------- |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 424 | (-) document addpack, urllib, ... |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 425 | |
| 426 | (*) import.c from JaapV |
| 427 | |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 428 | (*) document os.exec* |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 429 | |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 430 | (*) name sunaudiodevmodule.c is too long |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 431 | |
| 432 | (*) play with / include SUIT interface |
| 433 | |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 434 | (-) make regsub.[g]sub() optionally case insensitive |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 435 | |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 436 | ====================================================================== |
| 437 | |
| 438 | (*) ought to use features from autoconf 1.8 |
| 439 | |
| 440 | (*) errors in __repr__() are handled wrong when called from format |
| 441 | |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 442 | (*) long(0x80000000) has wrong value! |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 443 | |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 444 | (-) hex(0x80000000) shouldn't have sign (?) |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 445 | |
| 446 | (*) need way to set buffering at file open time |
| 447 | |
| 448 | (*) need way to force stdout unbuffered |
| 449 | |
Guido van Rossum | fda5fb2 | 1994-08-12 13:18:41 +0000 | [diff] [blame] | 450 | (*) restart CVS tree |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 451 | |
| 452 | (?) build shared libs for SunOS 4.1.3 |
| 453 | |
Guido van Rossum | c561e5d | 1994-08-23 13:52:46 +0000 | [diff] [blame] | 454 | (-) dynamic linking on the Mac (is this a dream?) |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 455 | |
| 456 | (*) X patches from Adrian Phillips |
| 457 | |
| 458 | (*) Jaap's freeze script |
| 459 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 460 | (-) Incorporate with contrib status: |
| 461 | - additions to glmodule by rg3h |
| 462 | (*) Jaap's posixfile module (with locking) |
| 463 | (*) pthreads interface |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 464 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 465 | (-) Later: |
| 466 | - put the offending object in IOError and posix.error |
| 467 | - make module marshal work with user-defined file-like objects |
| 468 | - built-in help? |
| 469 | - hierarchical module names? |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 470 | |
| 471 | Big plans: |
| 472 | |
| 473 | - allow separate interpreters (a la Xt's Applocation Contexts, and Tcl) |
| 474 | - great renaming |
| 475 | - complete reflexive nature of the language, e.g. have interfaces et |
| 476 | create any kind of object |
| 477 | (*) GUI interface a la Tk |
| 478 | |
| 479 | |
| 480 | ====================================================================== |
| 481 | For FAQ: |
| 482 | |
| 483 | (*) why don't strings (numbers, tuples, ...) have methods / attributes |
| 484 | |
| 485 | (*) why are strings / numbers / tuples immutable |
| 486 | |
| 487 | why don't list methods return self |
| 488 | |
| 489 | ====================================================================== |
| 490 | PM/TODO list after Egypt (from mailing list): |
| 491 | |
| 492 | make .pyc files executable (how?) |
| 493 | |
| 494 | thread status and improvements (lock stmt; signal/wait) |
| 495 | |
| 496 | optional optimizations |
| 497 | |
| 498 | pthread migration |
| 499 | |
| 500 | (*) test/incorporate new SUIT |
| 501 | |
| 502 | shorten excessively long filenames (sunaudiodevmodule.c) |
| 503 | |
| 504 | (*) default parameter values |
| 505 | |
| 506 | multiple interpreter objects |
| 507 | |
| 508 | (*) import shlib bug (irix5.2) (reload, dlclose) |
| 509 | |
| 510 | (*) addpack.py |
| 511 | |
| 512 | (*) newmodule.c (or other hacks to create new modules, classes, functions |
| 513 | etc. from their components) |
| 514 | |
| 515 | persistency |
| 516 | |
| 517 | new Dbhash.py, dbhash library |
| 518 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 519 | (-) reraise; or raise 3rd param for traceback? |
| 520 | -or- except type, value, tbackobjec |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 521 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 522 | (-) redesign exceptions from scratch? |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 523 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 524 | (-) dbm objects miss items(), values() methods |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 525 | |
| 526 | (*) jar's new profile |
| 527 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 528 | (-) answer q about coerce() |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 529 | |
| 530 | (*) reconsider pass [expression] ??? -or- don't print non-interactive |
| 531 | exprs -or- option to suppress printing non-None expressions |
| 532 | |
| 533 | (*) should be able to hash code objs (add fns to convert between lists/tuples) |
| 534 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 535 | (-) describe() ? |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 536 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 537 | (-) distribute demo2 with Holmes |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 538 | |
| 539 | (*) re-reply on try-continue |
| 540 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 541 | (-) classes are too slow |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 542 | |
Guido van Rossum | b85ae1a | 1994-10-06 16:15:09 +0000 | [diff] [blame] | 543 | (-) add += etc. ? |
Guido van Rossum | 433c8ad | 1994-08-01 12:07:07 +0000 | [diff] [blame] | 544 | |
| 545 | optimize tuple = tuple |
| 546 | |
| 547 | allow (a, b) = [1, 2] and [1, 2] = (1, 2) ??? |
| 548 | |
| 549 | wustl is not un the northwest of the US? |
| 550 | |
| 551 | (*) MPW doesn't like \000 in string literals? |
| 552 | |
| 553 | MPW patches, unixemu patches |
| 554 | |
| 555 | prepare tar files with |
| 556 | - mac think projects (*) |
| 557 | - mpw makefiles |
| 558 | - dos makefiles |
| 559 | - mac unixemu lib |
| 560 | |
| 561 | explain rules about == vs. 'is' for strings (* by others on the list) |
| 562 | |
| 563 | (*) bug in ceval.c DELETE_FAST |
| 564 | |
| 565 | (*) possible optimize LOAD_NAME -> LOAD_GLOBAL |
| 566 | |
| 567 | get dos python with suit (inesc) |
| 568 | |
| 569 | (*) docs for try/continue are wrong and unclear |
| 570 | |
| 571 | better hashing fn? |
| 572 | |
| 573 | (*) add improved nested indent to python-mode.el |
| 574 | |
| 575 | (*) add a section to tutorial on "new" features |
| 576 | |
| 577 | rewrite section on formatting in tutorial |
| 578 | |
| 579 | ====================================================================== |
| 580 | TODO-TOO list: |
| 581 | |
| 582 | test for overflow when converting python long to float |
| 583 | |
| 584 | lift restrictions on tuple or list in many cases |
| 585 | |
| 586 | (*) allow long ints with sensible values for getargs "i" |
| 587 | |
| 588 | (*) multiline string literals |
| 589 | |
| 590 | what to do about 64-bit int literals (on 64-bit machines) in .pyc |
| 591 | files? (Currently truncated w/o warning!) |
| 592 | |
| 593 | DOCUMENTATION UPDATE! E.g. ref.tex doesn't describe: |
| 594 | (*) - line joins w/o backslash |
| 595 | (*) - double-quoted strings; \" in strings |
| 596 | - more? |
| 597 | Should double-check all changes with docs! |
| 598 | |
| 599 | (?) Interrupting output still sometimes doesn't call clearerr() properly |
| 600 | |
| 601 | sometimes ghost errors when interrupting during debugging in |
| 602 | 'continue' mode? |
| 603 | |
| 604 | typing a comment to a primary prompt shouldn't issue a secondary prompt |
| 605 | |
| 606 | readline: add hooks to recognize Python syntax and to expand Python |
| 607 | commands and names |
| 608 | |
| 609 | should have absolute pathnames in function objects |
| 610 | |
| 611 | in general check that all the exceptions are modernized and that the |
| 612 | messages aren't giving the same error twice (e.g., stdwinmodule.c!) |
| 613 | |
| 614 | - check read/write allowed for file objects |
| 615 | |
| 616 | - introduce macros to set/inspect errno for syscalls, to support things |
| 617 | like getoserr() |
| 618 | |
| 619 | ====================================================================== |
| 620 | DOS/Windows Python |
| 621 | |
| 622 | (???) command line options? |
| 623 | |
| 624 | (*) os.system() |
| 625 | |
| 626 | (???) interrupts |
| 627 | |
| 628 | (???) wrap |
| 629 | |
| 630 | (*) pc module |
| 631 | |
| 632 | (*) dospath.py |
| 633 | |
| 634 | DOS/Windows Python -- TO DO |
| 635 | |
| 636 | (*) memtest from config.h |
| 637 | |
| 638 | (*) copy sources back |
| 639 | |
| 640 | (*) build DOS version |
| 641 | |
| 642 | (*) distribute 386 version |
| 643 | |
| 644 | (*) Mac 1.0.1 release? |
| 645 | ====================================================================== |