| 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/) |