Commit Graph

2220 Commits

Author SHA1 Message Date
Tal Einat 077059e0f0
bpo-34047: IDLE: fix mousewheel scrolling direction on macOS (GH-8678) 2018-08-10 09:02:08 +03:00
Tal Einat 87e59ac11e
bpo-33839: refactor IDLE's tooltips & calltips, add docstrings and tests (GH-7683)
* make CallTip and ToolTip sub-classes of a common abstract base class
* remove ListboxToolTip (unused and ugly)
* greatly increase test coverage
* tested on Windows, Linux and macOS
2018-08-05 09:21:08 +03:00
Terry Jan Reedy 9beaef6225
bpo-34275: Make IDLE calltips always visible on Mac. (GH-8639)
Some MacOS-tk combinations need .update_idletasks().
The call is both unneeded and innocuous on Linux and Windows.
Patch by Kevin Waltzer.
2018-08-02 22:50:01 -04:00
Tal Einat dd74369cb7
bpo-34120: fix text viewer to call grab_release() only when needed (GH-8616) 2018-08-02 10:30:06 +03:00
Tal Einat 10ea9409ce
bpo-34120: fix IDLE freezing after closing dialogs (GH-8603)
Added missing .grab_release() calls to all places where we call .grab_set().
2018-08-02 09:18:29 +03:00
Terry Jan Reedy 2c5c0a367c
bpo-34162: idlelib/NEWS.txt entries to 2018-7-20 (GH-8345) 2018-07-20 02:14:56 -04:00
Terry Jan Reedy 3c8043d8fa
bpo-33975: Avoid small type when running IDLE's htests. (GH-7944)
Import pyshell first in htest to call SetProcessDpiAwareness on Windows
before tkinter.Tk() is called for the htest. Apparently, 'root.destroy()'
undoes a previous 'root = Tk()'. Since IDLE unittests always destroy roots,
a unittest before an htest does not require anything more to work right.
Since part of the purpose of human-viewed tests is to determine that
widgets look right, it is important that they look the same for testing
as when running IDLE.
2018-06-27 00:07:30 -04:00
Mark Roseman 42397731d7 bpo-33924: Add missed mac-specific 'windows' to 'window' changes (GH-7920)
These should have been included in PR 7836.
2018-06-25 21:19:40 -04:00
Tal Einat 2af9f5d334 bpo-33951: IDLE test_configdialog: call page.update in setUpClass (GH-7892)
This avoids a failure in at least one case when running only a single
test method rather than all tests in the module.

The issue came up when testing the following on Windows 10 Pro 64-bit:
HighPageTest.test_highlight_target_text_mouse
2018-06-24 16:35:59 -04:00
Terry Jan Reedy 5ae70f66ff
bpo-33950: Remove IDLE htest spec for a deleted file. (GH-7881)
In configdialog, the custom tabbedpages widget was replaced
by ttk.notebook several months ago.
2018-06-23 17:33:27 -04:00
Terry Jan Reedy bcd3a1a18d
bpo-33905: Add test for idlelib.stackview.StackBrowser. (GH-7852)
Increases coverage by 44%.
2018-06-21 22:19:56 -04:00
Terry Jan Reedy 33c7420e7d
bpo-33924: Change IDLE mainmenu.menudefs key 'windows' to 'window' (GH-7836)
Every other menudef key is the lowercase version of the
corresponding main menu entry (in this case, 'Window').
2018-06-20 22:49:55 -04:00
Terry Jan Reedy a361e89d5a
bpo-33906: Rename idlelib.windows as window (#7833)
Match Window on the main menu and remove last plural module name.
Change imports, test, and attribute references to match new name.
2018-06-20 21:25:59 -04:00
Terry Jan Reedy 87a927325e
bpo-33917: Fix and document idlelib/idle_test/template.py (GH-7830)
The revised file compiles, runs, and tests OK. idle_test/README.txt
explains how to use it to create new IDLE test files.
2018-06-20 17:08:31 -04:00
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) 9bb92235f6 bpo-33904: In IDLE's rstrip, rename class RstripExtension as Rstrip (GH-7811) 2018-06-20 03:42:13 -04:00
Terry Jan Reedy 9af1836664
bpo-33907: Rename an IDLE module and classes. (GH-7810)
Fix-up class name duplication in PR #7807. Combined effect is that
module calltips and its class CallTips are now calltip and Calltip.
In module calltip_w class CallTip is now CalltipWindow.
2018-06-20 02:18:49 -04:00
Terry Jan Reedy 06e2029dfa
bpo-33907: Rename an IDLE module and class. (GH-7807)
Improve consistency and appearance. Module idlelib.calltips is now calltip.
Class idlelib.calltip_w.CallTip is now Calltip.
2018-06-19 23:00:35 -04:00
Terry Jan Reedy 4d92158f4c
bpo-33855: Still more edits and minimal tests for IDLE (GH-7784)
Part 3 of 3, continuing PR #7689. This covers 14 idlelib modules and their tests,
rpc to zoomheight except for run (already done) and tooltip (being done separately).
2018-06-19 19:12:52 -04:00
Terry Jan Reedy ea3dc8029a
bpo-33855: More edits and new minimal tests for IDLE (GH-7761)
Part 2 of 3.  Continues PR #7689, changeset ee5ef30.
Edit and add tests for 18 modules, help_about to replace and run.
2018-06-18 04:47:59 -04:00
Stéphane Wirtel 9d49f85064 bpo-33856: Add "help" to the welcome message of IDLE (GH-7755)
Make it the same as when one runs 'python'.
2018-06-16 17:20:56 -04:00
Terry Jan Reedy ee5ef309c7
bpo-33855: Minimally test all IDLE modules. (GH-7689)
Create a template for minimally testing a tkinter-using module by importing it and instantiating its class(es).  Add a test file for all non-startup IDLE modules.  Edit existing files and update coverage.  This is part 1 of 3, covering the 21 autocomplete to help modules and touching 33 idlelib files.
2018-06-15 18:20:55 -04:00
Terry Jan Reedy 4b704f29f5
bpo-33656: Mention color in idlelib/NEWS.txt entry. (#7646) 2018-06-11 16:53:41 -04:00
Terry Jan Reedy fd88f319a4
bpo-33656: Add enum name for argument of Windows call. (GH-7642)
Change suggested by Eryk Sun in a comment on PR 7137 after it was merged.
2018-06-11 15:45:27 -04:00
Terry Jan Reedy 800415e3df
bpo-33656: On Windows, add API call saying that tk scales for DPI (GH-7137)
On Windows 8.1+ or 10, with DPI compatibility properties of the Python binary
unchanged, and a monitor resolution greater than 96 DPI, this should
make text and lines sharper. It should otherwise have no effect.

Using a magnifier, I determined that the improvement comes from horizontal and
lines being better lined up with the monitor pixels. I checked that this call causes
no problem on any Windows buildbot, including the Win7 buildbots. Unlike most
IDLE patches, this one can be easily reverted by users by removing a few lines,
at the top of idlelib/pyshell.py.
2018-06-11 14:14:32 -04:00
Terry Jan Reedy af4b0130d4
bpo-33610: Update IDLE Code Context doc entry (GH-7597)
Users can now click on context lines.
2018-06-10 15:48:41 -04:00
Terry Jan Reedy b1f690294d
Update idlelib/NEWS.txt to 2018 Jun 8 am. (GH-7517) 2018-06-08 02:28:45 -04:00
Cheryl Sabella 041272b657 bpo-33768: IDLE: Clicking on code context line moves it to top of editor (GH-7411) 2018-06-08 01:21:15 -04:00
Cheryl Sabella b609e687a0 bpo-33763: IDLE: Replace label widget with text widget in code context (GH-7367) 2018-06-04 11:58:44 -04:00
Cheryl Sabella d49dbd9acc bpo-33664: Scroll IDLE editor text by lines (GH-7351)
Previously, the mouse wheel and scrollbar slider moved text by a fixed
number of pixels, resulting in partial lines at the top of the editor
box. The change also applies to the shell and grep output windows,
but not to read-only text views.
2018-06-04 11:48:21 -04:00
Cheryl Sabella de6516264e bpo-33679: IDLE: Re-enable color configuration for code context (GH-7199)
The difference from before is that the settings are now on the
Highlights tab instead of the Extensions tab and only change one theme
at a time instead of all themes. The default for light themes is black
on light gray, as before. The default for the IDLE Dark theme is white
on dark gray, which better fits the dark theme.

When one starts IDLE from a console and loads a custom theme without
definitions for 'context', one will see a warning message on the console.
To stop the warning, go to Options => Configure IDLE => Highlights,
select the custom theme if not selected already, select 'Code Context',
and select foreground and background colors.
2018-06-01 21:45:54 -04:00
Cheryl Sabella 29996a1c4e bpo-33642: IDLE: Use variable number of lines in CodeContext. (GH-7106)
Instead of displaying a fixed number of lines, some blank, Code Context
now displays the variable number of actual context lines.  When there
are no context lines, it shows a single blank line to indicate that the
feature is turned on.

The Code Context configuration option is changed from 'numlines'
(default 3) to 'maxlines' (default 15) to avoid possible interference
between user settings for the old and new versions of Code Context.
2018-06-01 19:23:00 -04:00
Cheryl Sabella 8506016f90 bpo-33628: IDLE: Minor code cleanup of codecontext.py and its tests (GH-7085) 2018-05-23 22:18:15 -04:00
Terry Jan Reedy 6b0d09b8f0
bpo-30928: Update idlelib/NEWS.txt. (#6995) 2018-05-19 21:38:46 -04:00
Cheryl Sabella 654038d896 bpo-32831: IDLE: Add docstrings and tests for codecontext (GH-5638) 2018-05-19 15:34:03 -04:00
Terry Jan Reedy d89ca94847
bpo-33564: Add async to IDLE's code context block openers. (GH-6960) 2018-05-17 20:38:41 -04:00
Terry Jan Reedy 038b21f2ca
bpo-30928: Update idlelib/NEWS.txt to 2018-05-14. (#6873) 2018-05-15 17:41:57 -04:00
Terry Jan Reedy 389a48ede9
bpo-29706: Test that IDLE colors async/await as keywords. (GH-6846)
Added to the eye-verified htest, not to the unittests.
Also remove some stray leftover comments.
2018-05-15 14:20:38 -04:00
Terry Jan Reedy 5ff3a161c8
bpo-21474: Update IDLE word/identifier definition from ascii to unicode. (GH-6643)
In text and entry boxes, this affects selection by double-click,
movement left/right by control-left/right, and deletion left/right
by control-BACKSPACE/DEL.
2018-04-30 03:08:01 -04:00
Ville Skyttä 61f82e0e33 Spelling fixes to docs, docstrings, and comments (GH-6374) 2018-04-20 16:08:45 -04:00
Terry Jan Reedy 55966f3a0d
bpo-33204: IDLE - revise and extend colorizer test. (GH-6347)
Followup to primary PR for the issue, GH-6344.
2018-04-02 11:18:02 -04:00
Terry Jan Reedy da58533ac6
bpo-33204: IDLE: consistently color invalid string prefixes (#6344)
A 'u' string prefix cannot be paired with either 'r' or 'f'.  Consistently
color as much of the prefix, starting at the right, as is valid.
2018-04-02 01:47:46 -04:00
Serhiy Storchaka bac2d5ba30
Fix duplicating words words. (GH-6296)
Most of them have been added in 3.7.
2018-03-28 22:14:26 +03:00
Terry Jan Reedy 22c82be5df
bpo-32984: IDLE - set __file__ for startup files (GH-5981)
Like Python, IDLE optionally runs one startup file in the Shell window
before presenting the first interactive input prompt.  For IDLE,
option -s runs a file named in environmental variable IDLESTARTUP or
PYTHONSTARTUP; -r file runs file.  Python sets __file__ to the startup
file name before running the file and unsets it before the first
prompt.  IDLE now does the same when run normally, without the -n
option.
2018-03-05 11:02:46 -05:00
Cheryl Sabella f0daa880a4 bpo-32940: IDLE: Simplify StringTranslatePseudoMapping in pyparse (GH-5862)
The new code also runs faster.
2018-02-28 17:23:58 -05:00
Terry Jan Reedy 0954c9e9c8
bpo-30928: Update idlelib/NEWS.txt, possibly for 3.7.0b2 (GH-5932) 2018-02-27 18:36:21 -05:00
Cheryl Sabella c29c03a34a bpo-32916: IDLE: Change `str` to `code` in pyparse (GH-5830)
Adjust tests and user modules to match.
2018-02-23 21:35:27 -05:00
Terry Jan Reedy 451d1edaf4
bpo-32905: IDLE - remove unused code in pyparse module (GH-5807)
dump is similar to print but less flexible.  lastopenbracketpos is now always initialized in _study2, as was stmt_bracketing, so the class settings are not needed.  get_last_open_bracket_pos is never called.
2018-02-22 01:19:02 -05:00
Cheryl Sabella c84cf6c03f bpo-32874: IDLE: add tests for pyparse (GH-5755)
There are no code changes other than comments and docstrings.
2018-02-21 22:48:36 -05:00
Terry Jan Reedy 688722cedd
bpo-32837: IDLE - require encoding argument for textview.view_file. (GH-5646)
Using the system and place-dependent default encoding for open()
is a bad idea for IDLE's system and location-independent files.
2018-02-12 17:42:41 -05:00
Terry Jan Reedy f34e03ec0e
bpo-32826: Add "encoding=utf-8" to open() in idle_test/test_help_about. (GH-5639)
GUI test test_file_buttons() only looks at initial ascii-only lines,
but failed on systems where open() defaults to 'ascii' because
readline() internally reads and decodes far enough ahead to encounter
a non-ascii character in CREDITS.txt.
2018-02-12 14:58:26 -05:00
Terry Jan Reedy 05e806767b
Add entry for uniform lower context; add 'since' to be explicit. (GH-5539) 2018-02-04 19:07:16 -05:00
Cheryl Sabella 845d86485e bpo-32765: Update configdialog General tab create page docstring (GH-5529)
Add new entries to the widget list.
2018-02-04 18:15:21 -05:00
Leo Arias c3d9508ff2 bpo-32746: Fix multiple typos (GH-5144)
Fix typos found by codespell in docs, docstrings, and comments.
2018-02-03 19:36:10 -05:00
Terry Jan Reedy e570211406
Fix idlelib comment typos reported by Mike on pull request 4803. (#4807) 2017-12-11 22:59:08 -05:00
Terry Jan Reedy f658641a05
Removed doubled 'bpo-'. (#4777) 2017-12-10 04:02:53 -05:00
Terry Jan Reedy 2c0c68d927
bpo-30928: update idlelib/NEWS.txt. (#4706) 2017-12-04 17:04:15 -05:00
Terry Jan Reedy 1e2fcac497
bpo-32207: Improve tk event exception tracebacks in IDLE. (#4703)
When tk event handling is driven by IDLE's run loop, a confusing
and distracting queue.EMPTY traceback context is no longer added
to tk event exception tracebacks.  The traceback is now the same
as when event handling is driven by user code.  Patch based on
a suggestion by Serhiy Storchaka.
2017-12-04 16:16:18 -05:00
Terry Jan Reedy 21255fc393
bpo-30928: Update idlelib/NEWS.txt to 2017 Dec 3. (#4701)
Patches are in 3.7.0a3 even if this update is not.
2017-12-04 14:48:25 -05:00
Terry Jan Reedy 041efd292e
bpo-32164: Delete unused file idlelib/tabbedpages.py (#4628) 2017-11-29 00:08:28 -05:00
Terry Jan Reedy e8f7c78a86
bpo-30781: Remove unused imports in idlelib.configdialog. (#4627) 2017-11-28 21:52:32 -05:00
Terry Jan Reedy fd6f8c56b9
bpo-32100: Delete unneeded import in idlelib.pathbrowser. (#4626) 2017-11-28 21:50:21 -05:00
Cheryl Sabella 20d48a44a5 bpo-32100: IDLE: Fix pathbrowser errors; improve tests. (#4484)
Patch mostly by Cheryl Sabella
2017-11-22 19:05:25 -05:00
luzpaz a5293b4ff2 Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
Terry Jan Reedy e86172d63a
IDLE -- Restrict shell prompt manipulaton to the shell. (#4143)
Editor and output windows only see an empty last prompt line.
This simplifies the code and fixes a minor bug when newline is inserted.
Sys.ps1, if present, is read on Shell start-up, but is not set or changed.
2017-10-27 20:26:12 -04:00
Serhiy Storchaka ed6554c487 bpo-31860: Make the font sample in the IDLE font configuration dialog editable. (#4106)
Changes persist while IDLE remains open
2017-10-27 20:22:44 -04:00
Terry Jan Reedy 27288de085 bpo-30928: Update idlelib/NEWS.txt to 2017 Oct 17. (#4025) 2017-10-17 19:02:49 -04:00
Terry Jan Reedy e2e42274ee bpo-13802: Use non-Latin characters in IDLE's Font settings sample. (#3960)
Even if one selects a font that defines a limited subset of the unicode
Basic Multilingual Plane, tcl/tk will use other fonts that define a
character. The expanded example give users of non-Latin characters
a better idea of what they might see in the IDLE shell and editors.

To make room for the expanded sample, frames on the Font tab are
re-arranged. The Font/Tabs help explains a bit about the additions.
2017-10-17 18:56:16 -04:00
Zane Bitter de86073a76 bpo-28603: Fix formatting tracebacks for unhashable exceptions (#4014) 2017-10-18 00:29:39 +03:00
Terry Jan Reedy 620f70eed6 bpo-25588: Document autotest in idle_test/README.txt. (#4000)
Follow-up to Victor's patch that enabled autotest to run in IDLE's Shell.
2017-10-14 21:31:14 -04:00
Serhiy Storchaka 0b5e61ddca bpo-30397: Add re.Pattern and re.Match. (#1646) 2017-10-04 20:09:49 +03:00
Terry Jan Reedy 5961e7c156 IDLE: make filetypes a tuple constant. (#3847)
Save a bit of code, plus non-tuples get converted anyway to tuples by tkinter for the tk call.
2017-10-01 19:01:27 -04:00
Terry Jan Reedy d6bb65f378 bpo-31460: Simplify the API of IDLE's Module Browser. (#3842)
Passing a widget instead of an flist with a root widget opens the option of
creating a browser frame that is only part of a window. Passing a full file
name instead of pieces assumed to come from a .py file opens the possibility
of browsing python files that do not end in .py.
2017-09-30 19:54:28 -04:00
Terry Jan Reedy bfebfd81de bpo-31649: Make IDLE's _htest, _utest parameters keyword-only. (#3839) 2017-09-30 17:37:53 -04:00
Cheryl Sabella cd99e79dc7 bpo-31459: Rename IDLE's module browser from Class Browser to Module Browser. (#3704)
The original module-level class and method browser became a module
browser, with the addition of module-level functions, years ago.
Nested classes and functions were added yesterday.  For back-
compatibility, the virtual event <<open-class-browser>>, which
appears on the Keys tab of the Settings dialog, is not changed.
Patch by Cheryl Sabella.
2017-09-23 16:46:01 -04:00
Terry Jan Reedy 99167f85b7 bpo-31559: Remove test order dependence in idle_test.test_browser. (#3708)
Order dependence caused leak-test buildbots to fail when running test_idle repeatedly.
2017-09-23 14:19:23 -04:00
Cheryl Sabella 058de11360 bpo-1612262: IDLE: Class Browser shows nested functions, classes (#2573)
Original patches for code and tests by Guilherme Polo and
Cheryl Sabella, respectively.
2017-09-22 16:08:44 -04:00
Serhiy Storchaka a96c96f5da bpo-31500: IDLE: Scale default fonts on HiDPI displays. (#3639) 2017-09-21 11:20:06 +03:00
Terry Jan Reedy d6e2f26f3f bpo-31500: Removed fixed size of IDLE config dialog. (#3664)
This one line of Serhiy Storchacka's bpo-31500 patch for is needed for other issues.
2017-09-19 19:01:45 -04:00
Terry Jan Reedy 55679e0ec7 bpo-30928: Update idlelib/NEWS.txt to 2017 Sep 17. (#3635) 2017-09-17 20:14:21 -04:00
Terry Jan Reedy 0efc7c67a2 bpo-31502: IDLE Configdialog again deletes custom themes and keysets. (#3634)
This reverses a never-released regression resulting from bpo-31287.
2017-09-17 20:13:25 -04:00
Terry Jan Reedy a6bb313c70 bpo-31493: Fix code context update and font update timers. (#3622)
Canceling timers prevents a warning message when test_idle completes.
(This is the minimum fix needed before upcoming releases.)
2017-09-17 00:56:56 -04:00
Terry Jan Reedy 5777ecc438 bpo-31488: IDLE - update former extensions when options change. (#3612)
When apply changes, call .reload on each class with non-key options.
Change ParenMatch so that updates affect current instances.
2017-09-16 01:42:28 -04:00
Terry Jan Reedy ff70289002 bpo-314777: IDLE - improve rstrip entry in doc (#3602)
'Strip trailing whitespace' is not limited to spaces.  Wording caters to beginners who
do know know the meaning of 'whitespace'.  Multiline string literals are not skipped.

* News blurb.
2017-09-15 13:05:28 -04:00
Terry Jan Reedy d384a81f55 bpo-31480: IDLE - fix tests to pass with zzdummy extension disabled. (#3590)
Enabled by default was a temporary expedient.  The fix is to add a user override to enable.
2017-09-14 18:51:51 -04:00
Serhiy Storchaka 13ad3b7a82 bpo-31462: Remove trailing whitespaces. (#3564) 2017-09-14 09:38:36 +03:00
Terry Jan Reedy 98758bc67f bpo-31421: Document how IDLE runs tkinter programs. (#3513)
IDLE calls tcl/tk update in the background in order to make live
interaction and experimentatin with tkinter applications much easier.
2017-09-12 09:05:16 -04:00
Terry Jan Reedy adb4cd2a2a bpo-27099: Finish updating IDLE doc and help text. (#3510)
As needed for the conversion of extensions to features.
2017-09-12 07:45:15 -04:00
Terry Jan Reedy 8239fd7046 bpo-30928: Update idlelib/NEWS.txt to 2017-09-11. (#3503) 2017-09-11 16:43:26 -04:00
Terry Jan Reedy 667522efa8 bpo-31414: IDLE -- fix tk entry box tests by deleting first. (#3501)
Adding to an int entry is not the same as deleting and inserting
because int('') will fail.
2017-09-11 16:02:33 -04:00
Cheryl Sabella 3866d9bbcf bpo-30781: IDLE: Fix help button on configdialog (#3238)
This fixes an omission in the ttk conversion patch for this issue, hence no new news.
Patch by Cheryl Sabella.
2017-09-10 22:41:10 -04:00
wohlganger 58fc71c447 bpo-27099: IDLE - Convert built-in extensions to regular features (#2494)
About 10 IDLE features were implemented as supposedly optional
extensions.  Their different behavior could be confusing or worse for
users and not good for maintenance.  Hence the conversion.

The main difference for users is that user configurable key bindings
for builtin features are now handled uniformly.  Now, editing a binding
in a keyset only affects its value in the keyset.  All bindings are
defined together in the system-specific default keysets in config-
extensions.def.  All custom keysets are saved as a whole in config-
extension.cfg.  All take effect as soon as one clicks Apply or Ok.

The affected events are '<<force-open-completions>>', '<<expand-word>>',
'<<force-open-calltip>>', '<<flash-paren>>', '<<format-paragraph>>',
'<<run-module>>', '<<check-module>>', and '<<zoom-height>>'.  Any
(global) customizations made before 3.6.3 will not affect their keyset-
specific customization after 3.6.3. and vice versa.

Inital patch by Charles Wohlganger, revised by Terry Jan Reedy.
2017-09-10 17:19:47 -04:00
Terry Jan Reedy 390eadd6d0 bpo-31051: Rearrange IDLE condigdialog GenPage into Window, Editor, and Help sections. (#3239) 2017-08-30 00:59:11 -04:00
Cheryl Sabella 998f4966bf bpo-30617: IDLE: docstrings and unittest for outwin.py (#2046)
Move some data and functions from the class to module level. Patch by Cheryl Sabella.
2017-08-27 18:06:00 -04:00
Terry Jan Reedy 3457f42896 bpo-31287: IDLE - do not alter tkinter.messagebox in configdialog tests. (#3220) 2017-08-27 16:39:41 -04:00
Cheryl Sabella 7028e5986f bpo-30781: IDLE - use ttk widgets in configdialog (#2654)
Patch by Cheryl Sabella.
2017-08-26 14:26:02 -04:00
Cheryl Sabella 4bfebc6301 bpo-31206: IDLE: Factor HighPage class from ConfigDialog (#3160)
Part 3 of 3.  Remove old highlight functions and load_config as this functionality is now contained within classes. Patch by Cheryl Sabella.
2017-08-20 08:07:22 -04:00
Cheryl Sabella 8f7a798edb bpo-31206: IDLE: Factor HighPage class from ConfigDialog (#3156)
Patch 2 of 3, to avoid horrendous diff.  Create highlights page from new HighPage class instead of old ConfigDialog methods and change tests to match.
2017-08-19 22:04:40 -04:00
Cheryl Sabella a32e40561a bpo-31206: IDLE: Factor HighPage class from ConfigDialog (#3141)
This is the first half of a patch similar to the one for for bpo-31205.  It is being split into 2 PRs to avoid what happened with PR-3096 -- an incomprehensible diff that could not be cleanly backported to 3.6.  This half copies several methods of ConfigDialog and turns them into a new class.
2017-08-18 18:34:55 -04:00
Cheryl Sabella 82aff62462 bpo-31001: IDLE: Add tests for configdialog highlight tab (#3123) 2017-08-17 20:39:00 -04:00
Terry Jan Reedy 7f066844a7 bpo-30928: Update idlelib/NEWS.txt to 2017-08-15. (#3098) 2017-08-15 19:15:04 -04:00
Cheryl Sabella e36d9f5568 bpo-31205: IDLE: Factor KeysPage class from ConfigDialog (#3096)
The slightly modified tests continue to pass.  Patch by Cheryl Sabella.
2017-08-15 18:26:23 -04:00
Cheryl Sabella 2f89646349 bpo-31002: IDLE: Add tests for configdialog keys tab (#2996)
Patch by Cheryl Sabella.
2017-08-14 21:21:43 -04:00
Louie Lu 3b0f620c1a bpo-19903: IDLE: Calltips changed to use inspect.signature (#2822)
Idlelib.calltips.get_argspec now uses inspect.signature instead of inspect.getfullargspec, like help() does.  This improves the signature in the call tip in a few different cases, including builtins converted to provide a signature.  A message is added if the object is not callable, has an invalid signature, or if it has positional-only parameters.
Patch by Louie Lu.
2017-08-09 20:58:13 -04:00
Terry Jan Reedy 733d0f63c5 bpo-31130: IDLE -- stop leaks in test_configdialog. (#3016)
Initial patch by Victor Stinner.
2017-08-07 14:22:44 -04:00
Terry Jan Reedy 89225871d3 bpo-29910: IDLE - revert `break`s that disabled calltip close. (#2997) 2017-08-07 13:37:10 -04:00
Ville Skyttä 49b2734bf1 Spelling fixes (#2902) 2017-08-03 09:00:59 +03:00
csabella 6f446bee4f bpo-31083: IDLE: Describe the Page classes in configdialog (#2965)
Add template as comment. Update existing classes to match outline.
Initial patch by Cheryl Sabella.
2017-08-01 00:24:07 -04:00
csabella e8eb17b2c1 bpo-31050: IDLE: Factor GenPage class from ConfigDialog (#2952)
The slightly modified tests for the General tab continue to pass.
Patch by Cheryl Sabella.
2017-07-30 18:39:17 -04:00
csabella 9397e2a87e bpo-31004: IDLE: Factor out FontPage class from configdialog (step 1) (#2905)
The slightly modified tests continue to pass. The General test
broken by the switch to Notebook is fixed.
Patch mostly by Cheryl Sabella.
2017-07-30 13:34:25 -04:00
Terry Jan Reedy c3aa47f655 bpo-30928: Update IDLE News.txt. (#2948) 2017-07-30 06:25:22 -04:00
Terry Jan Reedy b331f80b47 bpo-30781: IDLE - Use ttk Notebook in ConfigDialog (#2938)
The notebook looks a bit better.  It will work better with separate page classes. Traversal of widgets by Tab works better.  Switching tabs with keys becomes possible.  The font sample box works better at large font sizes.

One of the two simulated click tests no longer works.  This will be investigated while fixing a bug with the widget itself.
2017-07-29 00:49:39 -04:00
Terry Jan Reedy 5d0f30aae5 bpo-30853: IDLE - touch-up configdialog.VarTrace and tests. (#2936)
Add clear method for tests.  Adjust tests to use global instance.
Remove unneeded ConfigDialog method.
2017-07-28 17:00:02 -04:00
csabella 5b59154c0d bpo-30853: IDLE: Convert font and general vars to use VarTrace (#2914)
Instance tracers manages pairs consisting of a tk variable and a
callback function.  When tracing is turned on, setting the variable
calls the function.  Test coverage for the new class is 100%.
2017-07-28 14:40:59 -04:00
Terry Jan Reedy b1660800f4 bpo-31060: IDLE: Finish regrouping ConfigDialog methods (#2908)
Finish resorting the 72 ConfigDialog methods into 7 groups that represent the dialog, action buttons, and font, highlight, keys, general, and extension pages.  This will help with continuing to add tests and improve the pages. It will enable splitting ConfigDialog into 6 or 7 more comprehensible classes.
2017-07-27 18:28:01 -04:00
Terry Jan Reedy 2bc8f0e686 bpo-31003: IDLE - Add more tests for General tab (#2859)
* In configdialog: Document causal pathways in create_page_general.
Move related functions to follow this. Simplify some attribute names.
* In test_configdialog: Add tests for load and helplist functions.
Coverage for the general tab is now complete, and 63% overall.
2017-07-26 20:54:40 -04:00
csabella 45bf723c6c bpo-30853: IDLE: Factor a VarTrace class from configdialog.ConfigDialog. (#2872)
The new class manages pairs of tk Variables and trace callbacks.
It is completely covered by new tests.
2017-07-26 19:09:58 -04:00
Terry Jan Reedy 77e97ca9ff bpo-30993: IDLE - Improve configdialog font page and tests. (#2831)
In configdialog: Document causal pathways in create_font_tab docstring.  Simplify some attribute names. Move set_samples calls to var_changed_font (idea from Cheryl Sabella).  Move related functions to positions after the create widgets function.

In test_configdialog: Fix test_font_set so not order dependent.  Fix renamed test_indent_scale so it tests the widget.  Adjust tests for movement of set_samples call.  Add tests for load functions.  Put all font tests in one class and tab indent tests in another.  Except for two lines, these tests completely cover the related functions.
2017-07-24 00:18:25 -04:00
Terry Jan Reedy 07ba305a4c bpo-30993: IDLE - Improve configdialog font page and tests. (#2818)
* Document causal event pathways in docstring.
* Simplify some attribute names.
* Rename test_bold_toggle_set_samples to make test_font_set fail.
* Fix test_font_set so not order dependent.
* Fix renamed test_indent_scale so it tests the widget.
2017-07-23 12:20:08 -04:00
Terry Jan Reedy 616ecf18f3 bpo-30981: IDLE: Augment one configdialog font page test (#2810)
Remove broken test of bold_toggle and test it along with its command, set_samples.
This has been incorporated into 3.6 backport PR-2796.
2017-07-22 00:36:13 -04:00
Terry Jan Reedy 7c5798ebfa bpo-30981: temporarity skip failing IDLE test class (#2798) 2017-07-21 03:47:01 -04:00
Terry Jan Reedy d0969d6924 bpo-30981: IDLE -- Add more configdialog font page tests. (#2794) 2017-07-21 02:20:46 -04:00
Terry Jan Reedy a54a8f188a bpo-28523: IDLE: Use 'color' instead of 'colour'. (#2787) 2017-07-21 01:06:58 -04:00
terryjreedy 9f9192afbb bpo-30968: Fix test_get_font in IDLE's test_config. (#2769) 2017-07-19 20:45:36 -04:00
Louie Lu ed014f7e13 bpo-30917: IDLE: Fix mock_config deepcopy to read_string (#2754)
Patch by LouieLu.
2017-07-19 19:27:06 -04:00
Louie Lu f776eb0f0e bpo-30917: IDLE: Add config.IdleConf unittests (#2691)
Patch by Louie Lu.
2017-07-18 17:17:56 -04:00
terryjreedy 95bebb7264 bpo-30934: Document coverage details for idlelib tests (#2711)
* Add section to idlelib/idle-test/README.txt.
* Include check that branches are taken both ways.
* Exclude IDLE-specific code that does not run during unit tests.
2017-07-16 00:07:36 -04:00
terryjreedy 0d0a32fb91 Update idlelib/NEWS.txt. (#2703) 2017-07-14 00:14:10 -04:00
csabella 36329a4dd8 bpo-30913: IDLE: Document tk vars, attributes, and methods for ConfigDialog (#2697)
The will help writing dialog improvements and splitting the class into multiple classes.
Original patch by Cheryl Sabella.
2017-07-13 23:32:01 -04:00
Louie Lu 9b622fb903 bpo-30870: IDLE: Add configdialog fontlist selection unittest (#2666)
Initial patch by Louie Lu.
2017-07-13 20:35:48 -04:00
Louie Lu 50c9435c9b bpo-30899: Add unittests, 100% coverage, for IDLE's two ConfigParser subclasses. (#2662)
Patch by Louie Lu.
2017-07-12 14:05:32 -04:00
csabella 6d13b22e3a bpo-30779: IDLE: fix changes.delete_section calls in configdialog (#2667)
Also improve test of config.ConfigChanges.delete_section.
Original patch by Cheryl Sabella.
2017-07-11 19:09:44 -04:00
csabella ba352270b7 bpo-30881: IDLE: add docstrings to browser.py (#2638)
Patch by Cheryl Sabella.
2017-07-11 02:34:01 -04:00
terryjreedy 5b62b35e6f bpo-30870: IDLE -- fix logic error in eae2537. (#2660) 2017-07-11 01:58:04 -04:00
csabella aa8d0a2469 bpo-30851: IDLE: Remove unused tk variables in configdialog. (#2626)
One is a duplicate, one is set but cannot be altered by users.
Patch by Cheryl Sabella.
2017-07-10 13:50:44 -04:00
Louie Lu bb2bae84d6 bpo-30870: IDLE: Change sample font when select by key-up/down (#2617)
Patch by Louie Lu.
2017-07-09 18:57:18 -04:00
terryjreedy 223c7e70e4 bpo-8231: Call idlelib.IdleConf.GetUserCfgDir only once. (#2629) 2017-07-07 22:28:06 -04:00
terryjreedy 349abd9e37 bpo-30779: IDLE -- Factor ConfigChanges class from configdialog, put in config; test. (#2612)
* In config, put dump test code in a function; run it and unittest in 'if __name__ == '__main__'.
* Add class config.ConfigChanges based on changes_class_v4.py on bpo issue.
* Add class test_config.ChangesTest, partly based on configdialog_tests_v1.py on bpo issue.
* Revise configdialog to use ConfigChanges, mostly as specified in tracker msg297804.
* Revise test_configdialog to match configdialog changes.  All tests pass in both files.
* Remove configdialog functions unused or moved to ConfigChanges.
Cheryl Sabella contributed parts of the patch.
2017-07-07 16:00:57 -04:00
terryjreedy 25a4206c24 bpo-30780: Fix error in idlelib.test_idle.test_configdialog (#2606) 2017-07-06 22:19:13 -04:00
terryjreedy 1ccbad9c95 Update idlelib/NEWS.txt with merges upto 2017 Jul 5. (#2595) 2017-07-05 19:36:48 -04:00
terryjreedy 2000150c56 bpo-21624: IDLE -- minor htest fixes (#2575) 2017-07-04 22:41:12 -04:00
csabella 7eb5883ac5 bpo-30777: IDLE: configdialog - add docstrings and improve comments (#2440)
Patch by Cheryl Sabella.
2017-07-04 21:30:58 -04:00
csabella 42bc8beadd bpo-30495: IDLE: improve textview with docstrings, PEP8 names, more tests. (#2283)
Split TextViewer class into ViewWindow, ViewFrame, and TextFrame classes so that instances
of the latter two can be placed with other widgets within a multiframe window.
Patch by Cheryl Sabella.
2017-06-29 18:42:17 -04:00
Mark Roseman 592eda1233 bpo-24813: IDLE tagline is Integrated Development and Learning Environment (#2451)
Patch by Mark Roseman
2017-06-27 22:42:10 -04:00
wohlganger fae2c3538e bpo-30723: IDLE -- Enhance parenmatch; add style, flash, and help (#2306)
* Add 'parens' style to highlight both opener and closer.
* Make 'default' style, which is not default, a synonym for 'opener'.
* Make time-delay work the same with all styles.
* Add help for config dialog extensions tab, including parenmatch.
* Add new tests. 
Original patch by Charles Wohlganger.
2017-06-27 22:36:23 -04:00
csabella 65474b9d7a bpo-30674: IDLE: add docstrings to grep.py (#2213)
Patch by Cheryl Sabella
2017-06-27 02:41:08 -04:00
terryjreedy 44913e584b bpo-21519: IDLE basic custom key entry better detects duplicates. (#2428) 2017-06-27 01:23:55 -04:00
Serhiy Storchaka 213ce12adf bpo-29910: IDLE no longer deletes a character after commenting out a region (#825)
This happened because shortcut has a class binding and 'break' was not returned.
Fix other potential conflicts between IDLE and default key bindings.

* Add news item

* Update NEWS
2017-06-27 00:02:32 -04:00
csabella 9a02ae3d3d bpo-24813: IDLE: Add build bitness to About Idle title (#2380)
Patch by Cheryl Sabella.
2017-06-26 22:28:58 -04:00
csabella bac7d3363b bpo-30728: IDLE: Refactor configdialog to PEP8 names (#2307)
Also, change '*' in the tkinter import to an explicit list of names.
Patch by Cheryl Sabella.
2017-06-26 17:46:26 -04:00
csabella 8c78aa70c8 bpo-6739: IDLE: Check for valid keybinding in config_keys (#2377)
Verify user-entered key sequences by trying to bind them with tk.
Add tests for all 3 validation functions.
Original patch by G Polo.  Tests added by Cheryl Sabella.
2017-06-26 00:55:48 -04:00
csabella 18ede06258 bpo-24813: IDLE: Add default title to help_about (#2366)
Patch by Cheryl Sabella.
2017-06-23 20:00:58 -04:00
csabella d352d68977 bpo-24813: IDLE: Add icon to help_about (#2335)
Patch by Cheryl Sabella
2017-06-23 12:00:29 -04:00
terryjreedy a0e911b190 Fix typo in idlelib.config_key.py (#2322) 2017-06-21 22:14:23 -04:00
KunYuChen f3e8209152 Fix trivial typo in idlelib/config.py (GH-2309)
Comceptually -> Conceptually
2017-06-20 21:30:45 -07:00
terryjreedy faa63d1e84 Add IDLE items to NEWS and idlelib/NEWS.txt (#2239) 2017-06-16 01:54:57 -04:00
terryjreedy 32fd874afe bpo-15786: Fix IDLE autocomplete return problem. (#2198)
Before, <return> would not, for instance, complete 're.c' to 're.compile' even with 'compile' highlighted.  Now it does.  Before, <return> was inserted into text, which in Shell meant compile() and possibly execute.  Now cursor is left after completion.
2017-06-14 15:43:15 -04:00
mlouielu 778b484145 bpo-15786: IDLE: Fix mouse clicks on autocompletetion window (#1811)
The root problem was non-check for hide_event. When user clicks
on autocomplete window (acw), root widget gets focusOut event, then triggers hide_window to
close the acw. It should only be hide when acw is active, and acw didn't
get focus at FocusOut event (this event bind on acw and widget), or when
widget get a ButtonPress event (this event only bind on widget).

MacOS  froze after double click on acw because when
doubleclick_event try to hide window at the end, hide_window function
destory whole acw, but tkinter didn't get focus back to widget. So set focus
on widget first, then destory acw.

Windows could not respond on double click event, because of the misbehavior
of Configure event.  When acw was shown, tkinter called winconfig
event multiple times.  That caused tkinter to not response to double
click event.  When on Windows, unbind Configure event first
time get into winconfig_event to prevent multiple call of this event.
2017-06-14 11:13:19 -04:00
terryjreedy 188aedf8bb bpo-25514: Improve IDLE's connection refused message (#2177)
When IDLE fail to start because the socket connection fails, direct people to a new subsection of the IDLE doc listing various causes and remedies.
2017-06-13 21:32:16 -04:00
terryjreedy 049cf2bb44 bpo-27922: Stop gui flash from idle_test.test_parenmatch (#2171)
For unknown reasons, this does not work when running leak tests.
2017-06-13 14:40:10 -04:00
terryjreedy 8323189ff1 Fix ref leak in idle_test.test_macosx (#2163) 2017-06-13 10:52:29 -04:00
mlouielu b070fd275b bpo-30642: IDLE: Fix test_query refleak (#2147)
Patch by Louie Lu.
2017-06-13 08:29:44 -04:00
Zachary Ware 3f8f16d102 Show what's changed when Travis fails regen check (GH-2095)
Also fixed a few more line endings that were missed in GH-840, which were causing failure.
2017-06-10 23:04:36 -05:00
terryjreedy 503bc6363d Update idlelib NEWS for 3.7 (#2089) 2017-06-10 20:46:08 -04:00
csabella 0aa0a06e8b bpo-30495: IDLE: Modernize textview.py with docstrings and PEP8 names (#1839)
Patch by Cheryl Sabella.
2017-05-28 06:50:55 -04:00
terryjreedy eca7da0f13 IDLE test_help_about: edit and add test. (#1838)
Coverage is now 100%
2017-05-28 01:10:51 -04:00
csabella 5a346d5dbc bpo-30290: IDLE: Refactor help_about to PEP8 names (#1714)
Patch by Cheryl Sabella.
2017-05-27 15:49:26 -04:00
mlouielu 054e09147a bpo-30290: IDLE: Add more tests for help_about dialog (#1697)
Increases coverage to 99%
2017-05-21 18:19:35 -04:00
terryjreedy 295304d412 IDLE test_textview: add comments and test, increase coverage to 100% (#1641) 2017-05-17 22:59:46 -04:00
Louie Lu ba365da9ce bpo-30303: IDLE: Add _utest argument to textview (#1499) 2017-05-17 17:51:31 -04:00
Serhiy Storchaka 7e4db2f253 bpo-30166: Import command-line parsing modules only when needed. (#1293) 2017-05-04 08:17:47 +03:00
Serhiy Storchaka 2e576f5aec bpo-30144: Import collections ABC from collections.abc rather than collections. (#1263) 2017-04-24 09:05:00 +03:00
Serhiy Storchaka 55fe1ae970 bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051) 2017-04-16 10:46:38 +03:00
Serhiy Storchaka 5908300e4b bpo-29995: re.escape() now escapes only special characters. (#1007) 2017-04-13 21:06:43 +03:00
Victor Stinner d6debb24e0 bpo-29919: Remove unused imports found by pyflakes (#137)
Make also minor PEP8 coding style fixes on modified imports.
2017-03-27 16:05:26 +02:00
Jelle Zijlstra 0579e81f30 import sys before we use it on line 9 (#828) 2017-03-26 22:17:39 -04:00
Serhiy Storchaka fdd42c481e bpo-20185: Convert list object implementation to Argument Clinic. (#542) 2017-03-11 09:19:20 +02:00
Senthil Kumaran b2ee40ed9c Change some mercurial/ hg.python.org references. (#8) 2017-02-16 07:18:42 -08:00
Terry Jan Reedy 85c1c94178 Merge with 3.6 2017-01-04 23:18:01 -05:00
Terry Jan Reedy e16265d367 Issue #29162: Don't depend on 'from tkinter import *' importing sys.
Fix error in format string.
2017-01-04 23:17:47 -05:00
Terry Jan Reedy bade830a21 Merge with 3.6 2017-01-01 21:21:54 -05:00
Terry Jan Reedy 0e10243d64 Issue #29071: Use local flags for IDLE colorizer string prefix matcher.
Revised re by Serhiy Storchaka.
2017-01-01 21:21:39 -05:00
Terry Jan Reedy 241dc9c454 Merge with 3.6 2016-12-27 00:05:41 -05:00
Terry Jan Reedy 246cbf23fa Issue #29071: IDLE now colors f-string prefixes (but not invalid ur prefixes). 2016-12-27 00:05:26 -05:00
Serhiy Storchaka 70d28a184c Remove unused imports. 2016-12-16 20:00:15 +02:00
Terry Jan Reedy 0180cf6684 Issue #28572: Use system-specific values for configdialog font test 2016-11-07 23:14:53 -05:00
Terry Jan Reedy f46b7823e6 Issue #28572: Add 10% to coverage of IDLE's test_configdialog.
Update and augment description of the configuration system.
2016-11-07 17:15:01 -05:00
Terry Jan Reedy b63c4fc18b Issue #25488: merge idle.py from 3.5. 2016-09-30 02:56:46 -04:00
Terry Jan Reedy 1813aa1a0c Issue #25488: Stpp idle.py from adding a entry when it is a duplicate.
Also, make idlelib.idle.main() work after import idlelib.idle.
2016-09-30 02:53:44 -04:00
Terry Jan Reedy c6b5f08f04 Move idlelib/NEWS.txt entries for 2.x into a separate file -- NEWS2x.txt.
Reformat a few early 3.x entries in HEWS.txt. Merge from 3.5.
2016-09-30 00:02:28 -04:00
Terry Jan Reedy 55f3ae68bb Move idlelib/NEWS.txt entries for 2.x into a separate file -- NEWS2x.txt.
Reformat a few early 3.x entries in HEWS.txt.
2016-09-29 23:59:55 -04:00
Terry Jan Reedy 6c58c34dd3 IDLE NEWS item and ack. 2016-09-28 21:55:55 -04:00
Berker Peksag d39370ba41 Issue #28300: Merge from 3.5 2016-09-28 17:22:26 +03:00
Berker Peksag c16387b17f Issue #28300: Fix typos, patch by Shlomi Fish 2016-09-28 17:21:52 +03:00
Terry Jan Reedy 3dad1a5b82 Merge 3.5 - Issue #15308: Add 'interrupt execution' (^C) to Shell menu.
Patch by Roger Serwy, updated by Bayard Randel.
2016-09-12 01:57:25 -04:00
Terry Jan Reedy 4b73676c3d Issue #15308: Add 'interrupt execution' (^C) to Shell menu.
Patch by Roger Serwy, updated by Bayard Randel.
2016-09-12 01:50:03 -04:00
Terry Jan Reedy 70360194c7 IDLE newx items. merge from 3.5 2016-09-10 16:28:01 -04:00
Terry Jan Reedy d92cecb9f1 IDLE newx items. 2016-09-10 16:24:54 -04:00
Martin Panter 0be894b2f6 Issue #27895: Spelling fixes (Contributed by Ville Skyttä). 2016-09-07 12:03:06 +00:00
Terry Jan Reedy 00b1e0f7ea Issue #27922: IDLE tests no longer flash tk widgets. 2016-08-31 21:03:16 -04:00
R David Murray 44b548dda8 #27364: fix "incorrect" uses of escape character in the stdlib.
And most of the tools.

Patch by Emanual Barry, reviewed by me, Serhiy Storchaka, and
Martin Panter.
2016-09-08 13:59:53 -04:00