Since 2.7.13, only severe bugs are fixed on the 2.7 branch. What's New in IDLE 2.7.17? ========================== *Release date: 2019-07-??* bpo-36807: When saving a file, call file.flush() and os.fsync() so bits are flushed to e.g. a USB drive. What's New in IDLE 2.7.16? ========================== *Release date: 2019-03-02* bpo-31500: Default fonts now are scaled on HiDPI displays. bpo-34275: Make calltips always visible on Mac. Patch by Kevin Walzer. bpo-34120: Fix freezing after closing some dialogs on Mac. This is one of multiple regressions from using newer tcl/tk. What's New in IDLE 2.7.13? ========================== *Release date: 2016-12-17* - Issue #27854: Make Help => IDLE Help work again on Windows. Include idlelib/help.html in 2.7 Windows installer. - Issue #25507: Add back import needed for 2.x encoding warning box. Add pointer to 'Encoding declaration' in Language Reference. - Issue #15308: Add 'interrupt execution' (^C) to Shell menu. Patch by Roger Serwy, updated by Bayard Randel. - Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen. - Issue #17642: add larger font sizes for classroom projection. - Add version to title of IDLE help window. - Issue #25564: In section on IDLE -- console differences, mention that using exec means that __builtins__ is defined for each statement. - Issue #27714: text_textview and test_autocomplete now pass when re-run in the same process. This occurs when test_idle fails when run with the -w option but without -jn. Fix warning from test_config. - Issue #27452: add line counter and crc to IDLE configHandler test dump. - Issue #27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names. - Issue #27245: IDLE: Cleanly delete custom themes and key bindings. Previously, when IDLE was started from a console or by import, a cascade of warnings was emitted. Patch by Serhiy Storchaka. What's New in IDLE 2.7.12? ========================== *Release date: 2016-06-25* - Issue #5124: Paste with text selected now replaces the selection on X11. This matches how paste works on Windows, Mac, most modern Linux apps, and ttk widgets. Original patch by Serhiy Storchaka. - Issue #24759: Make clear in idlelib.idle_test.__init__ that the directory is a private implementation of test.test_idle and tool for maintainers. - Issue #26673: When tk reports font size as 0, change to size 10. Such fonts on Linux prevented the configuration dialog from opening. - Issue #27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks. - In the 'IDLE-console differences' section of the IDLE doc, clarify how running with IDLE affects sys.modules and the standard streams. - Issue #25507: fix incorrect change in IOBinding that prevented printing. Change also prevented saving shell window with non-ascii characters. Augment IOBinding htest to include all major IOBinding functions. - Issue #25905: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION MARK in README.txt and open this and NEWS.txt with 'ascii'. Re-encode CREDITS.txt to utf-8 and open it with 'utf-8'. - Issue #26417: Prevent spurious errors and incorrect defaults when installing IDLE 2.7 on OS X: default configuration settings are no longer installed from OS X specific copies. What's New in IDLE 2.7.11? ========================== *Release date: 2015-12-06* - Issue 15348: Stop the debugger engine (normally in a user process) before closing the debugger window (running in the IDLE process). This prevents the RuntimeErrors that were being caught and ignored. - Issue #24455: Prevent IDLE from hanging when a) closing the shell while the debugger is active (15347); b) closing the debugger with the [X] button (15348); and c) activating the debugger when already active (24455). The patch by Mark Roseman does this by making two changes. 1. Suspend and resume the gui.interaction method with the tcl vwait mechanism intended for this purpose (instead of root.mainloop & .quit). 2. In gui.run, allow any existing interaction to terminate first. - Change 'The program' to 'Your program' in an IDLE 'kill program?' message to make it clearer that the program referred to is the currently running user program, not IDLE itself. - Issue #24750: Improve the appearance of the IDLE editor window status bar. Patch by Mark Roseman. - Issue #25313: Change the handling of new built-in text color themes to better address the compatibility problem introduced by the addition of IDLE Dark. Consistently use the revised idleConf.CurrentTheme everywhere in idlelib. - Issue #24782: Extension configuration is now a tab in the IDLE Preferences dialog rather than a separate dialog. The former tabs are now a sorted list. Patch by Mark Roseman. - Issue #22726: Re-activate the config dialog help button with some content about the other buttons and the new IDLE Dark theme. - Issue #24820: IDLE now has an 'IDLE Dark' built-in text color theme. It is more or less IDLE Classic inverted, with a cobalt blue background. Strings, comments, keywords, ... are still green, red, orange, ... . To use it with IDLEs released before November 2015, hit the 'Save as New Custom Theme' button and enter a new name, such as 'Custom Dark'. The custom theme will work with any IDLE release, and can be modified. - Issue #25224: README.txt is now an idlelib index for IDLE developers and curious users. The previous user content is now in the IDLE doc chapter. 'IDLE' now means 'Integrated Development and Learning Environment'. - Issue #24820: Users can now set breakpoint colors in Settings -> Custom Highlighting. Original patch by Mark Roseman. - Issue #24972: Inactive selection background now matches active selection background, as configured by users, on all systems. Found items are now always highlighted on Windows. Initial patch by Mark Roseman. - Issue #24570: Idle: make calltip and completion boxes appear on Macs affected by a tk regression. Initial patch by Mark Roseman. - Issue #24988: Idle ScrolledList context menus (used in debugger) now work on Mac Aqua. Patch by Mark Roseman. - Issue #24801: Make right-click for context menu work on Mac Aqua. Patch by Mark Roseman. - Issue #25173: Associate tkinter messageboxes with a specific widget. For Mac OSX, make them a 'sheet'. Patch by Mark Roseman. - Issue #25198: Enhance the initial html viewer now used for Idle Help. * Properly indent fixed-pitch text (patch by Mark Roseman). * Give code snippet a very Sphinx-like light blueish-gray background. * Re-use initial width and height set by users for shell and editor. * When the Table of Contents (TOC) menu is used, put the section header at the top of the screen. - Issue #25225: Condense and rewrite Idle doc section on text colors. - Issue #21995: Explain some differences between IDLE and console Python. - Issue #22820: Explain need for *print* when running file from Idle editor. - Issue #25224: Doc: augment Idle feature list and no-subprocess section. - Issue #25219: Update doc for Idle command line options. Some were missing and notes were not correct. - Issue #24861: Most of idlelib is private and subject to change. Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__. - Issue #25199: Idle: add synchronization comments for future maintainers. - Issue #16893: Replace help.txt with help.html for Idle doc display. The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks better than help.txt and will better document Idle as released. The tkinter html viewer that works for this file was written by Mark Roseman. The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. - Issue #24199: Deprecate unused idlelib.idlever with possible removal in 3.6. - Issue #24790: Remove extraneous code (which also create 2 & 3 conflicts). - Issue #23672: Allow Idle to edit and run files with astral chars in name. Patch by Mohd Sanad Zaki Rizvi. - Issue 24745: Idle editor default font. Switch from Courier to platform-sensitive TkFixedFont. This should not affect current customized font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman. - Issue #21192: Idle editor. When a file is run, put its name in the restart bar. Do not print false prompts. Original patch by Adnan Umer. - Issue #13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy. - Issue #15809: IDLE shell now uses locale encoding instead of Latin1 for decoding unicode literals. What's New in IDLE 2.7.10? ========================= *Release date: 2015-05-23* - Issue #23583: Fixed writing unicode to standard output stream in IDLE. - Issue #20577: Configuration of the max line length for the FormatParagraph extension has been moved from the General tab of the Idle preferences dialog to the FormatParagraph tab of the Config Extensions dialog. Patch by Tal Einat. - Issue #16893: Update Idle doc chapter to match current Idle and add new information. - Issue #23180: Rename IDLE "Windows" menu item to "Window". Patch by Al Sweigart. What's New in IDLE 2.7.9? ========================= *Release date: 2014-12-10* - Issue #16893: Update Idle doc chapter to match current Idle and add new information. - Issue #3068: Add Idle extension configuration dialog to Options menu. Changes are written to HOME/.idlerc/config-extensions.cfg. Original patch by Tal Einat. - Issue #16233: A module browser (File : Class Browser, Alt+C) requires an editor window with a filename. When Class Browser is requested otherwise, from a shell, output window, or 'Untitled' editor, Idle no longer displays an error box. It now pops up an Open Module box (Alt+M). If a valid name is entered and a module is opened, a corresponding browser is also opened. - Issue #4832: Save As to type Python files automatically adds .py to the name you enter (even if your system does not display it). Some systems automatically add .txt when type is Text files. - Issue #21986: Code objects are not normally pickled by the pickle module. To match this, they are no longer pickled when running under Idle. - Issue #22221: IDLE now ignores the source encoding declaration on the second line if the first line contains anything except a comment. - Issue #17390: Adjust Editor window title; remove 'Python', move version to end. - Issue #14105: Idle debugger breakpoints no longer disappear when inserting or deleting lines. What's New in IDLE 2.7.8? ========================= *Release date: 2014-06-29* - Issue #21940: Add unittest for WidgetRedirector. Initial patch by Saimadhav Heblikar. - Issue #18592: Add unittest for SearchDialogBase. Patch by Phil Webster. - Issue #21694: Add unittest for ParenMatch. Patch by Saimadhav Heblikar. - Issue #21686: add unittest for HyperParser. Original patch by Saimadhav Heblikar. - Issue #12387: Add missing upper(lower)case versions of default Windows key bindings for Idle so Caps Lock does not disable them. Patch by Roger Serwy. - Issue #21695: Closing a Find-in-files output window while the search is still in progress no longer closes Idle. - Issue #18910: Add unittest for textView. Patch by Phil Webster. - Issue #18292: Add unittest for AutoExpand. Patch by Saihadhav Heblikar. - Issue #18409: Add unittest for AutoComplete. Patch by Phil Webster. What's New in IDLE 2.7.7? ========================= *Release date: 2014-05-31* - Issue #18104: Add idlelib/idle_test/htest.py with a few sample tests to begin consolidating and improving human-validated tests of Idle. Change other files as needed to work with htest. Running the module as __main__ runs all tests. - Issue #21139: Change default paragraph width to 72, the PEP 8 recommendation. - Issue #21284: Paragraph reformat test passes after user changes reformat width. - Issue #20406: Use Python application icons for Idle window title bars. Patch mostly by Serhiy Storchaka. - Issue #21029: Occurrences of "print" are now consistently colored as being a keyword (the colorizer doesn't know if print functions are enabled in the source). - Issue #17721: Remove non-functional configuration dialog help button until we make it actually gives some help when clicked. Patch by Guilherme Simões. - Issue #17390: Add Python version to Idle editor window title bar. Original patches by Edmond Burnett and Kent Johnson. - Issue #20058: sys.stdin.readline() in IDLE now always returns only one line. - Issue #19481: print() of unicode, str or bytearray subclass instance in IDLE no more hangs. - Issue #18270: Prevent possible IDLE AttributeError on OS X when no initial shell window is present. - Issue #17654: Ensure IDLE menus are customized properly on OS X for non-framework builds and for all variants of Tk. What's New in IDLE 2.7.6? ========================= *Release date: 2013-11-10* - Issue #19426: Fixed the opening of Python source file with specified encoding. - Issue #18873: IDLE now detects Python source code encoding only in comment lines. - Issue #18988: The "Tab" key now works when a word is already autocompleted. - Issue #18489: Add tests for SearchEngine. Original patch by Phil Webster. - Issue #18429: Format / Format Paragraph, now works when comment blocks are selected. As with text blocks, this works best when the selection only includes complete lines. - Issue #18226: Add docstrings and unittests for FormatParagraph.py. Original patches by Todd Rovito and Phil Webster. - Issue #18279: Format - Strip trailing whitespace no longer marks a file as changed when it has not been changed. This fix followed the addition of a test file originally written by Phil Webster (the issue's main goal). - Issue #18539: Calltips now work for float default arguments. - Issue #7136: In the Idle File menu, "New Window" is renamed "New File". Patch by Tal Einat, Roget Serwy, and Todd Rovito. - Issue #8515: Set __file__ when run file in IDLE. Initial patch by Bruce Frederiksen. - Issue #5492: Avoid traceback when exiting IDLE caused by a race condition. - Issue #17511: Keep IDLE find dialog open after clicking "Find Next". Original patch by Sarah K. - Issue #15392: Create a unittest framework for IDLE. Preliminary patch by Rajagopalasarma Jayakrishnan See Lib/idlelib/idle_test/README.txt for how to run Idle tests. - Issue #14146: Highlight source line while debugging on Windows. - Issue #17532: Always include Options menu for IDLE on OS X. Patch by Guilherme Simões. What's New in IDLE 2.7.5? ========================= *Release date: 2013-05-12* - Issue #17838: Allow sys.stdin to be reassigned. - Issue #14735: Update IDLE docs to omit "Control-z on Windows". - Issue #17585: Fixed IDLE regression. Now closes when using exit() or quit(). - Issue #17657: Show full Tk version in IDLE's about dialog. Patch by Todd Rovito. - Issue #17613: Prevent traceback when removing syntax colorizer in IDLE. - Issue #1207589: Backwards-compatibility patch for right-click menu in IDLE. - Issue #16887: IDLE now accepts Cancel in tabify/untabify dialog box. - Issue #14254: IDLE now handles readline correctly across shell restarts. - Issue #17614: IDLE no longer raises exception when quickly closing a file. - Issue #6698: IDLE now opens just an editor window when configured to do so. - Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer raises an exception. - Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo. - Issue #17390: Display Python version on Idle title bar. Initial patch by Edmond Burnett. What's New in IDLE 2.7.4? ========================= *Release date: 2013-04-06* - Issue #17625: In IDLE, close the replace dialog after it is used. - IDLE was displaying spurious SystemExit tracebacks when running scripts that terminated by raising SystemExit (i.e. unittest and turtledemo). - Issue #9290: In IDLE the sys.std* streams now implement io.TextIOBase interface and support all mandatory methods and properties. - Issue #16829: IDLE printing no longer fails if there are spaces or other special characters in the file path. - Issue #16819: IDLE method completion now correctly works for unicode literals. - Issue #16504: IDLE now catches SyntaxErrors raised by tokenizer. Patch by Roger Serwy. - Issue #1207589: Add Cut/Copy/Paste items to IDLE right click Context Menu Patch by Todd Rovito. - Issue #13052: Fix IDLE crashing when replace string in Search/Replace dialog ended with '\'. Patch by Roger Serwy. - Issue #9803: Don't close IDLE on saving if breakpoint is open. Patch by Roger Serwy. - Issue #14958: Change IDLE systax highlighting to recognize all string and byte literals currently supported in Python 2.7. - Issue #14962: Update text coloring in IDLE shell window after changing options. Patch by Roger Serwy. - Issue #10997: Prevent a duplicate entry in IDLE's "Recent Files" menu. - Issue #12510: Attempting to get invalid tooltip no longer closes IDLE. Original patch by Roger Serwy. - Issue #10365: File open dialog now works instead of crashing even when parent window is closed. Patch by Roger Serwy. - Issue #14876: Use user-selected font for highlight configuration. Patch by Roger Serwy. - Issue #14409: IDLE now properly executes commands in the Shell window when it cannot read the normal config files on startup and has to use the built-in default key bindings. There was previously a bug in one of the defaults. - Issue #3573: IDLE hangs when passing invalid command line args (directory(ies) instead of file(s)) (Patch by Guilherme Polo) - Issue #5219: Prevent event handler cascade in IDLE. - Issue #15318: Prevent writing to sys.stdin. - Issue #13532, #15319: Check that arguments to sys.stdout.write are strings. - Issue #10365: File open dialog now works instead of crashing even when parent window is closed while dialog is open. - Issue #14018: Update checks for unstable system Tcl/Tk versions on OS X to include versions shipped with OS X 10.7 and 10.8 in addition to 10.6. - Issue #15853: Prevent IDLE crash on OS X when opening Preferences menu with certain versions of Tk 8.5. Initial patch by Kevin Walzer. What's New in IDLE 2.7.3? ========================= *Release date: 2012-04-09* - Issue #964437 Make IDLE help window non-modal. Patch by Guilherme Polo and Roger Serwy. - Issue #13933: IDLE auto-complete did not work with some imported module, like hashlib. (Patch by Roger Serwy) - Issue #13506: Add '' to path for IDLE Shell when started and restarted with Restart Shell. Original patches by Marco Scataglini and Roger Serwy. - Issue #4625: If IDLE cannot write to its recent file or breakpoint files, display a message popup and continue rather than crash. (original patch by Roger Serwy) - Issue #8793: Prevent IDLE crash when given strings with invalid hex escape sequences. - Issue #13296: Fix IDLE to clear compile __future__ flags on shell restart. (Patch by Roger Serwy) - Issue #14409: IDLE now properly executes commands in the Shell window when it cannot read the normal config files on startup and has to use the built-in default key bindings. There was previously a bug in one of the defaults. - Issue #3573: IDLE hangs when passing invalid command line args (directory(ies) instead of file(s)). What's New in IDLE 2.7.2? ========================= *Release date: 2011-06-11* - Issue #11718: IDLE's open module dialog couldn't find the __init__.py file in a package. - Issue #12590: IDLE editor window now always displays the first line when opening a long file. With Tk 8.5, the first line was hidden. - Issue #11088: don't crash when using F5 to run a script in IDLE on MacOSX with Tk 8.5. - Issue #10940: Workaround an IDLE hang on Mac OS X 10.6 when using the menu accelerators for Open Module, Go to Line, and New Indent Width. The accelerators still work but no longer appear in the menu items. - Issue #10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5, rather than the currently problematic Apple-supplied one, when running with the 64-/32-bit installer variant. - Issue #11052: Correct IDLE menu accelerators on Mac OS X for Save commands. - Issue #6075: IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk. - Issue #10404: Use ctl-button-1 on OSX for the context menu in Idle. - Issue #10107: Warn about unsaved files in IDLE on OSX. - Issue #10406: Enable Rstrip IDLE extension on OSX (just like on other platforms). - Issue #6378: Further adjust idle.bat to start associated Python - Issue #11896: Save on Close failed despite selecting "Yes" in dialog. - Issue #4676: toggle failing on Tk 8.5, causing IDLE exits and strange selection behavior. Improve selection extension behaviour. - Issue #3851 toggle non-functional when NumLock set on Windows. What's New in Python 2.7.1? =========================== *Release date: 2010-11-27* - Issue #6378: idle.bat now runs with the appropriate Python version rather than the system default. Patch by Sridhar Ratnakumar. What's New in IDLE 2.7? ======================= *Release date: 2010-07-03* - Issue #5150: IDLE's format menu now has an option to strip trailing whitespace. - Issue #5847: Remove -n switch on "Edit with IDLE" menu item. - idle.py modified and simplified to better support developing experimental versions of IDLE which are not installed in the standard location. - Issue #5559: OutputWindow/PyShell right click menu "Go to file/line" wasn't working with file paths containing spaces. - Issue #5783: Windows: Version string for the .chm help file changed, file not being accessed Patch by Guilherme Polo/ - Issue #1529142: Allow multiple IDLE GUI/subprocess pairs to exist simultaneously. Thanks to David Scherer for suggesting the use of an ephemeral port for the GUI. Patch by Weeble. - Remove port spec from run.py and fix bug where subprocess fails to extract port from command line when warnings are present. - Issue #5129: Tk 8.5 Text widget requires 'wordprocessor' tabstyle attr to handle mixed space/tab properly. Patch by Guilherme Polo. - Issue #3549: On MacOS the preferences menu was not present What's New in IDLE 2.6? ======================= *Release date: 01-Oct-2008* - Issue #2665: On Windows, an IDLE installation upgraded from an old version would not start if a custom theme was defined. - Home / Control-A toggles between left margin and end of leading white space. Patch 1196903 Jeff Shute. - Improved AutoCompleteWindow logic. Patch 2062 Tal Einat. - Autocompletion of filenames now support alternate separators, e.g. the '/' char on Windows. Patch 2061 Tal Einat. - Configured selection highlighting colors were ignored; updating highlighting in the config dialog would cause non-Python files to be colored as if they were Python source; improve use of ColorDelagator. Patch 1334. Tal Einat. - ScriptBinding event handlers weren't returning 'break'. Patch 2050, Tal Einat. - There was an error on exit if no sys.exitfunc was defined. Issue 1647. - Could not open files in .idlerc directory if latter was hidden on Windows. Issue 1743, Issue 1862. - Configure Dialog: improved layout for keybinding. Patch 1457 Tal Einat. - tabpage.py updated: tabbedPages.py now supports multiple dynamic rows of tabs. Patch 1612746 Tal Einat. - Add confirmation dialog before printing. Patch 1717170 Tal Einat. - Show paste position if > 80 col. Patch 1659326 Tal Einat. - Update cursor color without restarting. Patch 1725576 Tal Einat. - Allow keyboard interrupt only when user code is executing in subprocess. Patch 1225 Tal Einat (reworked from IDLE-Spoon). - configDialog cleanup. Patch 1730217 Tal Einat. - textView cleanup. Patch 1718043 Tal Einat. - Clean up EditorWindow close. - Patch 1693258: Fix for duplicate "preferences" menu-OS X. Backport of r56204. - OSX: Avoid crash for those versions of Tcl/Tk which don't have a console - Bug in idlelib.MultiCall: Options dialog was crashing IDLE if there was an option in config-extensions w/o a value. Patch #1672481, Tal Einat - Corrected some bugs in AutoComplete. Also, Page Up/Down in ACW implemented; mouse and cursor selection in ACWindow implemented; double Tab inserts current selection and closes ACW (similar to double-click and Return); scroll wheel now works in ACW. Added AutoComplete instructions to IDLE Help. - AutoCompleteWindow moved below input line, will move above if there isn't enough space. Patch 1621265 Tal Einat - Calltips now 'handle' tuples in the argument list (display '' :) Suggested solution by Christos Georgiou, Bug 791968. - Add 'raw' support to configHandler. Patch 1650174 Tal Einat. - Avoid hang when encountering a duplicate in a completion list. Bug 1571112. - Patch #1362975: Rework CodeContext indentation algorithm to avoid hard-coding pixel widths. - Bug #813342: Start the IDLE subprocess with -Qnew if the parent is started with that option. - Honor the "Cancel" action in the save dialog (Debian bug #299092) - Some syntax errors were being caught by tokenize during the tabnanny check, resulting in obscure error messages. Do the syntax check first. Bug 1562716, 1562719 - IDLE's version number takes a big jump to match the version number of the Python release of which it's a part. What's New in IDLE 1.2? ======================= *Release date: 19-SEP-2006* - File menu hotkeys: there were three 'p' assignments. Reassign the 'Save Copy As' and 'Print' hotkeys to 'y' and 't'. Change the Shell hotkey from 's' to 'l'. - IDLE honors new quit() and exit() commands from site.py Quitter() object. Patch 1540892, Jim Jewett - The 'with' statement is now a Code Context block opener. Patch 1540851, Jim Jewett - Retrieval of previous shell command was not always preserving indentation (since 1.2a1) Patch 1528468 Tal Einat. - Changing tokenize (39046) to detect dedent broke tabnanny check (since 1.2a1) - ToggleTab dialog was setting indent to 8 even if cancelled (since 1.2a1). - When used w/o subprocess, all exceptions were preceded by an error message claiming they were IDLE internal errors (since 1.2a1). - Bug #1525817: Don't truncate short lines in IDLE's tool tips. - Bug #1517990: IDLE keybindings on MacOS X now work correctly - Bug #1517996: IDLE now longer shows the default Tk menu when a path browser, class browser or debugger is the frontmost window on MacOS X - EditorWindow.test() was failing. Bug 1417598 - EditorWindow failed when used stand-alone if sys.ps1 not set. Bug 1010370 Dave Florek - Tooltips failed on new-syle class __init__ args. Bug 1027566 Loren Guthrie - Avoid occasional failure to detect closing paren properly. Patch 1407280 Tal Einat - Rebinding Tab key was inserting 'tab' instead of 'Tab'. Bug 1179168. - Colorizer now handles # correctly, also unicode strings and 'as' keyword in comment directly following import command. Closes 1325071. Patch 1479219 Tal Einat - Patch #1162825: Support non-ASCII characters in IDLE window titles. - Source file f.flush() after writing; trying to avoid lossage if user kills GUI. - Options / Keys / Advanced dialog made functional. Also, allow binding of 'movement' keys. - 'syntax' patch adds improved calltips and a new class attribute listbox. MultiCall module allows binding multiple actions to an event. Patch 906702 Noam Raphael - Better indentation after first line of string continuation. IDLEfork Patch 681992, Noam Raphael - Fixed CodeContext alignment problem, following suggestion from Tal Einat. - Increased performance in CodeContext extension Patch 936169 Noam Raphael - Mac line endings were incorrect when pasting code from some browsers when using X11 and the Fink distribution. Python Bug 1263656. - when cursor is on a previous command retrieves that command. Instead of replacing the input line, the previous command is now appended to the input line. Indentation is preserved, and undo is enabled. Patch 1196917 Jeff Shute - Clarify "tab/space" Error Dialog and "Tab Width" Dialog associated with the Untabify command. - Corrected "tab/space" Error Dialog to show correct menu for Untabify. Patch 1196980 Jeff Shute - New files are colorized by default, and colorizing is removed when saving as non-Python files. Patch 1196895 Jeff Shute Closes Python Bugs 775012 and 800432, partial fix IDLEfork 763524 - Improve subprocess link error notification. - run.py: use Queue's blocking feature instead of sleeping in the main loop. Patch # 1190163 Michiel de Hoon - Add config-main option to make the 'history' feature non-cyclic. Default remains cyclic. Python Patch 914546 Noam Raphael. - Removed ability to configure tabs indent from Options dialog. This 'feature' has never worked and no one has complained. It is still possible to set a default tabs (v. spaces) indent 'manually' via config-main.def (or to turn on tabs for the current EditorWindow via the Format menu) but IDLE will encourage indentation via spaces. - Enable setting the indentation width using the Options dialog. Bug # 783877 - Add keybindings for del-word-left and del-word-right. - Discourage using an indent width other than 8 when using tabs to indent Python code. - Restore use of EditorWindow.set_indentation_params(), was dead code since Autoindent was merged into EditorWindow. This allows IDLE to conform to the indentation width of a loaded file. (But it still will not switch to tabs even if the file uses tabs.) Any change in indent width is local to that window. - Add Tabnanny check before Run/F5, not just when Checking module. - If an extension can't be loaded, print warning and skip it instead of erroring out. - Improve error handling when .idlerc can't be created (warn and exit). - The GUI was hanging if the shell window was closed while a raw_input() was pending. Restored the quit() of the readline() mainloop(). http://mail.python.org/pipermail/idle-dev/2004-December/002307.html - The remote procedure call module rpc.py can now access data attributes of remote registered objects. Changes to these attributes are local, however. What's New in IDLE 1.1? ======================= *Release date: 30-NOV-2004* - On OpenBSD, terminating IDLE with ctrl-c from the command line caused a stuck subprocess MainThread because only the SocketThread was exiting. - Saving a Keyset w/o making changes (by using the "Save as New Custom Key Set" button) caused IDLE to fail on restart (no new keyset was created in config-keys.cfg). Also true for Theme/highlights. Python Bug 1064535. - A change to the linecache.py API caused IDLE to exit when an exception was raised while running without the subprocess (-n switch). Python Bug 1063840. - When paragraph reformat width was made configurable, a bug was introduced that caused reformatting of comment blocks to ignore how far the block was indented, effectively adding the indentation width to the reformat width. This has been repaired, and the reformat width is again a bound on the total width of reformatted lines. - Improve keyboard focus binding, especially in Windows menu. Improve window raising, especially in the Windows menu and in the debugger. IDLEfork 763524. - If user passes a non-existent filename on the commandline, just open a new file, don't raise a dialog. IDLEfork 854928. - EditorWindow.py was not finding the .chm help file on Windows. Typo at Rev 1.54. Python Bug 990954 - checking sys.platform for substring 'win' was breaking IDLE docs on Mac (darwin). Also, Mac Safari browser requires full file:// URIs. SF 900580. - Redirect the warning stream to the shell during the ScriptBinding check of user code and format the warning similarly to an exception for both that check and for runtime warnings raised in the subprocess. - CodeContext hint pane visibility state is now persistent across sessions. The pane no longer appears in the shell window. Added capability to limit extensions to shell window or editor windows. Noam Raphael addition to Patch 936169. - Paragraph reformat width is now a configurable parameter in the Options GUI. - New Extension: CodeContext. Provides block structuring hints for code which has scrolled above an edit window. Patch 936169 Noam Raphael. - If nulls somehow got into the strings in recent-files.lst EditorWindow.update_recent_files_list() was failing. Python Bug 931336. - If the normal background is changed via Configure/Highlighting, it will update immediately, thanks to the previously mentioned patch by Nigel Rowe. - Add a highlight theme for builtin keywords. Python Patch 805830 Nigel Rowe This also fixed IDLEfork bug [ 693418 ] Normal text background color not refreshed and Python bug [897872 ] Unknown color name on HP-UX - rpc.py:SocketIO - Large modules were generating large pickles when downloaded to the execution server. The return of the OK response from the subprocess initialization was interfering and causing the sending socket to be not ready. Add an IO ready test to fix this. Moved the polling IO ready test into pollpacket(). - Fix typo in rpc.py, s/b "pickle.PicklingError" not "pickle.UnpicklingError". - Added a Tk error dialog to run.py inform the user if the subprocess can't connect to the user GUI process. Added a timeout to the GUI's listening socket. Added Tk error dialogs to PyShell.py to announce a failure to bind the port or connect to the subprocess. Clean up error handling during connection initiation phase. This is an update of Python Patch 778323. - Print correct exception even if source file changed since shell was restarted. IDLEfork Patch 869012 Noam Raphael - Keybindings with the Shift modifier now work correctly. So do bindings which use the Space key. Limit unmodified user keybindings to the function keys. Python Bug 775353, IDLEfork Bugs 755647, 761557 - After an exception, run.py was not setting the exception vector. Noam Raphael suggested correcting this so pdb's postmortem pm() would work. IDLEfork Patch 844675 - IDLE now does not fail to save the file anymore if the Tk buffer is not a Unicode string, yet eol_convention is. Python Bugs 774680, 788378 - IDLE didn't start correctly when Python was installed in "Program Files" on W2K and XP. Python Bugs 780451, 784183 - config-main.def documentation incorrectly referred to idle- instead of config- filenames. SF 782759 Also added note about .idlerc location. What's New in IDLE 1.0? ======================= *Release date: 29-Jul-2003* - Calltip error when docstring was None Python Bug 775541 - Updated extend.txt, help.txt, and config-extensions.def to correctly reflect the current status of the configuration system. Python Bug 768469 - Fixed: Call Tip Trimming May Loop Forever. Python Patch 769142 (Daniels) - Replaced apply(f, args, kwds) with f(*args, **kwargs) to improve performance Python Patch 768187 - Break or continue statements outside a loop were causing IDLE crash Python Bug 767794 - Convert Unicode strings from readline to IOBinding.encoding. Also set sys.std{in|out|err}.encoding, for both the local and the subprocess case. SF IDLEfork patch 682347. - Extend AboutDialog.ViewFile() to support file encodings. Make the CREDITS file Latin-1. - Updated the About dialog to reflect re-integration into Python. Provide buttons to display Python's NEWS, License, and Credits, plus additional buttons for IDLE's README and NEWS. - TextViewer() now has a third parameter which allows inserting text into the viewer instead of reading from a file. - (Created the .../Lib/idlelib directory in the Python CVS, which is a clone of IDLEfork modified to install in the Python environment. The code in the interrupt module has been moved to thread.interrupt_main(). ) - Printing the Shell window was failing if it was not saved first SF 748975 - When using the Search in Files dialog, if the user had a selection highlighted in his Editor window, insert it into the dialog search field. - The Python Shell entry was disappearing from the Windows menu. - Update the Windows file list when a file name change occurs - Change to File / Open Module: always pop up the dialog, using the current selection as the default value. This is easier to use habitually. - Avoided a problem with starting the subprocess when 'localhost' doesn't resolve to the user's loopback interface. SF 747772 - Fixed an issue with highlighted errors never de-colorizing. SF 747677. Also improved notification of Tabnanny Token Error. - File / New will by default save in the directory of the Edit window from which it was initiated. SF 748973 Guido van Rossum patch. What's New in IDLEfork 0.9b1? ============================= *Release date: 02-Jun-2003* - The current working directory of the execution environment (and shell following completion of execution) is now that of the module being run. - Added the delete-exitfunc option to config-main.def. (This option is not included in the Options dialog.) Setting this to True (the default) will cause IDLE to not run sys.exitfunc/atexit when the subprocess exits. - IDLE now preserves the line ending codes when editing a file produced on a different platform. SF 661759, SF 538584 - Reduced default editor font size to 10 point and increased window height to provide a better initial impression on Windows. - Options / Fonts/Tabs / Set Base Editor Font: List box was not highlighting the default font when first installed on Windows. SF 661676 - Added Autosave feature: when user runs code from edit window, if the file has been modified IDLE will silently save it if Autosave is enabled. The option is set in the Options dialog, and the default is to prompt the user to save the file. SF 661318 Bruce Sherwood patch. - Improved the RESTART annotation in the shell window when the user restarts the shell while it is generating output. Also improved annotation when user repeatedly hammers the Ctrl-F6 restart. - Allow IDLE to run when not installed and cwd is not the IDLE directory SF Patch 686254 "Run IDLEfork from any directory without set-up" - Raphael - When a module is run from an EditorWindow: if its directory is not in sys.path, prepend it. This allows the module to import other modules in the same directory. Do the same for a script run from the command line. - Correctly restart the subprocess if it is running user code and the user attempts to run some other module or restarts the shell. Do the same if the link is broken and it is possible to restart the subprocess and re- connect to the GUI. SF RFE 661321. - Improved exception reporting when running commands or scripts from the command line. - Added a -n command line switch to start IDLE without the subprocess. Removed the Shell menu when running in that mode. Updated help messages. - Added a comment to the shell startup header to indicate when IDLE is not using the subprocess. - Restore the ability to run without the subprocess. This can be important for some platforms or configurations. (Running without the subprocess allows the debugger to trace through parts of IDLE itself, which may or may not be desirable, depending on your point of view. In addition, the traditional reload/import tricks must be use if user source code is changed.) This is helpful for developing IDLE using IDLE, because one instance can be used to edit the code and a separate instance run to test changes. (Multiple concurrent IDLE instances with subprocesses is a future feature) - Improve the error message a user gets when saving a file with non-ASCII characters and no source encoding is specified. Done by adding a dialog 'EncodingMessage', which contains the line to add in a fixed-font entry widget, and which has a button to add that line to the file automatically. Also, add a configuration option 'EditorWindow/encoding', which has three possible values: none, utf-8, and locale. None is the default: IDLE will show this dialog when non-ASCII characters are encountered. utf-8 means that files with non-ASCII characters are saved as utf-8-with-bom. locale means that files are saved in the locale's encoding; the dialog is only displayed if the source contains characters outside the locale's charset. SF 710733 - Loewis - Improved I/O response by tweaking the wait parameter in various calls to signal.signal(). - Implemented a threaded subprocess which allows interrupting a pass loop in user code using the 'interrupt' extension. User code runs in MainThread, while the RPCServer is handled by SockThread. This is necessary because Windows doesn't support signals. - Implemented the 'interrupt' extension module, which allows a subthread to raise a KeyboardInterrupt in the main thread. - Attempting to save the shell raised an error related to saving breakpoints, which are not implemented in the shell - Provide a correct message when 'exit' or 'quit' are entered at the IDLE command prompt SF 695861 - Eliminate extra blank line in shell output caused by not flushing stdout when user code ends with an unterminated print. SF 695861 - Moved responsibility for exception formatting (i.e. pruning IDLE internal calls) out of rpc.py into the client and server. - Exit IDLE cleanly even when doing subprocess I/O - Handle subprocess interrupt with an RPC message. - Restart the subprocess if it terminates itself. (VPython programs do that) - Support subclassing of exceptions, including in the shell, by moving the exception formatting to the subprocess. What's New in IDLEfork 0.9 Alpha 2? =================================== *Release date: 27-Jan-2003* - Updated INSTALL.txt to claify use of the python2 rpm. - Improved formatting in IDLE Help. - Run menu: Replace "Run Script" with "Run Module". - Code encountering an unhandled exception under the debugger now shows the correct traceback, with IDLE internal levels pruned out. - If an exception occurs entirely in IDLE, don't prune the IDLE internal modules from the traceback displayed. - Class Browser and Path Browser now use Alt-Key-2 for vertical zoom. - IDLE icons will now install correctly even when setup.py is run from the build directory - Class Browser now compatible with Python2.3 version of pyclbr.py - Left cursor move in presence of selected text now moves from left end of the selection. - Add Meta keybindings to "IDLE Classic Windows" to handle reversed Alt/Meta on some Linux distros. - Change default: IDLE now starts with Python Shell. - Removed the File Path from the Additional Help Sources scrolled list. - Add capability to access Additional Help Sources on the web if the Help File Path begins with //http or www. (Otherwise local path is validated, as before.) - Additional Help Sources were not being posted on the Help menu in the order entered. Implement sorting the list by [HelpFiles] 'option' number. - Add Browse button to New Help Source dialog. Arrange to start in Python/Doc if platform is Windows, otherwise start in current directory. - Put the Additional Help Sources directly on the Help menu instead of in an Extra Help cascade menu. Rearrange the Help menu so the Additional Help Sources come last. Update help.txt appropriately. - Fix Tk root pop-ups in configSectionNameDialog.py and configDialog.py - Uniform capitalization in General tab of ConfigDialog, update the doc string. - Fix bug in ConfigDialog where SaveAllChangedConfig() was unexpectedly deleting Additional Help Sources from the user's config file. - Make configHelpSourceEdit OK button the default and bind - Fix Tk root pop-ups in configHelpSourceEdit: error dialogs not attached to parents. - Use os.startfile() to open both Additional Help and Python Help on the Windows platform. The application associated with the file type will act as the viewer. Windows help files (.chm) are now supported via the Settings/General/Additional Help facility. - If Python Help files are installed locally on Linux, use them instead of accessing python.org. - Make the methods for finding the Python help docs more robust, and make them work in the installed configuration, also. - On the Save Before Run dialog, make the OK button the default. One less mouse action! - Add a method: EditorWindow.get_geometry() for future use in implementing window location persistence. - Removed the "Help/Advice" menu entry. Thanks, David! We'll remember! - Change the "Classic Windows" theme's paste key to be . - Rearrange the Shell menu to put Stack Viewer entries adjacent. - Add the ability to restart the subprocess interpreter from the shell window; add an associated menu entry "Shell/Restart" with binding Control-F6. Update IDLE help. - Upon a restart, annotate the shell window with a "restart boundary". Add a shell window menu "Shell/View Restart" with binding F6 to jump to the most recent restart boundary. - Add Shell menu to Python Shell; change "Settings" to "Options". - Remove incorrect comment in setup.py: IDLEfork is now installed as a package. - Add INSTALL.txt, HISTORY.txt, NEWS.txt to installed configuration. - In installer text, fix reference to Visual Python, should be VPython. Properly credit David Scherer. - Modified idle, idle.py, idle.pyw to improve exception handling. What's New in IDLEfork 0.9 Alpha 1? =================================== *Release date: 31-Dec-2002* - First release of major new functionality. For further details refer to Idle-dev and/or the Sourceforge CVS. - Adapted to the Mac platform. - Overhauled the IDLE startup options and revised the idle -h help message, which provides details of command line usage. - Multiple bug fixes and usability enhancements. - Introduced the new RPC implementation, which includes a debugger. The output of user code is to the shell, and the shell may be used to inspect the environment after the run has finished. (In version 0.8.1 the shell environment was separate from the environment of the user code.) - Introduced the configuration GUI and a new About dialog. - Removed David Scherer's Remote Procedure Call code and replaced with Guido van Rossum's. GvR code has support for the IDLE debugger and uses the shell to inspect the environment of code Run from an Edit window. Files removed: ExecBinding.py, loader.py, protocol.py, Remote.py, spawn.py -------------------------------------------------------------------- Refer to HISTORY.txt for additional information on earlier releases. --------------------------------------------------------------------