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