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