jpayne@68: What's New in IDLE 2.7? (Merged into 3.1 before 2.7 release.) jpayne@68: ======================= jpayne@68: *Release date: XX-XXX-2010* jpayne@68: jpayne@68: - idle.py modified and simplified to better support developing experimental jpayne@68: versions of IDLE which are not installed in the standard location. jpayne@68: jpayne@68: - OutputWindow/PyShell right click menu "Go to file/line" wasn't working with jpayne@68: file paths containing spaces. Bug 5559. jpayne@68: jpayne@68: - Windows: Version string for the .chm help file changed, file not being jpayne@68: accessed Patch 5783 Guilherme Polo jpayne@68: jpayne@68: - Allow multiple IDLE GUI/subprocess pairs to exist simultaneously. Thanks to jpayne@68: David Scherer for suggesting the use of an ephemeral port for the GUI. jpayne@68: Patch 1529142 Weeble. jpayne@68: jpayne@68: - Remove port spec from run.py and fix bug where subprocess fails to jpayne@68: extract port from command line when warnings are present. jpayne@68: jpayne@68: - Tk 8.5 Text widget requires 'wordprocessor' tabstyle attr to handle jpayne@68: mixed space/tab properly. Issue 5129, patch by Guilherme Polo. jpayne@68: jpayne@68: - Issue #3549: On MacOS the preferences menu was not present jpayne@68: jpayne@68: - IDLE would print a "Unhandled server exception!" message when internal jpayne@68: debugging is enabled. jpayne@68: jpayne@68: - Issue #4455: IDLE failed to display the windows list when two windows have jpayne@68: the same title. jpayne@68: jpayne@68: - Issue #4383: When IDLE cannot make the connection to its subprocess, it would jpayne@68: fail to properly display the error message. jpayne@68: jpayne@68: - help() was not paging to the shell. Issue1650. jpayne@68: jpayne@68: - CodeContext was not importing. jpayne@68: jpayne@68: - Corrected two 3.0 compatibility errors reported by Mark Summerfield: jpayne@68: http://mail.python.org/pipermail/python-3000/2007-December/011491.html jpayne@68: jpayne@68: - Shell was not colorizing due to bug introduced at r57998, Bug 1586. jpayne@68: jpayne@68: - Issue #1585: IDLE uses non-existent xrange() function. jpayne@68: jpayne@68: - Windows EOL sequence not converted correctly, encoding error. jpayne@68: Caused file save to fail. Bug 1130. jpayne@68: jpayne@68: - IDLE converted to Python 3000 syntax. jpayne@68: jpayne@68: - Strings became Unicode. jpayne@68: jpayne@68: - CallTips module now uses the inspect module to produce the argspec. jpayne@68: jpayne@68: - IDLE modules now use absolute import instead of implied relative import. jpayne@68: jpayne@68: - atexit call replaces sys.exitfunc. The functionality of delete-exitfunc flag jpayne@68: in config-main.cfg remains unchanged: if set, registered exit functions will jpayne@68: be cleared before IDLE exits. jpayne@68: jpayne@68: jpayne@68: What's New in IDLE 2.6 jpayne@68: ====================== jpayne@68: *Release date: 01-Oct-2008*, merged into 3.0 releases detailed above (3.0rc2) jpayne@68: jpayne@68: - Issue #2665: On Windows, an IDLE installation upgraded from an old version jpayne@68: would not start if a custom theme was defined. jpayne@68: jpayne@68: - Home / Control-A toggles between left margin and end of leading white jpayne@68: space. issue1196903, patch by Jeff Shute. jpayne@68: jpayne@68: - Improved AutoCompleteWindow logic. issue2062, patch by Tal Einat. jpayne@68: jpayne@68: - Autocompletion of filenames now support alternate separators, e.g. the jpayne@68: '/' char on Windows. issue2061 Patch by Tal Einat. jpayne@68: jpayne@68: - Configured selection highlighting colors were ignored; updating highlighting jpayne@68: in the config dialog would cause non-Python files to be colored as if they jpayne@68: were Python source; improve use of ColorDelagator. Patch 1334. Tal Einat. jpayne@68: jpayne@68: - ScriptBinding event handlers weren't returning 'break'. Patch 2050, Tal Einat jpayne@68: jpayne@68: - There was an error on exit if no sys.exitfunc was defined. Issue 1647. jpayne@68: jpayne@68: - Could not open files in .idlerc directory if latter was hidden on Windows. jpayne@68: Issue 1743, Issue 1862. jpayne@68: jpayne@68: - Configure Dialog: improved layout for keybinding. Patch 1457 Tal Einat. jpayne@68: jpayne@68: - tabpage.py updated: tabbedPages.py now supports multiple dynamic rows jpayne@68: of tabs. Patch 1612746 Tal Einat. jpayne@68: jpayne@68: - Add confirmation dialog before printing. Patch 1717170 Tal Einat. jpayne@68: jpayne@68: - Show paste position if > 80 col. Patch 1659326 Tal Einat. jpayne@68: jpayne@68: - Update cursor color without restarting. Patch 1725576 Tal Einat. jpayne@68: jpayne@68: - Allow keyboard interrupt only when user code is executing in subprocess. jpayne@68: Patch 1225 Tal Einat (reworked from IDLE-Spoon). jpayne@68: jpayne@68: - configDialog cleanup. Patch 1730217 Tal Einat. jpayne@68: jpayne@68: - textView cleanup. Patch 1718043 Tal Einat. jpayne@68: jpayne@68: - Clean up EditorWindow close. jpayne@68: jpayne@68: - Patch 1693258: Fix for duplicate "preferences" menu-OS X. Backport of r56204. jpayne@68: jpayne@68: - OSX: Avoid crash for those versions of Tcl/Tk which don't have a console jpayne@68: jpayne@68: - Bug in idlelib.MultiCall: Options dialog was crashing IDLE if there was an jpayne@68: option in config-extensions w/o a value. Patch #1672481, Tal Einat jpayne@68: jpayne@68: - Corrected some bugs in AutoComplete. Also, Page Up/Down in ACW implemented; jpayne@68: mouse and cursor selection in ACWindow implemented; double Tab inserts jpayne@68: current selection and closes ACW (similar to double-click and Return); scroll jpayne@68: wheel now works in ACW. Added AutoComplete instructions to IDLE Help. jpayne@68: jpayne@68: - AutoCompleteWindow moved below input line, will move above if there jpayne@68: isn't enough space. Patch 1621265 Tal Einat jpayne@68: jpayne@68: - Calltips now 'handle' tuples in the argument list (display '' :) jpayne@68: Suggested solution by Christos Georgiou, Bug 791968. jpayne@68: jpayne@68: - Add 'raw' support to configHandler. Patch 1650174 Tal Einat. jpayne@68: jpayne@68: - Avoid hang when encountering a duplicate in a completion list. Bug 1571112. jpayne@68: jpayne@68: - Patch #1362975: Rework CodeContext indentation algorithm to jpayne@68: avoid hard-coding pixel widths. jpayne@68: jpayne@68: - Bug #813342: Start the IDLE subprocess with -Qnew if the parent jpayne@68: is started with that option. jpayne@68: jpayne@68: - Honor the "Cancel" action in the save dialog (Debian bug #299092) jpayne@68: jpayne@68: - Some syntax errors were being caught by tokenize during the tabnanny jpayne@68: check, resulting in obscure error messages. Do the syntax check jpayne@68: first. Bug 1562716, 1562719 jpayne@68: jpayne@68: - IDLE's version number takes a big jump to match the version number of jpayne@68: the Python release of which it's a part. jpayne@68: jpayne@68: jpayne@68: What's New in IDLE 1.2? jpayne@68: ======================= jpayne@68: *Release date: 19-SEP-2006* jpayne@68: jpayne@68: - File menu hotkeys: there were three 'p' assignments. Reassign the jpayne@68: 'Save Copy As' and 'Print' hotkeys to 'y' and 't'. Change the jpayne@68: Shell hotkey from 's' to 'l'. jpayne@68: jpayne@68: - IDLE honors new quit() and exit() commands from site.py Quitter() object. jpayne@68: Patch 1540892, Jim Jewett jpayne@68: jpayne@68: - The 'with' statement is now a Code Context block opener. jpayne@68: Patch 1540851, Jim Jewett jpayne@68: jpayne@68: - Retrieval of previous shell command was not always preserving indentation jpayne@68: (since 1.2a1) Patch 1528468 Tal Einat. jpayne@68: jpayne@68: - Changing tokenize (39046) to detect dedent broke tabnanny check (since 1.2a1) jpayne@68: jpayne@68: - ToggleTab dialog was setting indent to 8 even if cancelled (since 1.2a1). jpayne@68: jpayne@68: - When used w/o subprocess, all exceptions were preceded by an error jpayne@68: message claiming they were IDLE internal errors (since 1.2a1). jpayne@68: jpayne@68: - Bug #1525817: Don't truncate short lines in IDLE's tool tips. jpayne@68: jpayne@68: - Bug #1517990: IDLE keybindings on MacOS X now work correctly jpayne@68: jpayne@68: - Bug #1517996: IDLE now longer shows the default Tk menu when a jpayne@68: path browser, class browser or debugger is the frontmost window on MacOS X jpayne@68: jpayne@68: - EditorWindow.test() was failing. Bug 1417598 jpayne@68: jpayne@68: - EditorWindow failed when used stand-alone if sys.ps1 not set. jpayne@68: Bug 1010370 Dave Florek jpayne@68: jpayne@68: - Tooltips failed on new-syle class __init__ args. Bug 1027566 Loren Guthrie jpayne@68: jpayne@68: - Avoid occasional failure to detect closing paren properly. jpayne@68: Patch 1407280 Tal Einat jpayne@68: jpayne@68: - Rebinding Tab key was inserting 'tab' instead of 'Tab'. Bug 1179168. jpayne@68: jpayne@68: - Colorizer now handles # correctly, also unicode strings and jpayne@68: 'as' keyword in comment directly following import command. Closes 1325071. jpayne@68: Patch 1479219 Tal Einat jpayne@68: jpayne@68: - Patch #1162825: Support non-ASCII characters in IDLE window titles. jpayne@68: jpayne@68: - Source file f.flush() after writing; trying to avoid lossage if user jpayne@68: kills GUI. jpayne@68: jpayne@68: - Options / Keys / Advanced dialog made functional. Also, allow binding jpayne@68: of 'movement' keys. jpayne@68: jpayne@68: - 'syntax' patch adds improved calltips and a new class attribute listbox. jpayne@68: MultiCall module allows binding multiple actions to an event. jpayne@68: Patch 906702 Noam Raphael jpayne@68: jpayne@68: - Better indentation after first line of string continuation. jpayne@68: IDLEfork Patch 681992, Noam Raphael jpayne@68: jpayne@68: - Fixed CodeContext alignment problem, following suggestion from Tal Einat. jpayne@68: jpayne@68: - Increased performance in CodeContext extension Patch 936169 Noam Raphael jpayne@68: jpayne@68: - Mac line endings were incorrect when pasting code from some browsers jpayne@68: when using X11 and the Fink distribution. Python Bug 1263656. jpayne@68: jpayne@68: - when cursor is on a previous command retrieves that command. Instead jpayne@68: of replacing the input line, the previous command is now appended to the jpayne@68: input line. Indentation is preserved, and undo is enabled. jpayne@68: Patch 1196917 Jeff Shute jpayne@68: jpayne@68: - Clarify "tab/space" Error Dialog and "Tab Width" Dialog associated with jpayne@68: the Untabify command. jpayne@68: jpayne@68: - Corrected "tab/space" Error Dialog to show correct menu for Untabify. jpayne@68: Patch 1196980 Jeff Shute jpayne@68: jpayne@68: - New files are colorized by default, and colorizing is removed when jpayne@68: saving as non-Python files. Patch 1196895 Jeff Shute jpayne@68: Closes Python Bugs 775012 and 800432, partial fix IDLEfork 763524 jpayne@68: jpayne@68: - Improve subprocess link error notification. jpayne@68: jpayne@68: - run.py: use Queue's blocking feature instead of sleeping in the main jpayne@68: loop. Patch # 1190163 Michiel de Hoon jpayne@68: jpayne@68: - Add config-main option to make the 'history' feature non-cyclic. jpayne@68: Default remains cyclic. Python Patch 914546 Noam Raphael. jpayne@68: jpayne@68: - Removed ability to configure tabs indent from Options dialog. This 'feature' jpayne@68: has never worked and no one has complained. It is still possible to set a jpayne@68: default tabs (v. spaces) indent 'manually' via config-main.def (or to turn on jpayne@68: tabs for the current EditorWindow via the Format menu) but IDLE will jpayne@68: encourage indentation via spaces. jpayne@68: jpayne@68: - Enable setting the indentation width using the Options dialog. jpayne@68: Bug # 783877 jpayne@68: jpayne@68: - Add keybindings for del-word-left and del-word-right. jpayne@68: jpayne@68: - Discourage using an indent width other than 8 when using tabs to indent jpayne@68: Python code. jpayne@68: jpayne@68: - Restore use of EditorWindow.set_indentation_params(), was dead code since jpayne@68: Autoindent was merged into EditorWindow. This allows IDLE to conform to the jpayne@68: indentation width of a loaded file. (But it still will not switch to tabs jpayne@68: even if the file uses tabs.) Any change in indent width is local to that jpayne@68: window. jpayne@68: jpayne@68: - Add Tabnanny check before Run/F5, not just when Checking module. jpayne@68: jpayne@68: - If an extension can't be loaded, print warning and skip it instead of jpayne@68: erroring out. jpayne@68: jpayne@68: - Improve error handling when .idlerc can't be created (warn and exit). jpayne@68: jpayne@68: - The GUI was hanging if the shell window was closed while a raw_input() jpayne@68: was pending. Restored the quit() of the readline() mainloop(). jpayne@68: http://mail.python.org/pipermail/idle-dev/2004-December/002307.html jpayne@68: jpayne@68: - The remote procedure call module rpc.py can now access data attributes of jpayne@68: remote registered objects. Changes to these attributes are local, however. jpayne@68: jpayne@68: jpayne@68: What's New in IDLE 1.1? jpayne@68: ======================= jpayne@68: *Release date: 30-NOV-2004* jpayne@68: jpayne@68: - On OpenBSD, terminating IDLE with ctrl-c from the command line caused a jpayne@68: stuck subprocess MainThread because only the SocketThread was exiting. jpayne@68: jpayne@68: - Saving a Keyset w/o making changes (by using the "Save as New Custom Key Set" jpayne@68: button) caused IDLE to fail on restart (no new keyset was created in jpayne@68: config-keys.cfg). Also true for Theme/highlights. Python Bug 1064535. jpayne@68: jpayne@68: - A change to the linecache.py API caused IDLE to exit when an exception was jpayne@68: raised while running without the subprocess (-n switch). Python Bug 1063840. jpayne@68: jpayne@68: - When paragraph reformat width was made configurable, a bug was jpayne@68: introduced that caused reformatting of comment blocks to ignore how jpayne@68: far the block was indented, effectively adding the indentation width jpayne@68: to the reformat width. This has been repaired, and the reformat jpayne@68: width is again a bound on the total width of reformatted lines. jpayne@68: jpayne@68: - Improve keyboard focus binding, especially in Windows menu. Improve jpayne@68: window raising, especially in the Windows menu and in the debugger. jpayne@68: IDLEfork 763524. jpayne@68: jpayne@68: - If user passes a non-existent filename on the commandline, just jpayne@68: open a new file, don't raise a dialog. IDLEfork 854928. jpayne@68: jpayne@68: - EditorWindow.py was not finding the .chm help file on Windows. Typo jpayne@68: at Rev 1.54. Python Bug 990954 jpayne@68: jpayne@68: - checking sys.platform for substring 'win' was breaking IDLE docs on Mac jpayne@68: (darwin). Also, Mac Safari browser requires full file:// URIs. SF 900580. jpayne@68: jpayne@68: - Redirect the warning stream to the shell during the ScriptBinding check of jpayne@68: user code and format the warning similarly to an exception for both that jpayne@68: check and for runtime warnings raised in the subprocess. jpayne@68: jpayne@68: - CodeContext hint pane visibility state is now persistent across sessions. jpayne@68: The pane no longer appears in the shell window. Added capability to limit jpayne@68: extensions to shell window or editor windows. Noam Raphael addition jpayne@68: to Patch 936169. jpayne@68: jpayne@68: - Paragraph reformat width is now a configurable parameter in the jpayne@68: Options GUI. jpayne@68: jpayne@68: - New Extension: CodeContext. Provides block structuring hints for code jpayne@68: which has scrolled above an edit window. Patch 936169 Noam Raphael. jpayne@68: jpayne@68: - If nulls somehow got into the strings in recent-files.lst jpayne@68: EditorWindow.update_recent_files_list() was failing. Python Bug 931336. jpayne@68: jpayne@68: - If the normal background is changed via Configure/Highlighting, it will jpayne@68: update immediately, thanks to the previously mentioned patch by Nigel Rowe. jpayne@68: jpayne@68: - Add a highlight theme for builtin keywords. Python Patch 805830 Nigel Rowe jpayne@68: This also fixed IDLEfork bug [ 693418 ] Normal text background color not jpayne@68: refreshed and Python bug [897872 ] Unknown color name on HP-UX jpayne@68: jpayne@68: - rpc.py:SocketIO - Large modules were generating large pickles when downloaded jpayne@68: to the execution server. The return of the OK response from the subprocess jpayne@68: initialization was interfering and causing the sending socket to be not jpayne@68: ready. Add an IO ready test to fix this. Moved the polling IO ready test jpayne@68: into pollpacket(). jpayne@68: jpayne@68: - Fix typo in rpc.py, s/b "pickle.PicklingError" not "pickle.UnpicklingError". jpayne@68: jpayne@68: - Added a Tk error dialog to run.py inform the user if the subprocess can't jpayne@68: connect to the user GUI process. Added a timeout to the GUI's listening jpayne@68: socket. Added Tk error dialogs to PyShell.py to announce a failure to bind jpayne@68: the port or connect to the subprocess. Clean up error handling during jpayne@68: connection initiation phase. This is an update of Python Patch 778323. jpayne@68: jpayne@68: - Print correct exception even if source file changed since shell was jpayne@68: restarted. IDLEfork Patch 869012 Noam Raphael jpayne@68: jpayne@68: - Keybindings with the Shift modifier now work correctly. So do bindings which jpayne@68: use the Space key. Limit unmodified user keybindings to the function keys. jpayne@68: Python Bug 775353, IDLEfork Bugs 755647, 761557 jpayne@68: jpayne@68: - After an exception, run.py was not setting the exception vector. Noam jpayne@68: Raphael suggested correcting this so pdb's postmortem pm() would work. jpayne@68: IDLEfork Patch 844675 jpayne@68: jpayne@68: - IDLE now does not fail to save the file anymore if the Tk buffer is not a jpayne@68: Unicode string, yet eol_convention is. Python Bugs 774680, 788378 jpayne@68: jpayne@68: - IDLE didn't start correctly when Python was installed in "Program Files" on jpayne@68: W2K and XP. Python Bugs 780451, 784183 jpayne@68: jpayne@68: - config-main.def documentation incorrectly referred to idle- instead of jpayne@68: config- filenames. SF 782759 Also added note about .idlerc location. jpayne@68: jpayne@68: jpayne@68: What's New in IDLE 1.0? jpayne@68: ======================= jpayne@68: *Release date: 29-Jul-2003* jpayne@68: jpayne@68: - Added a banner to the shell discussing warnings possibly raised by personal jpayne@68: firewall software. Added same comment to README.txt. jpayne@68: jpayne@68: - Calltip error when docstring was None Python Bug 775541 jpayne@68: jpayne@68: - Updated extend.txt, help.txt, and config-extensions.def to correctly jpayne@68: reflect the current status of the configuration system. Python Bug 768469 jpayne@68: jpayne@68: - Fixed: Call Tip Trimming May Loop Forever. Python Patch 769142 (Daniels) jpayne@68: jpayne@68: - Replaced apply(f, args, kwds) with f(*args, **kwargs) to improve performance jpayne@68: Python Patch 768187 jpayne@68: jpayne@68: - Break or continue statements outside a loop were causing IDLE crash jpayne@68: Python Bug 767794 jpayne@68: jpayne@68: - Convert Unicode strings from readline to IOBinding.encoding. Also set jpayne@68: sys.std{in|out|err}.encoding, for both the local and the subprocess case. jpayne@68: SF IDLEfork patch 682347. jpayne@68: jpayne@68: - Extend AboutDialog.ViewFile() to support file encodings. Make the CREDITS jpayne@68: file Latin-1. jpayne@68: jpayne@68: - Updated the About dialog to reflect re-integration into Python. Provide jpayne@68: buttons to display Python's NEWS, License, and Credits, plus additional jpayne@68: buttons for IDLE's README and NEWS. jpayne@68: jpayne@68: - TextViewer() now has a third parameter which allows inserting text into the jpayne@68: viewer instead of reading from a file. jpayne@68: jpayne@68: - (Created the .../Lib/idlelib directory in the Python CVS, which is a clone of jpayne@68: IDLEfork modified to install in the Python environment. The code in the jpayne@68: interrupt module has been moved to thread.interrupt_main(). ) jpayne@68: jpayne@68: - Printing the Shell window was failing if it was not saved first SF 748975 jpayne@68: jpayne@68: - When using the Search in Files dialog, if the user had a selection jpayne@68: highlighted in his Editor window, insert it into the dialog search field. jpayne@68: jpayne@68: - The Python Shell entry was disappearing from the Windows menu. jpayne@68: jpayne@68: - Update the Windows file list when a file name change occurs jpayne@68: jpayne@68: - Change to File / Open Module: always pop up the dialog, using the current jpayne@68: selection as the default value. This is easier to use habitually. jpayne@68: jpayne@68: - Avoided a problem with starting the subprocess when 'localhost' doesn't jpayne@68: resolve to the user's loopback interface. SF 747772 jpayne@68: jpayne@68: - Fixed an issue with highlighted errors never de-colorizing. SF 747677. Also jpayne@68: improved notification of Tabnanny Token Error. jpayne@68: jpayne@68: - File / New will by default save in the directory of the Edit window from jpayne@68: which it was initiated. SF 748973 Guido van Rossum patch. jpayne@68: jpayne@68: jpayne@68: What's New in IDLEfork 0.9b1? jpayne@68: ============================= jpayne@68: *Release date: 02-Jun-2003* jpayne@68: jpayne@68: - The current working directory of the execution environment (and shell jpayne@68: following completion of execution) is now that of the module being run. jpayne@68: jpayne@68: - Added the delete-exitfunc option to config-main.def. (This option is not jpayne@68: included in the Options dialog.) Setting this to True (the default) will jpayne@68: cause IDLE to not run sys.exitfunc/atexit when the subprocess exits. jpayne@68: jpayne@68: - IDLE now preserves the line ending codes when editing a file produced on jpayne@68: a different platform. SF 661759, SF 538584 jpayne@68: jpayne@68: - Reduced default editor font size to 10 point and increased window height jpayne@68: to provide a better initial impression on Windows. jpayne@68: jpayne@68: - Options / Fonts/Tabs / Set Base Editor Font: List box was not highlighting jpayne@68: the default font when first installed on Windows. SF 661676 jpayne@68: jpayne@68: - Added Autosave feature: when user runs code from edit window, if the file jpayne@68: has been modified IDLE will silently save it if Autosave is enabled. The jpayne@68: option is set in the Options dialog, and the default is to prompt the jpayne@68: user to save the file. SF 661318 Bruce Sherwood patch. jpayne@68: jpayne@68: - Improved the RESTART annotation in the shell window when the user restarts jpayne@68: the shell while it is generating output. Also improved annotation when user jpayne@68: repeatedly hammers the Ctrl-F6 restart. jpayne@68: jpayne@68: - Allow IDLE to run when not installed and cwd is not the IDLE directory jpayne@68: SF Patch 686254 "Run IDLEfork from any directory without set-up" - Raphael jpayne@68: jpayne@68: - When a module is run from an EditorWindow: if its directory is not in jpayne@68: sys.path, prepend it. This allows the module to import other modules in jpayne@68: the same directory. Do the same for a script run from the command line. jpayne@68: jpayne@68: - Correctly restart the subprocess if it is running user code and the user jpayne@68: attempts to run some other module or restarts the shell. Do the same if jpayne@68: the link is broken and it is possible to restart the subprocess and re- jpayne@68: connect to the GUI. SF RFE 661321. jpayne@68: jpayne@68: - Improved exception reporting when running commands or scripts from the jpayne@68: command line. jpayne@68: jpayne@68: - Added a -n command line switch to start IDLE without the subprocess. jpayne@68: Removed the Shell menu when running in that mode. Updated help messages. jpayne@68: jpayne@68: - Added a comment to the shell startup header to indicate when IDLE is not jpayne@68: using the subprocess. jpayne@68: jpayne@68: - Restore the ability to run without the subprocess. This can be important for jpayne@68: some platforms or configurations. (Running without the subprocess allows the jpayne@68: debugger to trace through parts of IDLE itself, which may or may not be jpayne@68: desirable, depending on your point of view. In addition, the traditional jpayne@68: reload/import tricks must be use if user source code is changed.) This is jpayne@68: helpful for developing IDLE using IDLE, because one instance can be used to jpayne@68: edit the code and a separate instance run to test changes. (Multiple jpayne@68: concurrent IDLE instances with subprocesses is a future feature) jpayne@68: jpayne@68: - Improve the error message a user gets when saving a file with non-ASCII jpayne@68: characters and no source encoding is specified. Done by adding a dialog jpayne@68: 'EncodingMessage', which contains the line to add in a fixed-font entry jpayne@68: widget, and which has a button to add that line to the file automatically. jpayne@68: Also, add a configuration option 'EditorWindow/encoding', which has three jpayne@68: possible values: none, utf-8, and locale. None is the default: IDLE will show jpayne@68: this dialog when non-ASCII characters are encountered. utf-8 means that files jpayne@68: with non-ASCII characters are saved as utf-8-with-bom. locale means that jpayne@68: files are saved in the locale's encoding; the dialog is only displayed if the jpayne@68: source contains characters outside the locale's charset. SF 710733 - Loewis jpayne@68: jpayne@68: - Improved I/O response by tweaking the wait parameter in various jpayne@68: calls to signal.signal(). jpayne@68: jpayne@68: - Implemented a threaded subprocess which allows interrupting a pass jpayne@68: loop in user code using the 'interrupt' extension. User code runs jpayne@68: in MainThread, while the RPCServer is handled by SockThread. This is jpayne@68: necessary because Windows doesn't support signals. jpayne@68: jpayne@68: - Implemented the 'interrupt' extension module, which allows a subthread jpayne@68: to raise a KeyboardInterrupt in the main thread. jpayne@68: jpayne@68: - Attempting to save the shell raised an error related to saving jpayne@68: breakpoints, which are not implemented in the shell jpayne@68: jpayne@68: - Provide a correct message when 'exit' or 'quit' are entered at the jpayne@68: IDLE command prompt SF 695861 jpayne@68: jpayne@68: - Eliminate extra blank line in shell output caused by not flushing jpayne@68: stdout when user code ends with an unterminated print. SF 695861 jpayne@68: jpayne@68: - Moved responsibility for exception formatting (i.e. pruning IDLE internal jpayne@68: calls) out of rpc.py into the client and server. jpayne@68: jpayne@68: - Exit IDLE cleanly even when doing subprocess I/O jpayne@68: jpayne@68: - Handle subprocess interrupt with an RPC message. jpayne@68: jpayne@68: - Restart the subprocess if it terminates itself. (VPython programs do that) jpayne@68: jpayne@68: - Support subclassing of exceptions, including in the shell, by moving the jpayne@68: exception formatting to the subprocess. jpayne@68: jpayne@68: jpayne@68: What's New in IDLEfork 0.9 Alpha 2? jpayne@68: =================================== jpayne@68: *Release date: 27-Jan-2003* jpayne@68: jpayne@68: - Updated INSTALL.txt to claify use of the python2 rpm. jpayne@68: jpayne@68: - Improved formatting in IDLE Help. jpayne@68: jpayne@68: - Run menu: Replace "Run Script" with "Run Module". jpayne@68: jpayne@68: - Code encountering an unhandled exception under the debugger now shows jpayne@68: the correct traceback, with IDLE internal levels pruned out. jpayne@68: jpayne@68: - If an exception occurs entirely in IDLE, don't prune the IDLE internal jpayne@68: modules from the traceback displayed. jpayne@68: jpayne@68: - Class Browser and Path Browser now use Alt-Key-2 for vertical zoom. jpayne@68: jpayne@68: - IDLE icons will now install correctly even when setup.py is run from the jpayne@68: build directory jpayne@68: jpayne@68: - Class Browser now compatible with Python2.3 version of pyclbr.py jpayne@68: jpayne@68: - Left cursor move in presence of selected text now moves from left end jpayne@68: of the selection. jpayne@68: jpayne@68: - Add Meta keybindings to "IDLE Classic Windows" to handle reversed jpayne@68: Alt/Meta on some Linux distros. jpayne@68: jpayne@68: - Change default: IDLE now starts with Python Shell. jpayne@68: jpayne@68: - Removed the File Path from the Additional Help Sources scrolled list. jpayne@68: jpayne@68: - Add capability to access Additional Help Sources on the web if the jpayne@68: Help File Path begins with //http or www. (Otherwise local path is jpayne@68: validated, as before.) jpayne@68: jpayne@68: - Additional Help Sources were not being posted on the Help menu in the jpayne@68: order entered. Implement sorting the list by [HelpFiles] 'option' jpayne@68: number. jpayne@68: jpayne@68: - Add Browse button to New Help Source dialog. Arrange to start in jpayne@68: Python/Doc if platform is Windows, otherwise start in current directory. jpayne@68: jpayne@68: - Put the Additional Help Sources directly on the Help menu instead of in jpayne@68: an Extra Help cascade menu. Rearrange the Help menu so the Additional jpayne@68: Help Sources come last. Update help.txt appropriately. jpayne@68: jpayne@68: - Fix Tk root pop-ups in configSectionNameDialog.py and configDialog.py jpayne@68: jpayne@68: - Uniform capitalization in General tab of ConfigDialog, update the doc string. jpayne@68: jpayne@68: - Fix bug in ConfigDialog where SaveAllChangedConfig() was unexpectedly jpayne@68: deleting Additional Help Sources from the user's config file. jpayne@68: jpayne@68: - Make configHelpSourceEdit OK button the default and bind jpayne@68: jpayne@68: - Fix Tk root pop-ups in configHelpSourceEdit: error dialogs not attached jpayne@68: to parents. jpayne@68: jpayne@68: - Use os.startfile() to open both Additional Help and Python Help on the jpayne@68: Windows platform. The application associated with the file type will act as jpayne@68: the viewer. Windows help files (.chm) are now supported via the jpayne@68: Settings/General/Additional Help facility. jpayne@68: jpayne@68: - If Python Help files are installed locally on Linux, use them instead of jpayne@68: accessing python.org. jpayne@68: jpayne@68: - Make the methods for finding the Python help docs more robust, and make jpayne@68: them work in the installed configuration, also. jpayne@68: jpayne@68: - On the Save Before Run dialog, make the OK button the default. One jpayne@68: less mouse action! jpayne@68: jpayne@68: - Add a method: EditorWindow.get_geometry() for future use in implementing jpayne@68: window location persistence. jpayne@68: jpayne@68: - Removed the "Help/Advice" menu entry. Thanks, David! We'll remember! jpayne@68: jpayne@68: - Change the "Classic Windows" theme's paste key to be . jpayne@68: jpayne@68: - Rearrange the Shell menu to put Stack Viewer entries adjacent. jpayne@68: jpayne@68: - Add the ability to restart the subprocess interpreter from the shell window; jpayne@68: add an associated menu entry "Shell/Restart" with binding Control-F6. Update jpayne@68: IDLE help. jpayne@68: jpayne@68: - Upon a restart, annotate the shell window with a "restart boundary". Add a jpayne@68: shell window menu "Shell/View Restart" with binding F6 to jump to the most jpayne@68: recent restart boundary. jpayne@68: jpayne@68: - Add Shell menu to Python Shell; change "Settings" to "Options". jpayne@68: jpayne@68: - Remove incorrect comment in setup.py: IDLEfork is now installed as a package. jpayne@68: jpayne@68: - Add INSTALL.txt, HISTORY.txt, NEWS.txt to installed configuration. jpayne@68: jpayne@68: - In installer text, fix reference to Visual Python, should be VPython. jpayne@68: Properly credit David Scherer. jpayne@68: jpayne@68: - Modified idle, idle.py, idle.pyw to improve exception handling. jpayne@68: jpayne@68: jpayne@68: What's New in IDLEfork 0.9 Alpha 1? jpayne@68: =================================== jpayne@68: *Release date: 31-Dec-2002* jpayne@68: jpayne@68: - First release of major new functionality. For further details refer to jpayne@68: Idle-dev and/or the Sourceforge CVS. jpayne@68: jpayne@68: - Adapted to the Mac platform. jpayne@68: jpayne@68: - Overhauled the IDLE startup options and revised the idle -h help message, jpayne@68: which provides details of command line usage. jpayne@68: jpayne@68: - Multiple bug fixes and usability enhancements. jpayne@68: jpayne@68: - Introduced the new RPC implementation, which includes a debugger. The output jpayne@68: of user code is to the shell, and the shell may be used to inspect the jpayne@68: environment after the run has finished. (In version 0.8.1 the shell jpayne@68: environment was separate from the environment of the user code.) jpayne@68: jpayne@68: - Introduced the configuration GUI and a new About dialog. jpayne@68: jpayne@68: - Removed David Scherer's Remote Procedure Call code and replaced with Guido jpayne@68: van Rossum's. GvR code has support for the IDLE debugger and uses the shell jpayne@68: to inspect the environment of code Run from an Edit window. Files removed: jpayne@68: ExecBinding.py, loader.py, protocol.py, Remote.py, spawn.py jpayne@68: jpayne@68: -------------------------------------------------------------------- jpayne@68: Refer to HISTORY.txt for additional information on earlier releases. jpayne@68: --------------------------------------------------------------------