jpayne@69: What's New in IDLE 3.8.1 jpayne@69: Released on 2019-12-16? jpayne@69: ====================================== jpayne@69: jpayne@69: jpayne@69: bpo-38943: Fix autocomplete windows not always appearing on some jpayne@69: systems. Patch by Johnny Najera. jpayne@69: jpayne@69: bpo-38944: Excape key now closes IDLE completion windows. Patch by jpayne@69: Johnny Najera. jpayne@69: jpayne@69: bpo-38862: 'Strip Trailing Whitespace' on the Format menu removes extra jpayne@69: newlines at the end of non-shell files. jpayne@69: jpayne@69: bpo-38636: Fix IDLE Format menu tab toggle and file indent width. These jpayne@69: functions (default shortcuts Alt-T and Alt-U) were mistakenly disabled jpayne@69: in 3.7.5 and 3.8.0. jpayne@69: jpayne@69: bpo-4360: Add an option to toggle IDLE's cursor blink for shell, jpayne@69: editor, and output windows. See Settings, General, Window Preferences, jpayne@69: Cursor Blink. Patch by Zachary Spytz. jpayne@69: jpayne@69: bpo-26353: Stop adding newline when saving an IDLE shell window. jpayne@69: jpayne@69: bpo-38598: Do not try to compile IDLE shell or output windows. jpayne@69: jpayne@69: jpayne@69: What's New in IDLE 3.8.0 (since 3.7.0) jpayne@69: Released on 2019-10-14 jpayne@69: ====================================== jpayne@69: jpayne@69: bpo-36698: IDLE no longer fails when writing non-encodable characters jpayne@69: to stderr. It now escapes them with a backslash, like the regular jpayne@69: Python interpreter. Add an errors field to the standard streams. jpayne@69: jpayne@69: bpo-13153: Improve tkinter's handing of non-BMP (astral) unicode jpayne@69: characters, such as 'rocket \U0001f680'. Whether a proper glyph or jpayne@69: replacement char is displayed depends on the OS and font. For IDLE, jpayne@69: astral chars in code interfere with editing. jpayne@69: jpayne@69: bpo-35379: When exiting IDLE, catch any AttributeError. One happens jpayne@69: when EditorWindow.close is called twice. Printing a traceback, when jpayne@69: IDLE is run from a terminal, is useless and annoying. jpayne@69: jpayne@69: bpo-38183: To avoid test issues, test_idle ignores the user config jpayne@69: directory. It no longer tries to create or access .idlerc or any files jpayne@69: within. Users must run IDLE to discover problems with saving settings. jpayne@69: jpayne@69: bpo-38077: IDLE no longer adds 'argv' to the user namespace when jpayne@69: initializing it. This bug only affected 3.7.4 and 3.8.0b2 to 3.8.0b4. jpayne@69: jpayne@69: bpo-38401: Shell restart lines now fill the window width, always start jpayne@69: with '=', and avoid wrapping unnecessarily. The line will still wrap jpayne@69: if the included file name is long relative to the width. jpayne@69: jpayne@69: bpo-37092: Add mousewheel scrolling for IDLE module, path, and stack jpayne@69: browsers. Patch by George Zhang. jpayne@69: jpayne@69: bpo-35771: To avoid occasional spurious test_idle failures on slower jpayne@69: machines, increase the ``hover_delay`` in test_tooltip. jpayne@69: jpayne@69: bpo-37824: Properly handle user input warnings in IDLE shell. jpayne@69: Cease turning SyntaxWarnings into SyntaxErrors. jpayne@69: jpayne@69: bpo-37929: IDLE Settings dialog now closes properly when there is no jpayne@69: shell window. jpayne@69: jpayne@69: bpo-37849: Fix completions list appearing too high or low when shown jpayne@69: above the current line. jpayne@69: jpayne@69: bpo-36419: Refactor autocompete and improve testing. jpayne@69: jpayne@69: bpo-37748: Reorder the Run menu. Put the most common choice, jpayne@69: Run Module, at the top. jpayne@69: jpayne@69: bpo-37692: Improve highlight config sample with example shell jpayne@69: interaction and better labels for shell elements. jpayne@69: jpayne@69: bpo-37628: Settings dialog no longer expands with font size. jpayne@69: The font and highlight sample boxes gain scrollbars instead. jpayne@69: jpayne@69: bpo-17535: Add optional line numbers for IDLE editor windows. jpayne@69: jpayne@69: bpo-37627: Initialize the Customize Run dialog with the command line jpayne@69: arguments most recently entered before. The user can optionally edit jpayne@69: before submitting them. jpayne@69: jpayne@69: bpo-33610: Code context always shows the correct context when toggled on. jpayne@69: jpayne@69: bpo-36390: Gather Format menu functions into format.py. Combine jpayne@69: paragraph.py, rstrip.py, and format methods from editor.py. jpayne@69: jpayne@69: bpo-37530: Optimize code context to reduce unneeded background activity. jpayne@69: Font and highlight changes now occur along with text changes instead jpayne@69: of after a random delay. jpayne@69: jpayne@69: bpo-27452: Cleanup config.py by inlining RemoveFile and simplifying jpayne@69: the handling of __file__ in CreateConfigHandlers/ jpayne@69: jpayne@69: bpo-26806: To compensate for stack frames added by IDLE and avoid jpayne@69: possible problems with low recursion limits, add 30 to limits in the jpayne@69: user code execution process. Subtract 30 when reporting recursion jpayne@69: limits to make this addition mostly transparent. jpayne@69: jpayne@69: bpo-37325: Fix tab focus traversal order for help source and custom jpayne@69: run dialogs. jpayne@69: jpayne@69: bpo-37321: Both subprocess connection error messages now refer to jpayne@69: the 'Startup failure' section of the IDLE doc. jpayne@69: jpayne@69: bpo-37177: Properly attach search dialogs to their main window so jpayne@69: that they behave like other dialogs and do not get hidden behind jpayne@69: their main window. jpayne@69: jpayne@69: bpo-37039: Adjust "Zoom Height" to individual screens by momentarily jpayne@69: maximizing the window on first use with a particular screen. Changing jpayne@69: screen settings may invalidate the saved height. While a window is jpayne@69: maximized, "Zoom Height" has no effect. jpayne@69: jpayne@69: bpo-35763: Make calltip reminder about '/' meaning positional-only less jpayne@69: obtrusive by only adding it when there is room on the first line. jpayne@69: jpayne@69: bpo-5680: Add 'Run Customized' to the Run menu to run a module with jpayne@69: customized settings. Any command line arguments entered are added jpayne@69: to sys.argv. One can suppress the normal Shell main module restart. jpayne@69: jpayne@69: bpo-35610: Replace now redundant editor.context_use_ps1 with jpayne@69: .prompt_last_line. This finishes change started in bpo-31858. jpayne@69: jpayne@69: bpo-32411: Stop sorting dict created with desired line order. jpayne@69: jpayne@69: bpo-37038: Make idlelib.run runnable; add test clause. jpayne@69: jpayne@69: bpo-36958: Print any argument other than None or int passed to jpayne@69: SystemExit or sys.exit(). jpayne@69: jpayne@69: bpo-36807: When saving a file, call file.flush() and os.fsync() jpayne@69: so bits are flushed to e.g. a USB drive. jpayne@69: jpayne@69: bpo-36429: Fix starting IDLE with pyshell. jpayne@69: Add idlelib.pyshell alias at top; remove pyshell alias at bottom. jpayne@69: Remove obsolete __name__=='__main__' command. jpayne@69: jpayne@69: bpo-30348: Increase test coverage of idlelib.autocomplete by 30%. jpayne@69: Patch by Louie Lu. jpayne@69: jpayne@69: bpo-23205: Add tests and refactor grep's findfiles. jpayne@69: jpayne@69: bpo-36405: Use dict unpacking in idlelib. jpayne@69: jpayne@69: bpo-36396: Remove fgBg param of idlelib.config.GetHighlight(). jpayne@69: This param was only used twice and changed the return type. jpayne@69: jpayne@69: bpo-23216: IDLE: Add docstrings to search modules. jpayne@69: jpayne@69: bpo-36176: Fix IDLE autocomplete & calltip popup colors. jpayne@69: Prevent conflicts with Linux dark themes jpayne@69: (and slightly darken calltip background). jpayne@69: jpayne@69: bpo-36152: Remove colorizer.ColorDelegator.close_when_done and the jpayne@69: corresponding argument of .close(). In IDLE, both have always been jpayne@69: None or False since 2007. jpayne@69: jpayne@69: bpo-36096: Make colorizer state variables instance-only. jpayne@69: jpayne@69: bpo-32129: Avoid blurry IDLE application icon on macOS with Tk 8.6. jpayne@69: Patch by Kevin Walzer. jpayne@69: jpayne@69: bpo-24310: Document settings dialog font tab sample. jpayne@69: jpayne@69: bpo-35689: Add docstrings and tests for colorizer. jpayne@69: jpayne@69: bpo-35833: Revise IDLE doc for control codes sent to Shell. jpayne@69: Add a code example block. jpayne@69: jpayne@69: bpo-35770: IDLE macosx deletes Options => Configure IDLE. jpayne@69: It previously deleted Window => Zoom Height by mistake. jpayne@69: (Zoom Height is now on the Options menu). On Mac, the settings jpayne@69: dialog is accessed via Preferences on the IDLE menu. jpayne@69: jpayne@69: bpo-35769: Change new file name from 'Untitled' to 'untitled'. jpayne@69: jpayne@69: bpo-35660: Fix imports in window module. jpayne@69: jpayne@69: bpo-35641: Properly format calltip for function without docstring. jpayne@69: jpayne@69: bpo-33987: Use ttk Frame for ttk widgets. jpayne@69: jpayne@69: bpo-34055: Fix erroneous 'smart' indents and newlines in IDLE Shell. jpayne@69: jpayne@69: bpo-28097: Add Previous/Next History entries to Shell menu. jpayne@69: jpayne@69: bpo-35591: Find Selection now works when selection not found. jpayne@69: jpayne@69: bpo-35598: Update config_key: use PEP 8 names and ttk widgets, jpayne@69: make some objects global, and add tests. jpayne@69: jpayne@69: bpo-35196: Speed up squeezer line counting. jpayne@69: jpayne@69: bpo-35208: Squeezer now counts wrapped lines before newlines. jpayne@69: jpayne@69: bpo-35555: Gray out Code Context menu entry when it's not applicable. jpayne@69: jpayne@69: bpo-22703: Improve the Code Context and Zoom Height menu labels. jpayne@69: The Code Context menu label now toggles between Show/Hide Code Context. jpayne@69: The Zoom Height menu now toggles between Zoom/Restore Height. jpayne@69: Zoom Height has moved from the Window menu to the Options menu. jpayne@69: jpayne@69: bpo-35521: Document the editor code context feature. jpayne@69: Add some internal references within the IDLE doc. jpayne@69: jpayne@69: bpo-34864: When starting IDLE on MacOS, warn if the system setting jpayne@69: "Prefer tabs when opening documents" is "Always". As previous jpayne@69: documented for this issue, running IDLE with this setting causes jpayne@69: problems. If the setting is changed while IDLE is running, jpayne@69: there will be no warning until IDLE is restarted. jpayne@69: jpayne@69: bpo-35213: Where appropriate, use 'macOS' in idlelib. jpayne@69: jpayne@69: bpo-34864: Document two IDLE on MacOS issues. The System Preferences jpayne@69: Dock "prefer tabs always" setting disables some IDLE features. jpayne@69: Menus are a bit different than as described for Windows and Linux. jpayne@69: jpayne@69: bpo-35202: Remove unused imports in idlelib. jpayne@69: jpayne@69: bpo-33000: Document that IDLE's shell has no line limit. jpayne@69: A program that runs indefinitely can overfill memory. jpayne@69: jpayne@69: bpo-23220: Explain how IDLE's Shell displays output. jpayne@69: Add new subsection "User output in Shell". jpayne@69: jpayne@69: bpo-35099: Improve the doc about IDLE running user code. jpayne@69: "IDLE -- console differences" is renamed "Running user code". jpayne@69: It mostly covers the implications of using custom sys.stdxxx objects. jpayne@69: jpayne@69: bpo-35097: Add IDLE doc subsection explaining editor windows. jpayne@69: Topics include opening, title and status bars, .py* extension, and running. jpayne@69: jpayne@69: Issue 35093: Document the IDLE document viewer in the IDLE doc. jpayne@69: Add a paragraph in "Help and preferences", "Help sources" subsection. jpayne@69: jpayne@69: bpo-1529353: Explain Shell text squeezing in the IDLE doc. jpayne@69: jpayne@69: bpo-35088: Update idlelib.help.copy_string docstring. jpayne@69: We now use git and backporting instead of hg and forward merging. jpayne@69: jpayne@69: bpo-35087: Update idlelib help files for the current doc build. jpayne@69: The main change is the elimination of chapter-section numbers. jpayne@69: jpayne@69: bpo-1529353: Output over N lines (50 by default) is squeezed down to a button. jpayne@69: N can be changed in the PyShell section of the General page of the jpayne@69: Settings dialog. Fewer, but possibly extra long, lines can be squeezed by jpayne@69: right clicking on the output. Squeezed output can be expanded in place jpayne@69: by double-clicking the button or into the clipboard or a separate window jpayne@69: by right-clicking the button. jpayne@69: jpayne@69: bpo-34548: Use configured color theme for read-only text views. jpayne@69: jpayne@69: bpo-33839: Refactor ToolTip and CallTip classes; add documentation jpayne@69: and tests. jpayne@69: jpayne@69: bpo-34047: Fix mouse wheel scrolling direction on macOS. jpayne@69: jpayne@69: bpo-34275: Make calltips always visible on Mac. jpayne@69: Patch by Kevin Walzer. jpayne@69: jpayne@69: bpo-34120: Fix freezing after closing some dialogs on Mac. jpayne@69: This is one of multiple regressions from using newer tcl/tk. jpayne@69: jpayne@69: bpo-33975: Avoid small type when running htests. jpayne@69: Since part of the purpose of human-viewed tests is to determine that jpayne@69: widgets look right, it is important that they look the same for jpayne@69: testing as when running IDLE. jpayne@69: jpayne@69: bpo-33905: Add test for idlelib.stackview.StackBrowser. jpayne@69: jpayne@69: bpo-33924: Change mainmenu.menudefs key 'windows' to 'window'. jpayne@69: Every other menudef key is the lowercase version of the jpayne@69: corresponding main menu entry (in this case, 'Window'). jpayne@69: jpayne@69: bpo-33906: Rename idlelib.windows as window jpayne@69: Match Window on the main menu and remove last plural module name. jpayne@69: Change imports, test, and attribute references to match new name. jpayne@69: jpayne@69: bpo-33917: Fix and document idlelib/idle_test/template.py. jpayne@69: The revised file compiles, runs, and tests OK. idle_test/README.txt jpayne@69: explains how to use it to create new IDLE test files. jpayne@69: jpayne@69: bpo-33904: In rstrip module, rename class RstripExtension as Rstrip. jpayne@69: jpayne@69: bpo-33907: For consistency and clarity, rename calltip objects. jpayne@69: Module calltips and its class CallTips are now calltip and Calltip. jpayne@69: In module calltip_w, class CallTip is now CalltipWindow. jpayne@69: jpayne@69: bpo-33855: Minimally test all IDLE modules. jpayne@69: Standardize the test file format. Add missing test files that import jpayne@69: the tested module and perform at least one test. Check and record the jpayne@69: coverage of each test. jpayne@69: jpayne@69: bpo-33856: Add 'help' to Shell's initial welcome message. jpayne@69: jpayne@69: jpayne@69: What's New in IDLE 3.7.0 (since 3.6.0) jpayne@69: Released on 2018-06-27 jpayne@69: ====================================== jpayne@69: jpayne@69: bpo-33656: On Windows, add API call saying that tk scales for DPI. jpayne@69: On Windows 8.1+ or 10, with DPI compatibility properties of the Python jpayne@69: binary unchanged, and a monitor resolution greater than 96 DPI, this jpayne@69: should make text and lines sharper and some colors brighter. jpayne@69: On other systems, it should have no effect. If you have a custom theme, jpayne@69: you may want to adjust a color or two. If perchance it make text worse jpayne@69: on your monitor, you can disable the ctypes.OleDLL call near the top of jpayne@69: pyshell.py and report the problem on python-list or idle-dev@python.org. jpayne@69: jpayne@69: bpo-33768: Clicking on a context line moves that line to the top jpayne@69: of the editor window. jpayne@69: jpayne@69: bpo-33763: Replace the code context label widget with a text widget. jpayne@69: jpayne@69: bpo-33664: Scroll IDLE editor text by lines. jpayne@69: (Previously, the mouse wheel and scrollbar slider moved text by a fixed jpayne@69: number of pixels, resulting in partial lines at the top of the editor jpayne@69: box.) This change also applies to the shell and grep output windows, jpayne@69: but currently not to read-only text views. jpayne@69: jpayne@69: bpo-33679: Enable theme-specific color configuration for Code Context. jpayne@69: (Previously, there was one code context foreground and background font jpayne@69: color setting, default or custom, on the extensions tab, that applied jpayne@69: to all themes.) For built-in themes, the foreground is the same as jpayne@69: normal text and the background is a contrasting gray. Context colors for jpayne@69: custom themes are set on the Hightlights tab along with other colors. jpayne@69: When one starts IDLE from a console and loads a custom theme without jpayne@69: definitions for 'context', one will see a warning message on the jpayne@69: console. jpayne@69: jpayne@69: bpo-33642: Display up to maxlines non-blank lines for Code Context. jpayne@69: If there is no current context, show a single blank line. (Previously, jpayne@69: the Code Contex had numlines lines, usually with some blank.) The use jpayne@69: of a new option, 'maxlines' (default 15), avoids possible interference jpayne@69: with user settings of the old option, 'numlines' (default 3). jpayne@69: jpayne@69: bpo-33628: Cleanup codecontext.py and its test. jpayne@69: jpayne@69: bpo-32831: Add docstrings and tests for codecontext.py. jpayne@69: Coverage is 100%. Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-33564: Code context now recognizes async as a block opener. jpayne@69: jpayne@69: bpo-21474: Update word/identifier definition from ascii to unicode. jpayne@69: In text and entry boxes, this affects selection by double-click, jpayne@69: movement left/right by control-left/right, and deletion left/right jpayne@69: by control-BACKSPACE/DEL. jpayne@69: jpayne@69: bpo-33204: Consistently color invalid string prefixes. jpayne@69: A 'u' string prefix cannot be paired with either 'r' or 'f'. jpayne@69: IDLE now consistently colors as much of the prefix, starting at the jpayne@69: right, as is valid. Revise and extend colorizer test. jpayne@69: jpayne@69: bpo-32984: Set __file__ while running a startup file. jpayne@69: Like Python, IDLE optionally runs 1 startup file in the Shell window jpayne@69: before presenting the first interactive input prompt. For IDLE, jpayne@69: option -s runs a file named in environmental variable IDLESTARTUP or jpayne@69: PYTHONSTARTUP; -r file runs file. Python sets __file__ to the startup jpayne@69: file name before running the file and unsets it before the first jpayne@69: prompt. IDLE now does the same when run normally, without the -n jpayne@69: option. jpayne@69: jpayne@69: bpo-32940: Replace StringTranslatePseudoMapping with faster code. jpayne@69: jpayne@69: bpo-32916: Change 'str' to 'code' in idlelib.pyparse and users. jpayne@69: jpayne@69: bpo-32905: Remove unused code in pyparse module. jpayne@69: jpayne@69: bpo-32874: IDLE - add pyparse tests with 97% coverage. jpayne@69: jpayne@69: bpo-32837: IDLE - require encoding argument for textview.view_file. jpayne@69: Using the system and place-dependent default encoding for open() jpayne@69: is a bad idea for IDLE's system and location-independent files. jpayne@69: jpayne@69: bpo-32826: Add "encoding=utf-8" to open() in IDLE's test_help_about. jpayne@69: GUI test test_file_buttons() only looks at initial ascii-only lines, jpayne@69: but failed on systems where open() defaults to 'ascii' because jpayne@69: readline() internally reads and decodes far enough ahead to encounter jpayne@69: a non-ascii character in CREDITS.txt. jpayne@69: jpayne@69: bpo-32765: Update configdialog General tab create page docstring. jpayne@69: Add new widgets to the widget list. jpayne@69: jpayne@69: bpo-32207: Improve tk event exception tracebacks in IDLE. jpayne@69: When tk event handling is driven by IDLE's run loop, a confusing jpayne@69: and distracting queue.EMPTY traceback context is no longer added jpayne@69: to tk event exception tracebacks. The traceback is now the same jpayne@69: as when event handling is driven by user code. Patch based on jpayne@69: a suggestion by Serhiy Storchaka. jpayne@69: jpayne@69: bpo-32164: Delete unused file idlelib/tabbedpages.py. jpayne@69: Use of TabbedPageSet in configdialog was replaced by ttk.Notebook. jpayne@69: jpayne@69: bpo-32100: Fix old and new bugs in pathbrowser; improve tests. jpayne@69: Patch mostly by Cheryl Sabella. jpayne@69: jpayne@69: bpo-31860: The font sample in the settings dialog is now editable. jpayne@69: Edits persist while IDLE remains open. jpayne@69: Patch by Serhiy Storchake and Terry Jan Reedy. jpayne@69: jpayne@69: bpo-31858: Restrict shell prompt manipulation to the shell. jpayne@69: Editor and output windows only see an empty last prompt line. This jpayne@69: simplifies the code and fixes a minor bug when newline is inserted. jpayne@69: Sys.ps1, if present, is read on Shell start-up, but is not set or changed. jpayne@69: Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-28603: Fix a TypeError that caused a shell restart when printing jpayne@69: a traceback that includes an exception that is unhashable. jpayne@69: Patch by Zane Bitter. jpayne@69: jpayne@69: bpo-13802: Use non-Latin characters in the Font settings sample. jpayne@69: Even if one selects a font that defines a limited subset of the unicode jpayne@69: Basic Multilingual Plane, tcl/tk will use other fonts that define a jpayne@69: character. The expanded example give users of non-Latin characters jpayne@69: a better idea of what they might see in the shell and editors. jpayne@69: jpayne@69: To make room for the expanded sample, frames on the Font tab are jpayne@69: re-arranged. The Font/Tabs help explains a bit about the additions. jpayne@69: Patch by Terry Jan Reedy jpayne@69: jpayne@69: bpo-31460: Simplify the API of IDLE's Module Browser. jpayne@69: Passing a widget instead of an flist with a root widget opens the jpayne@69: option of creating a browser frame that is only part of a window. jpayne@69: Passing a full file name instead of pieces assumed to come from a jpayne@69: .py file opens the possibility of browsing python files that do not jpayne@69: end in .py. jpayne@69: jpayne@69: bpo-31649: Make _htest and _utest parameters keyword-only. jpayne@69: These are used to adjust code for human and unit tests. jpayne@69: jpayne@69: bpo-31459: Rename module browser from Class Browser to Module Browser. jpayne@69: The original module-level class and method browser became a module jpayne@69: browser, with the addition of module-level functions, years ago. jpayne@69: Nested classes and functions were added yesterday. For back- jpayne@69: compatibility, the virtual event <>, which jpayne@69: appears on the Keys tab of the Settings dialog, is not changed. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-1612262: Module browser now shows nested classes and functions. jpayne@69: Original patches for code and tests by Guilherme Polo and jpayne@69: Cheryl Sabella, respectively. Revisions by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-31500: Tk's default fonts now are scaled on HiDPI displays. jpayne@69: This affects all dialogs. Patch by Serhiy Storchaka. jpayne@69: jpayne@69: bpo-31493: Fix code context update and font update timers. jpayne@69: Canceling timers prevents a warning message when test_idle completes. jpayne@69: jpayne@69: bpo-31488: Update non-key options in former extension classes. jpayne@69: When applying configdialog changes, call .reload for each feature class. jpayne@69: Change ParenMatch so updated options affect existing instances attached jpayne@69: to existing editor windows. jpayne@69: jpayne@69: bpo-31477: Improve rstrip entry in IDLE doc. jpayne@69: Strip Trailing Whitespace strips more than blank spaces. jpayne@69: Multiline string literals are not skipped. jpayne@69: jpayne@69: bpo-31480: fix tests to pass with zzdummy extension disabled. (#3590) jpayne@69: To see the example in action, enable it on options extensions tab. jpayne@69: jpayne@69: bpo-31421: Document how IDLE runs tkinter programs. jpayne@69: IDLE calls tcl/tk update in the background in order to make live jpayne@69: interaction and experimentation with tkinter applications much easier. jpayne@69: jpayne@69: bpo-31414: Fix tk entry box tests by deleting first. jpayne@69: Adding to an int entry is not the same as deleting and inserting jpayne@69: because int('') will fail. Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-27099: Convert IDLE's built-in 'extensions' to regular features. jpayne@69: About 10 IDLE features were implemented as supposedly optional jpayne@69: extensions. Their different behavior could be confusing or worse for jpayne@69: users and not good for maintenance. Hence the conversion. jpayne@69: The main difference for users is that user configurable key bindings jpayne@69: for builtin features are now handled uniformly. Now, editing a binding jpayne@69: in a keyset only affects its value in the keyset. All bindings are jpayne@69: defined together in the system-specific default keysets in config- jpayne@69: extensions.def. All custom keysets are saved as a whole in config- jpayne@69: extension.cfg. All take effect as soon as one clicks Apply or Ok. jpayne@69: The affected events are '<>', jpayne@69: '<>', '<>', '<>', jpayne@69: '<>', '<>', '<>', and jpayne@69: '<>'. Any (global) customizations made before 3.6.3 will jpayne@69: not affect their keyset-specific customization after 3.6.3. and vice jpayne@69: versa. jpayne@69: Initial patch by Charles Wohlganger, revised by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-31051: Rearrange condigdialog General tab. jpayne@69: Sort non-Help options into Window (Shell+Editor) and Editor (only). jpayne@69: Leave room for the addition of new options. jpayne@69: Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30617: Add docstrings and tests for outwin subclass of editor. jpayne@69: Move some data and functions from the class to module level. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-31287: Do not modify tkinter.messagebox in test_configdialog. jpayne@69: Instead, mask it with an instance mock that can be deleted. jpayne@69: Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30781: Use ttk widgets in ConfigDialog pages. jpayne@69: These should especially look better on MacOSX. jpayne@69: Patches by Terry Jan Reedy and Cheryl Sabella. jpayne@69: jpayne@69: bpo-31206: Factor HighPage(Frame) class from ConfigDialog. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bp0-31001: Add tests for configdialog highlight tab. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-31205: Factor KeysPage(Frame) class from ConfigDialog. jpayne@69: The slightly modified tests continue to pass. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-31002: Add tests for configdialog keys tab. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-19903: Change calltipes to use inspect.signature. jpayne@69: Idlelib.calltips.get_argspec now uses inspect.signature instead of jpayne@69: inspect.getfullargspec, like help() does. This improves the signature jpayne@69: in the call tip in a few different cases, including builtins converted jpayne@69: to provide a signature. A message is added if the object is not jpayne@69: callable, has an invalid signature, or if it has positional-only jpayne@69: parameters. Patch by Louie Lu. jpayne@69: jpayne@69: bop-31083: Add an outline of a TabPage class in configdialog. jpayne@69: Add template as comment. Update existing classes to match outline. jpayne@69: Initial patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-31050: Factor GenPage(Frame) class from ConfigDialog. jpayne@69: The slightly modified tests for the General tab continue to pass. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-31004: Factor FontPage(Frame) class from ConfigDialog. jpayne@69: The slightly modified tests continue to pass. The General test jpayne@69: broken by the switch to ttk.Notebook is fixed. jpayne@69: Patch mostly by Cheryl Sabella. jpayne@69: jpayne@69: bpo-30781: IDLE - Use ttk Notebook in ConfigDialog. jpayne@69: This improves navigation by tabbing. jpayne@69: Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-31060: IDLE - Finish rearranging methods of ConfigDialog. jpayne@69: Grouping methods pertaining to each tab and the buttons will aid jpayne@69: writing tests and improving the tabs and will enable splitting the jpayne@69: groups into classes. jpayne@69: Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30853: IDLE -- Factor a VarTrace class out of ConfigDialog. jpayne@69: Instance tracers manages pairs consisting of a tk variable and a jpayne@69: callback function. When tracing is turned on, setting the variable jpayne@69: calls the function. Test coverage for the new class is 100%. jpayne@69: Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-31003: IDLE: Add more tests for General tab. jpayne@69: Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30993: IDLE - Improve configdialog font page and tests. jpayne@69: *In configdialog: Document causal pathways in create_font_tab jpayne@69: docstring. Simplify some attribute names. Move set_samples calls to jpayne@69: var_changed_font (idea from Cheryl Sabella). Move related functions to jpayne@69: positions after the create widgets function. jpayne@69: * In test_configdialog: Fix test_font_set so not order dependent. Fix jpayne@69: renamed test_indent_scale so it tests the widget. Adjust tests for jpayne@69: movement of set_samples call. Add tests for load functions. Put all jpayne@69: font tests in one class and tab indent tests in another. Except for jpayne@69: two lines, these tests completely cover the related functions. jpayne@69: Patch by Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30981: IDLE -- Add more configdialog font page tests. jpayne@69: jpayne@69: bpo-28523: IDLE: replace 'colour' with 'color' in configdialog. jpayne@69: jpayne@69: bpo-30917: Add tests for idlelib.config.IdleConf. jpayne@69: Increase coverage from 46% to 96%. jpayne@69: Patch by Louie Lu. jpayne@69: jpayne@69: bpo-30913: Document ConfigDialog tk Vars, methods, and widgets in docstrings jpayne@69: This will facilitate improving the dialog and splitting up the class. jpayne@69: Original patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-30899: Add tests for ConfigParser subclasses in config. jpayne@69: Coverage is 100% for those classes and ConfigChanges. jpayne@69: Patch by Louie Lu. jpayne@69: jpayne@69: bpo-30881: Add docstrings to browser.py. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-30851: Remove unused tk variables in configdialog. jpayne@69: One is a duplicate, one is set but cannot be altered by users. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-30870: Select font option with Up and Down keys, as well as with mouse. jpayne@69: Added test increases configdialog coverage to 60% jpayne@69: Patches mostly by Louie Lu. jpayne@69: jpayne@69: bpo-8231: Call config.IdleConf.GetUserCfgDir only once per process. jpayne@69: jpayne@69: bpo-30779: Factor ConfigChanges class from configdialog, put in config; test. jpayne@69: * In config, put dump test code in a function; run it and unittest in jpayne@69: 'if __name__ == '__main__'. jpayne@69: * Add class config.ConfigChanges based on changes_class_v4.py on bpo issue. jpayne@69: * Add class test_config.ChangesTest, partly using configdialog_tests_v1.py. jpayne@69: * Revise configdialog to use ConfigChanges; see tracker msg297804. jpayne@69: * Revise test_configdialog to match configdialog changes. jpayne@69: * Remove configdialog functions unused or moved to ConfigChanges. jpayne@69: Cheryl Sabella contributed parts of the patch. jpayne@69: jpayne@69: bpo-30777: Configdialog - add docstrings and improve comments. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-30495: Improve textview with docstrings, PEP8 names, and more tests. jpayne@69: Split TextViewer class into ViewWindow, ViewFrame, and TextFrame classes jpayne@69: so that instances of the latter two can be placed with other widgets jpayne@69: within a multiframe window. jpayne@69: Patches by Cheryl Sabella and Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30723: Make several improvements to parenmatch. jpayne@69: * Add 'parens' style to highlight both opener and closer. jpayne@69: * Make 'default' style, which is not default, a synonym for 'opener'. jpayne@69: * Make time-delay work the same with all styles. jpayne@69: * Add help for config dialog extensions tab, including parenmatch. jpayne@69: * Add new tests. jpayne@69: Original patch by Charles Wohlganger. Revisions by Terry Jan Reedy jpayne@69: jpayne@69: bpo-30674: Grep -- Add docstrings. Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-21519: IDLE's basic custom key entry dialog now detects jpayne@69: duplicates properly. Original patch by Saimadhav Heblikar. jpayne@69: jpayne@69: bpo-29910: IDLE no longer deletes a character after commenting out a jpayne@69: region by a key shortcut. Add "return 'break'" for this and other jpayne@69: potential conflicts between IDLE and default key bindings. jpayne@69: Patch by Serhiy Storchaka. jpayne@69: jpayne@69: bpo-30728: Modernize idlelib.configdialog: jpayne@69: * replace import * with specific imports; jpayne@69: * lowercase method and attribute lines. jpayne@69: Patch by Cheryl Sabella. jpayne@69: jpayne@69: bpo-6739: Verify user-entered key sequences by trying to bind them jpayne@69: with to a tk widget. Add tests for all 3 validation functions. jpayne@69: Original patch by G Polo. Tests added by Cheryl Sabella. jpayne@69: Code revised and more tests added by Terry Jan Reedy jpayne@69: jpayne@69: bpo-24813: Add icon to help_about and make other changes. jpayne@69: jpayne@69: bpo-15786: Fix several problems with IDLE's autocompletion box. jpayne@69: The following should now work: clicking on selection box items; jpayne@69: using the scrollbar; selecting an item by hitting Return. jpayne@69: Hangs on MacOSX should no longer happen. Patch by Louie Lu. jpayne@69: jpayne@69: bpo-25514: Add doc subsubsection about IDLE failure to start. jpayne@69: Popup no-connection message directs users to this section. jpayne@69: jpayne@69: bpo-30642: Fix reference leaks in IDLE tests. jpayne@69: Patches by Louie Lu and Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30495: Add docstrings for textview.py and use PEP8 names. jpayne@69: Patches by Cheryl Sabella and Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30290: Help-about: use pep8 names and add tests. jpayne@69: Increase coverage to 100%. jpayne@69: Patches by Louie Lu, Cheryl Sabella, and Terry Jan Reedy. jpayne@69: jpayne@69: bpo-30303: Add _utest option to textview; add new tests. jpayne@69: Increase coverage to 100%. jpayne@69: Patches by Louie Lu and Terry Jan Reedy. jpayne@69: jpayne@69: Issue #29071: IDLE colors f-string prefixes but not invalid ur prefixes. jpayne@69: jpayne@69: Issue #28572: Add 10% to coverage of IDLE's test_configdialog. jpayne@69: Update and augment description of the configuration system. jpayne@69: jpayne@69: jpayne@69: What's New in IDLE 3.6.0 (since 3.5.0) jpayne@69: Released on 2016-12-23 jpayne@69: ====================================== jpayne@69: jpayne@69: - Issue #15308: Add 'interrupt execution' (^C) to Shell menu. jpayne@69: Patch by Roger Serwy, updated by Bayard Randel. jpayne@69: jpayne@69: - Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen. jpayne@69: jpayne@69: - Issue #27891: Consistently group and sort imports within idlelib modules. jpayne@69: jpayne@69: - Issue #17642: add larger font sizes for classroom projection. jpayne@69: jpayne@69: - Add version to title of IDLE help window. jpayne@69: jpayne@69: - Issue #25564: In section on IDLE -- console differences, mention that jpayne@69: using exec means that __builtins__ is defined for each statement. jpayne@69: jpayne@69: - Issue #27821: Fix 3.6.0a3 regression that prevented custom key sets jpayne@69: from being selected when no custom theme was defined. jpayne@69: jpayne@69: - Issue #27714: text_textview and test_autocomplete now pass when re-run jpayne@69: in the same process. This occurs when test_idle fails when run with the jpayne@69: -w option but without -jn. Fix warning from test_config. jpayne@69: jpayne@69: - Issue #27621: Put query response validation error messages in the query jpayne@69: box itself instead of in a separate messagebox. Redo tests to match. jpayne@69: Add Mac OSX refinements. Original patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #27620: Escape key now closes Query box as cancelled. jpayne@69: jpayne@69: - Issue #27609: IDLE: tab after initial whitespace should tab, not jpayne@69: autocomplete. This fixes problem with writing docstrings at least jpayne@69: twice indented. jpayne@69: jpayne@69: - Issue #27609: Explicitly return None when there are also non-None jpayne@69: returns. In a few cases, reverse a condition and eliminate a return. jpayne@69: jpayne@69: - Issue #25507: IDLE no longer runs buggy code because of its tkinter imports. jpayne@69: Users must include the same imports required to run directly in Python. jpayne@69: jpayne@69: - Issue #27173: Add 'IDLE Modern Unix' to the built-in key sets. jpayne@69: Make the default key set depend on the platform. jpayne@69: Add tests for the changes to the config module. jpayne@69: jpayne@69: - Issue #27452: add line counter and crc to IDLE configHandler test dump. jpayne@69: jpayne@69: - Issue #27477: IDLE search dialogs now use ttk widgets. jpayne@69: jpayne@69: - Issue #27173: Add 'IDLE Modern Unix' to the built-in key sets. jpayne@69: Make the default key set depend on the platform. jpayne@69: Add tests for the changes to the config module. jpayne@69: jpayne@69: - Issue #27452: make command line "idle-test> python test_help.py" work. jpayne@69: __file__ is relative when python is started in the file's directory. jpayne@69: jpayne@69: - Issue #27452: add line counter and crc to IDLE configHandler test dump. jpayne@69: jpayne@69: - Issue #27380: IDLE: add query.py with base Query dialog and ttk widgets. jpayne@69: Module had subclasses SectionName, ModuleName, and HelpSource, which are jpayne@69: used to get information from users by configdialog and file =>Load Module. jpayne@69: Each subclass has itw own validity checks. Using ModuleName allows users jpayne@69: to edit bad module names instead of starting over. jpayne@69: Add tests and delete the two files combined into the new one. jpayne@69: jpayne@69: - Issue #27372: Test_idle no longer changes the locale. jpayne@69: jpayne@69: - Issue #27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names. jpayne@69: jpayne@69: - Issue #27245: IDLE: Cleanly delete custom themes and key bindings. jpayne@69: Previously, when IDLE was started from a console or by import, a cascade jpayne@69: of warnings was emitted. Patch by Serhiy Storchaka. jpayne@69: jpayne@69: - Issue #24137: Run IDLE, test_idle, and htest with tkinter default root disabled. jpayne@69: Fix code and tests that fail with this restriction. jpayne@69: Fix htests to not create a second and redundant root and mainloop. jpayne@69: jpayne@69: - Issue #27310: Fix IDLE.app failure to launch on OS X due to vestigial import. jpayne@69: jpayne@69: - Issue #5124: Paste with text selected now replaces the selection on X11. jpayne@69: This matches how paste works on Windows, Mac, most modern Linux apps, jpayne@69: and ttk widgets. Original patch by Serhiy Storchaka. jpayne@69: jpayne@69: - Issue #24750: Switch all scrollbars in IDLE to ttk versions. jpayne@69: Where needed, minimal tests are added to cover changes. jpayne@69: jpayne@69: - Issue #24759: IDLE requires tk 8.5 and availability ttk widgets. jpayne@69: Delete now unneeded tk version tests and code for older versions. jpayne@69: Add test for IDLE syntax colorizer. jpayne@69: jpayne@69: - Issue #27239: idlelib.macosx.isXyzTk functions initialize as needed. jpayne@69: jpayne@69: - Issue #27262: move Aqua unbinding code, which enable context menus, to macosx. jpayne@69: jpayne@69: - Issue #24759: Make clear in idlelib.idle_test.__init__ that the directory jpayne@69: is a private implementation of test.test_idle and tool for maintainers. jpayne@69: jpayne@69: - Issue #27196: Stop 'ThemeChanged' warnings when running IDLE tests. jpayne@69: These persisted after other warnings were suppressed in #20567. jpayne@69: Apply Serhiy Storchaka's update_idletasks solution to four test files. jpayne@69: Record this additional advice in idle_test/README.txt jpayne@69: jpayne@69: - Issue #20567: Revise idle_test/README.txt with advice about avoiding jpayne@69: tk warning messages from tests. Apply advice to several IDLE tests. jpayne@69: jpayne@69: - Issue # 24225: Update idlelib/README.txt with new file names jpayne@69: and event handlers. jpayne@69: jpayne@69: - Issue #27156: Remove obsolete code not used by IDLE. Replacements: jpayne@69: 1. help.txt, replaced by help.html, is out-of-date and should not be used. jpayne@69: Its dedicated viewer has be replaced by the html viewer in help.py. jpayne@69: 2. 'import idlever; I = idlever.IDLE_VERSION' is the same as jpayne@69: 'import sys; I = version[:version.index(' ')]' jpayne@69: 3. After 'ob = stackviewer.VariablesTreeItem(*args)', jpayne@69: 'ob.keys()' == 'list(ob.object.keys). jpayne@69: 4. In macosc, runningAsOSXAPP == isAquaTk; idCarbonAquaTk == isCarbonTk jpayne@69: jpayne@69: - Issue #27117: Make colorizer htest and turtledemo work with dark themes. jpayne@69: Move code for configuring text widget colors to a new function. jpayne@69: jpayne@69: - Issue #24225: Rename many idlelib/*.py and idle_test/test_*.py files. jpayne@69: Edit files to replace old names with new names when the old name jpayne@69: referred to the module rather than the class it contained. jpayne@69: See the issue and IDLE section in What's New in 3.6 for more. jpayne@69: jpayne@69: - Issue #26673: When tk reports font size as 0, change to size 10. jpayne@69: Such fonts on Linux prevented the configuration dialog from opening. jpayne@69: jpayne@69: - Issue #21939: Add test for IDLE's percolator. jpayne@69: Original patch by Saimadhav Heblikar. jpayne@69: jpayne@69: - Issue #21676: Add test for IDLE's replace dialog. jpayne@69: Original patch by Saimadhav Heblikar. jpayne@69: jpayne@69: - Issue #18410: Add test for IDLE's search dialog. jpayne@69: Original patch by Westley Martínez. jpayne@69: jpayne@69: - Issue #21703: Add test for undo delegator. Patch mostly by jpayne@69: Saimadhav Heblikar . jpayne@69: jpayne@69: - Issue #27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks. jpayne@69: jpayne@69: - Issue #23977: Add more asserts to test_delegator. jpayne@69: jpayne@69: - Issue #20640: Add tests for idlelib.configHelpSourceEdit. jpayne@69: Patch by Saimadhav Heblikar. jpayne@69: jpayne@69: - In the 'IDLE-console differences' section of the IDLE doc, clarify jpayne@69: how running with IDLE affects sys.modules and the standard streams. jpayne@69: jpayne@69: - Issue #25507: fix incorrect change in IOBinding that prevented printing. jpayne@69: Augment IOBinding htest to include all major IOBinding functions. jpayne@69: jpayne@69: - Issue #25905: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION jpayne@69: MARK in README.txt and open this and NEWS.txt with 'ascii'. jpayne@69: Re-encode CREDITS.txt to utf-8 and open it with 'utf-8'. jpayne@69: jpayne@69: - Issue 15348: Stop the debugger engine (normally in a user process) jpayne@69: before closing the debugger window (running in the IDLE process). jpayne@69: This prevents the RuntimeErrors that were being caught and ignored. jpayne@69: jpayne@69: - Issue #24455: Prevent IDLE from hanging when a) closing the shell while the jpayne@69: debugger is active (15347); b) closing the debugger with the [X] button jpayne@69: (15348); and c) activating the debugger when already active (24455). jpayne@69: The patch by Mark Roseman does this by making two changes. jpayne@69: 1. Suspend and resume the gui.interaction method with the tcl vwait jpayne@69: mechanism intended for this purpose (instead of root.mainloop & .quit). jpayne@69: 2. In gui.run, allow any existing interaction to terminate first. jpayne@69: jpayne@69: - Change 'The program' to 'Your program' in an IDLE 'kill program?' message jpayne@69: to make it clearer that the program referred to is the currently running jpayne@69: user program, not IDLE itself. jpayne@69: jpayne@69: - Issue #24750: Improve the appearance of the IDLE editor window status bar. jpayne@69: Patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #25313: Change the handling of new built-in text color themes to better jpayne@69: address the compatibility problem introduced by the addition of IDLE Dark. jpayne@69: Consistently use the revised idleConf.CurrentTheme everywhere in idlelib. jpayne@69: jpayne@69: - Issue #24782: Extension configuration is now a tab in the IDLE Preferences jpayne@69: dialog rather than a separate dialog. The former tabs are now a sorted jpayne@69: list. Patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #22726: Re-activate the config dialog help button with some content jpayne@69: about the other buttons and the new IDLE Dark theme. jpayne@69: jpayne@69: - Issue #24820: IDLE now has an 'IDLE Dark' built-in text color theme. jpayne@69: It is more or less IDLE Classic inverted, with a cobalt blue background. jpayne@69: Strings, comments, keywords, ... are still green, red, orange, ... . jpayne@69: To use it with IDLEs released before November 2015, hit the jpayne@69: 'Save as New Custom Theme' button and enter a new name, jpayne@69: such as 'Custom Dark'. The custom theme will work with any IDLE jpayne@69: release, and can be modified. jpayne@69: jpayne@69: - Issue #25224: README.txt is now an idlelib index for IDLE developers and jpayne@69: curious users. The previous user content is now in the IDLE doc chapter. jpayne@69: 'IDLE' now means 'Integrated Development and Learning Environment'. jpayne@69: jpayne@69: - Issue #24820: Users can now set breakpoint colors in jpayne@69: Settings -> Custom Highlighting. Original patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #24972: Inactive selection background now matches active selection jpayne@69: background, as configured by users, on all systems. Found items are now jpayne@69: always highlighted on Windows. Initial patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #24570: Idle: make calltip and completion boxes appear on Macs jpayne@69: affected by a tk regression. Initial patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #24988: Idle ScrolledList context menus (used in debugger) jpayne@69: now work on Mac Aqua. Patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #24801: Make right-click for context menu work on Mac Aqua. jpayne@69: Patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #25173: Associate tkinter messageboxes with a specific widget. jpayne@69: For Mac OSX, make them a 'sheet'. Patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #25198: Enhance the initial html viewer now used for Idle Help. jpayne@69: * Properly indent fixed-pitch text (patch by Mark Roseman). jpayne@69: * Give code snippet a very Sphinx-like light blueish-gray background. jpayne@69: * Re-use initial width and height set by users for shell and editor. jpayne@69: * When the Table of Contents (TOC) menu is used, put the section header jpayne@69: at the top of the screen. jpayne@69: jpayne@69: - Issue #25225: Condense and rewrite Idle doc section on text colors. jpayne@69: jpayne@69: - Issue #21995: Explain some differences between IDLE and console Python. jpayne@69: jpayne@69: - Issue #22820: Explain need for *print* when running file from Idle editor. jpayne@69: jpayne@69: - Issue #25224: Doc: augment Idle feature list and no-subprocess section. jpayne@69: jpayne@69: - Issue #25219: Update doc for Idle command line options. jpayne@69: Some were missing and notes were not correct. jpayne@69: jpayne@69: - Issue #24861: Most of idlelib is private and subject to change. jpayne@69: Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__. jpayne@69: jpayne@69: - Issue #25199: Idle: add synchronization comments for future maintainers. jpayne@69: jpayne@69: - Issue #16893: Replace help.txt with help.html for Idle doc display. jpayne@69: The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. jpayne@69: It looks better than help.txt and will better document Idle as released. jpayne@69: The tkinter html viewer that works for this file was written by Mark Roseman. jpayne@69: The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. jpayne@69: jpayne@69: - Issue #24199: Deprecate unused idlelib.idlever with possible removal in 3.6. jpayne@69: jpayne@69: - Issue #24790: Remove extraneous code (which also create 2 & 3 conflicts). jpayne@69: jpayne@69: jpayne@69: What's New in IDLE 3.5.0? jpayne@69: ========================= jpayne@69: *Release date: 2015-09-13* jpayne@69: jpayne@69: - Issue #23672: Allow Idle to edit and run files with astral chars in name. jpayne@69: Patch by Mohd Sanad Zaki Rizvi. jpayne@69: jpayne@69: - Issue 24745: Idle editor default font. Switch from Courier to jpayne@69: platform-sensitive TkFixedFont. This should not affect current customized jpayne@69: font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg jpayne@69: and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman. jpayne@69: jpayne@69: - Issue #21192: Idle editor. When a file is run, put its name in the restart bar. jpayne@69: Do not print false prompts. Original patch by Adnan Umer. jpayne@69: jpayne@69: - Issue #13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy. jpayne@69: jpayne@69: - Issue #23184: remove unused names and imports in idlelib. jpayne@69: Initial patch by Al Sweigart. jpayne@69: jpayne@69: - Issue #20577: Configuration of the max line length for the FormatParagraph jpayne@69: extension has been moved from the General tab of the Idle preferences dialog jpayne@69: to the FormatParagraph tab of the Config Extensions dialog. jpayne@69: Patch by Tal Einat. jpayne@69: jpayne@69: - Issue #16893: Update Idle doc chapter to match current Idle and add new jpayne@69: information. jpayne@69: jpayne@69: - Issue #3068: Add Idle extension configuration dialog to Options menu. jpayne@69: Changes are written to HOME/.idlerc/config-extensions.cfg. jpayne@69: Original patch by Tal Einat. jpayne@69: jpayne@69: - Issue #16233: A module browser (File : Class Browser, Alt+C) requires an jpayne@69: editor window with a filename. When Class Browser is requested otherwise, jpayne@69: from a shell, output window, or 'Untitled' editor, Idle no longer displays jpayne@69: an error box. It now pops up an Open Module box (Alt+M). If a valid name jpayne@69: is entered and a module is opened, a corresponding browser is also opened. jpayne@69: jpayne@69: - Issue #4832: Save As to type Python files automatically adds .py to the jpayne@69: name you enter (even if your system does not display it). Some systems jpayne@69: automatically add .txt when type is Text files. jpayne@69: jpayne@69: - Issue #21986: Code objects are not normally pickled by the pickle module. jpayne@69: To match this, they are no longer pickled when running under Idle. jpayne@69: jpayne@69: - Issue #23180: Rename IDLE "Windows" menu item to "Window". jpayne@69: Patch by Al Sweigart. jpayne@69: jpayne@69: - Issue #17390: Adjust Editor window title; remove 'Python', jpayne@69: move version to end. jpayne@69: jpayne@69: - Issue #14105: Idle debugger breakpoints no longer disappear jpayne@69: when inserting or deleting lines. jpayne@69: jpayne@69: - Issue #17172: Turtledemo can now be run from Idle. jpayne@69: Currently, the entry is on the Help menu, but it may move to Run. jpayne@69: Patch by Ramchandra Apt and Lita Cho. jpayne@69: jpayne@69: - Issue #21765: Add support for non-ascii identifiers to HyperParser. jpayne@69: jpayne@69: - Issue #21940: Add unittest for WidgetRedirector. Initial patch by Saimadhav jpayne@69: Heblikar. jpayne@69: jpayne@69: - Issue #18592: Add unittest for SearchDialogBase. Patch by Phil Webster. jpayne@69: jpayne@69: - Issue #21694: Add unittest for ParenMatch. Patch by Saimadhav Heblikar. jpayne@69: jpayne@69: - Issue #21686: add unittest for HyperParser. Original patch by Saimadhav jpayne@69: Heblikar. jpayne@69: jpayne@69: - Issue #12387: Add missing upper(lower)case versions of default Windows key jpayne@69: bindings for Idle so Caps Lock does not disable them. Patch by Roger Serwy. jpayne@69: jpayne@69: - Issue #21695: Closing a Find-in-files output window while the search is jpayne@69: still in progress no longer closes Idle. jpayne@69: jpayne@69: - Issue #18910: Add unittest for textView. Patch by Phil Webster. jpayne@69: jpayne@69: - Issue #18292: Add unittest for AutoExpand. Patch by Saihadhav Heblikar. jpayne@69: jpayne@69: - Issue #18409: Add unittest for AutoComplete. Patch by Phil Webster. jpayne@69: jpayne@69: - Issue #21477: htest.py - Improve framework, complete set of tests. jpayne@69: Patches by Saimadhav Heblikar jpayne@69: jpayne@69: - Issue #18104: Add idlelib/idle_test/htest.py with a few sample tests to begin jpayne@69: consolidating and improving human-validated tests of Idle. Change other files jpayne@69: as needed to work with htest. Running the module as __main__ runs all tests. jpayne@69: jpayne@69: - Issue #21139: Change default paragraph width to 72, the PEP 8 recommendation. jpayne@69: jpayne@69: - Issue #21284: Paragraph reformat test passes after user changes reformat width. jpayne@69: jpayne@69: - Issue #17654: Ensure IDLE menus are customized properly on OS X for jpayne@69: non-framework builds and for all variants of Tk. jpayne@69: jpayne@69: jpayne@69: What's New in IDLE 3.4.0? jpayne@69: ========================= jpayne@69: *Release date: 2014-03-16* jpayne@69: jpayne@69: - Issue #17390: Display Python version on Idle title bar. jpayne@69: Initial patch by Edmond Burnett. jpayne@69: jpayne@69: - Issue #5066: Update IDLE docs. Patch by Todd Rovito. jpayne@69: jpayne@69: - Issue #17625: Close the replace dialog after it is used. jpayne@69: jpayne@69: - Issue #16226: Fix IDLE Path Browser crash. jpayne@69: (Patch by Roger Serwy) jpayne@69: jpayne@69: - Issue #15853: Prevent IDLE crash on OS X when opening Preferences menu jpayne@69: with certain versions of Tk 8.5. Initial patch by Kevin Walzer. jpayne@69: jpayne@69: jpayne@69: What's New in IDLE 3.3.0? jpayne@69: ========================= jpayne@69: *Release date: 2012-09-29* jpayne@69: jpayne@69: - Issue #17625: Close the replace dialog after it is used. jpayne@69: jpayne@69: - Issue #7163: Propagate return value of sys.stdout.write. jpayne@69: jpayne@69: - Issue #15318: Prevent writing to sys.stdin. jpayne@69: jpayne@69: - Issue #4832: Modify IDLE to save files with .py extension by jpayne@69: default on Windows and OS X (Tk 8.5) as it already does with X11 Tk. jpayne@69: jpayne@69: - Issue #13532, #15319: Check that arguments to sys.stdout.write are strings. jpayne@69: jpayne@69: - Issue # 12510: Attempt to get certain tool tips no longer crashes IDLE. jpayne@69: Erroneous tool tips have been corrected. Default added for callables. jpayne@69: jpayne@69: - Issue #10365: File open dialog now works instead of crashing even when jpayne@69: parent window is closed while dialog is open. jpayne@69: jpayne@69: - Issue 14876: use user-selected font for highlight configuration. jpayne@69: jpayne@69: - Issue #14937: Perform auto-completion of filenames in strings even for jpayne@69: non-ASCII filenames. Likewise for identifiers. jpayne@69: jpayne@69: - Issue #8515: Set __file__ when run file in IDLE. jpayne@69: Initial patch by Bruce Frederiksen. jpayne@69: jpayne@69: - IDLE can be launched as `python -m idlelib` jpayne@69: jpayne@69: - Issue #14409: IDLE now properly executes commands in the Shell window jpayne@69: when it cannot read the normal config files on startup and jpayne@69: has to use the built-in default key bindings. jpayne@69: There was previously a bug in one of the defaults. jpayne@69: jpayne@69: - Issue #3573: IDLE hangs when passing invalid command line args jpayne@69: (directory(ies) instead of file(s)). jpayne@69: jpayne@69: - Issue #14018: Update checks for unstable system Tcl/Tk versions on OS X jpayne@69: to include versions shipped with OS X 10.7 and 10.8 in addition to 10.6. jpayne@69: jpayne@69: jpayne@69: What's New in IDLE 3.2.1? jpayne@69: ========================= jpayne@69: *Release date: 15-May-11* jpayne@69: jpayne@69: - Issue #6378: Further adjust idle.bat to start associated Python jpayne@69: jpayne@69: - Issue #11896: Save on Close failed despite selecting "Yes" in dialog. jpayne@69: jpayne@69: - Issue #1028: Ctrl-space binding to show completions was causing IDLE to exit. jpayne@69: Tk < 8.5 was sending invalid Unicode null; replaced with valid null. jpayne@69: jpayne@69: - Issue #4676: toggle failing on Tk 8.5, causing IDLE exits and strange selection jpayne@69: behavior. Improve selection extension behaviour. jpayne@69: jpayne@69: - Issue #3851: toggle non-functional when NumLock set on Windows. jpayne@69: jpayne@69: jpayne@69: What's New in IDLE 3.1b1? jpayne@69: ========================= jpayne@69: *Release date: 06-May-09* jpayne@69: jpayne@69: - Issue #5707: Use of 'filter' in keybindingDialog.py was causing custom key assignment to jpayne@69: fail. Patch by Amaury Forgeot d'Arc. jpayne@69: jpayne@69: - Issue #4815: Offer conversion to UTF-8 if source files have jpayne@69: no encoding declaration and are not encoded in UTF-8. jpayne@69: jpayne@69: - Issue #4008: Fix problems with non-ASCII source files. jpayne@69: jpayne@69: - Issue #4323: Always encode source as UTF-8 without asking jpayne@69: the user (unless a different encoding is declared); remove jpayne@69: user configuration of source encoding; all according to jpayne@69: PEP 3120. 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: ------------------------------------------------------------------------ jpayne@69: Refer to NEWS2x.txt and HISTORY.txt for information on earlier releases. jpayne@69: ------------------------------------------------------------------------