David Scherer | 7aced17 | 2000-08-15 01:13:23 +0000 | [diff] [blame] | 1 | EXPERIMENTAL LOADER IDLE 2000-05-29 |
| 2 | ----------------------------------- |
| 3 | |
| 4 | David Scherer <dscherer@cmu.edu> |
| 5 | |
| 6 | This is a modification of the CVS version of IDLE 0.5, updated as of |
| 7 | 2000-03-09. It is alpha software and might be unstable. If it breaks, |
| 8 | you get to keep both pieces. |
| 9 | |
| 10 | If you have problems or suggestions, you should either contact me or |
| 11 | post to the list at http://www.python.org/mailman/listinfo/idle-dev |
| 12 | (making it clear that you are using this modified version of IDLE). |
| 13 | |
| 14 | Changes: |
| 15 | |
| 16 | The ExecBinding module, a replacement for ScriptBinding, executes |
| 17 | programs in a separate process, piping standard I/O through an RPC |
| 18 | mechanism to an OnDemandOutputWindow in IDLE. It supports executing |
| 19 | unnamed programs (through a temporary file). It does not yet support |
| 20 | debugging. |
| 21 | |
| 22 | When running programs with ExecBinding, tracebacks will be clipped |
| 23 | to exclude system modules. If, however, a system module calls back |
| 24 | into the user program, that part of the traceback will be shown. |
| 25 | |
| 26 | The OnDemandOutputWindow class has been improved. In particular, |
| 27 | it now supports a readline() function used to implement user input, |
| 28 | and a scroll_clear() operation which is used to hide the output of |
| 29 | a previous run by scrolling it out of the window. |
| 30 | |
| 31 | Startup behavior has been changed. By default IDLE starts up with |
| 32 | just a blank editor window, rather than an interactive window. Opening |
| 33 | a file in such a blank window replaces the (nonexistent) contents of |
| 34 | that window instead of creating another window. Because of the need to |
| 35 | have a well-known port for the ExecBinding protocol, only one copy of |
| 36 | IDLE can be running. Additional invocations use the RPC mechanism to |
| 37 | report their command line arguments to the copy already running. |
| 38 | |
| 39 | The menus have been reorganized. In particular, the excessively large |
| 40 | 'edit' menu has been split up into 'edit', 'format', and 'run'. |
| 41 | |
| 42 | 'Python Documentation' now works on Windows, if the win32api module is |
| 43 | present. |
| 44 | |
| 45 | A few key bindings have been changed: F1 now loads Python Documentation |
| 46 | instead of the IDLE help; shift-TAB is now a synonym for unindent. |
| 47 | |
| 48 | New modules: |
| 49 | ExecBinding.py Executes program through loader |
| 50 | loader.py Bootstraps user program |
| 51 | protocol.py RPC protocol |
| 52 | Remote.py User-process interpreter |
| 53 | spawn.py OS-specific code to start programs |
| 54 | |
| 55 | Files modified: |
| 56 | autoindent.py ( bindings tweaked ) |
| 57 | bindings.py ( menus reorganized ) |
| 58 | config.txt ( execbinding enabled ) |
| 59 | editorwindow.py ( new menus, fixed 'Python Documentation' ) |
| 60 | filelist.py ( hook for "open in same window" ) |
| 61 | formatparagraph.py ( bindings tweaked ) |
| 62 | idle.bat ( removed absolute pathname ) |
| 63 | idle.pyw ( weird bug due to import with same name? ) |
| 64 | iobinding.py ( open in same window, EOL convention ) |
| 65 | keydefs.py ( bindings tweaked ) |
| 66 | outputwindow.py ( readline, scroll_clear, etc ) |
| 67 | pyshell.py ( changed startup behavior ) |
| 68 | readme.txt ( <Recursion on file with id=1234567> ) |
| 69 | |
| 70 | IDLE 0.5 - February 2000 |
| 71 | ------------------------ |
| 72 | |
| 73 | This is an early release of IDLE, my own attempt at a Tkinter-based |
| 74 | IDE for Python. |
| 75 | |
| 76 | For news about this release, see the file NEWS.txt. (For a more |
| 77 | detailed change log, see the file ChangeLog.) |
| 78 | |
| 79 | FEATURES |
| 80 | |
| 81 | IDLE has the following features: |
| 82 | |
| 83 | - coded in 100% pure Python, using the Tkinter GUI toolkit (i.e. Tcl/Tk) |
| 84 | |
| 85 | - cross-platform: works on Windows and Unix (on the Mac, there are |
| 86 | currently problems with Tcl/Tk) |
| 87 | |
| 88 | - multi-window text editor with multiple undo, Python colorizing |
| 89 | and many other features, e.g. smart indent and call tips |
| 90 | |
| 91 | - Python shell window (a.k.a. interactive interpreter) |
| 92 | |
| 93 | - debugger (not complete, but you can set breakpoints, view and step) |
| 94 | |
| 95 | USAGE |
| 96 | |
| 97 | The main program is in the file "idle.py"; on Unix, you should be able |
| 98 | to run it by typing "./idle.py" to your shell. On Windows, you can |
| 99 | run it by double-clicking it; you can use idle.pyw to avoid popping up |
| 100 | a DOS console. If you want to pass command line arguments on Windows, |
| 101 | use the batch file idle.bat. |
| 102 | |
| 103 | Command line arguments: files passed on the command line are executed, |
| 104 | not opened for editing, unless you give the -e command line option. |
| 105 | Try "./idle.py -h" to see other command line options. |
| 106 | |
| 107 | IDLE requires Python 1.5.2, so it is currently only usable with a |
| 108 | Python 1.5.2 distribution. (An older version of IDLE is distributed |
| 109 | with Python 1.5.2; you can drop this version on top of it.) |
| 110 | |
| 111 | COPYRIGHT |
| 112 | |
| 113 | IDLE is covered by the standard Python copyright notice |
| 114 | (http://www.python.org/doc/Copyright.html). |
| 115 | |
| 116 | FEEDBACK |
| 117 | |
| 118 | (removed, since Guido probably doesn't want complaints about my |
| 119 | changes) |
| 120 | |
| 121 | --Guido van Rossum (home page: http://www.python.org/~guido/) |