cpython/Tools/idle
Guido van Rossum f90d529229 Provisional fix for writefile() [SF bug # 541730].
The problem was that an exception can occur in the text.get() call or
in the write() call, when the text buffer contains non-ASCII
characters.  This causes the previous contents of the file to be lost.

The provisional fix is to call str(self.text.get(...)) *before*
opening the file, so that if the exception occurs, we never open the
file.

Two orthogonal better solutions have to wait for policy decisions:

1. We could try to encode the data as Latin-1 or as UTF-8; but that
   would require IDLE to grow a notion of file encoding which requires
   more thought.

2. We could make backups before overwriting a file.  This requires
   more thought because it needs to be fast and cross-platform and
   configurable.
2002-04-15 00:19:12 +00:00
..
Icons use -kb on idle/Icons/minusnode.gif ("cvs up" kept checking it out all 2002-03-18 21:43:04 +00:00
AutoExpand.py Use string.ascii_letters instead of string.letters (SF bug #226706). 2001-07-20 19:05:50 +00:00
AutoIndent.py smart_backspace_event(): remove now-pointless int() call. 2002-01-23 16:57:55 +00:00
Bindings.py Add Python Documentation entry to Help menu. 1999-08-26 23:06:22 +00:00
CallTipWindow.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
CallTips.py Improve handling of docstrings. I had feared this was a case of 2001-09-16 02:19:49 +00:00
ChangeLog More changes. 2000-02-15 18:11:21 +00:00
ClassBrowser.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
ColorDelegator.py Don't use __debug__ as if it were some module global. Use DEBUG 2001-03-22 17:27:13 +00:00
Debugger.py Fix by Edward K Ream to make breakpoints work on Windows: insert a 2002-02-25 23:11:03 +00:00
Delegator.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
EditorWindow.py Patch #540583: Open MS Help Docs if available. 2002-04-14 10:30:51 +00:00
FileList.py Delete goodname() method, which is unused. 2001-05-12 12:11:36 +00:00
FormatParagraph.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
FrameViewer.py Checking in IDLE 0.2. 1999-01-02 21:28:54 +00:00
GrepDialog.py Enclose pattern in quotes in status message. 1999-06-03 14:25:49 +00:00
IOBinding.py Provisional fix for writefile() [SF bug # 541730]. 2002-04-15 00:19:12 +00:00
IdleConf.py Move the action of loading the configuration to the IdleConf module 2001-05-12 12:18:10 +00:00
IdleHistory.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
MultiScrolledLists.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
MultiStatusBar.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
NEWS.txt The 0.5 release happened on 2/15, not on 2/14. :-) 2000-02-16 01:22:35 +00:00
ObjectBrowser.py Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
OldStackViewer.py Adding the old stack viewer implementation back, for the debugger. 2000-02-15 18:04:09 +00:00
OutputWindow.py Patch #520483: Make IDLE OutputWindow handle Unicode. 2002-02-23 22:39:37 +00:00
ParenMatch.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
PathBrowser.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
Percolator.py move "from Tkinter import *" to module level 2001-02-02 20:07:46 +00:00
PyParse.py Taught IDLE's autoident parser that "yield" is a keyword that begins a 2001-06-19 00:28:47 +00:00
PyShell.py Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
README.txt A bit restructured. 2000-02-15 19:11:26 +00:00
RemoteInterp.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
ReplaceDialog.py Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
ScriptBinding.py Fix for SF bug #448835. 2001-08-07 17:15:36 +00:00
ScrolledList.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
SearchBinding.py Got rid of debug print statement in goto_line_event(). 1999-01-11 14:49:00 +00:00
SearchDialog.py Convert a pile of obvious "yes/no" functions to return bool. 2002-04-04 22:55:58 +00:00
SearchDialogBase.py Checking in IDLE 0.2. 1999-01-02 21:28:54 +00:00
SearchEngine.py Patch by Mark Favas: it fixes the search engine behaviour where an 1999-04-20 15:00:00 +00:00
Separator.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
StackViewer.py Refactored, with some future plans in mind. 2001-05-12 12:30:04 +00:00
TODO.txt Add IDLE wish: access items of arrays 2000-10-25 21:18:12 +00:00
ToolTip.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
TreeWidget.py Finally fix SF bug #441172, using a variant of patch ##443626: 2001-08-11 04:37:07 +00:00
UndoDelegator.py Use string.ascii_letters instead of string.letters (SF bug #226706). 2001-07-20 19:05:50 +00:00
WidgetRedirector.py Add unregister() method. 1999-06-25 16:03:19 +00:00
WindowList.py Whitespace normalization. 2001-01-17 08:48:39 +00:00
ZoomHeight.py Move zoom height functionality to separate function. 1999-06-01 18:17:02 +00:00
__init__.py Support for using idle as a package. 1999-04-30 19:39:25 +00:00
config-mac.txt Oops, this file was apparently never added to the repository. Now it is. 2001-08-06 10:08:56 +00:00
config-unix.txt replace : with = 2000-03-07 17:56:47 +00:00
config-win.txt a ConfigParser for idle and three configuration files 2000-03-03 22:57:42 +00:00
config.txt Minor edit of leading comments: 'the the' --> 'the', quoted 'enable' 2000-05-09 14:28:03 +00:00
eventparse.py Checking in IDLE 0.2. 1999-01-02 21:28:54 +00:00
extend.txt Quick update to the extension mechanism (extend.py is gone, long live 2001-06-04 21:21:11 +00:00
help.txt Update outdated text about how to fix the font. 2001-10-08 22:49:12 +00:00
idle Allow installation of IDLE via distutils (patch #103138). 2001-01-28 11:01:50 +00:00
idle.bat Get rid of hardcoded Python path (can't guess where the user installed 2001-03-10 21:48:24 +00:00
idle.py Move the action of loading the configuration to the IdleConf module 2001-05-12 12:18:10 +00:00
idle.pyw Defer all the work to idle.py, which has recently become too 2000-03-06 17:16:05 +00:00
idlever.py Make this IDLE version 0.8. (We have to skip 0.7 because that was a 2001-03-22 17:37:52 +00:00
keydefs.py Make copy, cut and paste events case insensitive. Reported by Patrick 2001-06-12 00:30:33 +00:00
setup.py Patch #422471: Install IDLE Help File 2001-08-08 20:26:14 +00:00
testcode.py Renamed test.py to testcode.py so one can import Python's 1999-01-12 22:14:34 +00:00

README.txt

IDLE 0.5 - February 2000
------------------------

This is an early release of IDLE, my own attempt at a Tkinter-based
IDE for Python.

For news about this release, see the file NEWS.txt.  (For a more
detailed change log, see the file ChangeLog.)

FEATURES

IDLE has the following features:

- coded in 100% pure Python, using the Tkinter GUI toolkit (i.e. Tcl/Tk)

- cross-platform: works on Windows and Unix (on the Mac, there are
currently problems with Tcl/Tk)

- multi-window text editor with multiple undo, Python colorizing
and many other features, e.g. smart indent and call tips

- Python shell window (a.k.a. interactive interpreter)

- debugger (not complete, but you can set breakpoints, view  and step)

USAGE

The main program is in the file "idle.py"; on Unix, you should be able
to run it by typing "./idle.py" to your shell.  On Windows, you can
run it by double-clicking it; you can use idle.pyw to avoid popping up
a DOS console.  If you want to pass command line arguments on Windows,
use the batch file idle.bat.

Command line arguments: files passed on the command line are executed,
not opened for editing, unless you give the -e command line option.
Try "./idle.py -h" to see other command line options.

IDLE requires Python 1.5.2, so it is currently only usable with a
Python 1.5.2 distribution.  (An older version of IDLE is distributed
with Python 1.5.2; you can drop this version on top of it.)

COPYRIGHT

IDLE is covered by the standard Python copyright notice
(http://www.python.org/doc/Copyright.html).

FEEDBACK

For feedback, please use the Python Bugs List
(http://www.python.org/search/search_bugs.html).

--Guido van Rossum (home page: http://www.python.org/~guido/)