gh-143774 - Improve IDLE Format Paragraph doc (GH-143775)
Add a reminder to not rewrap code line to the Menu => Format => Reformat Paragraph entry.
In Editing and Nagivagion, add a new 'Format block' subsection that defines 'paragraph'
to better match what is dependably handled as more or less expected.
In particular, specify equal indents and that the resulting indent equals original indent.
Also mention that selections are expanded to complete lines and how to modify max length.
(Also fix a couple case errors in cross references.)
(cherry picked from commit fa3abf5a51d42b2d62e1bc89e9465b398a567e94)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Copy net new text in idle.rst from main to 3.13.
Make 3.13 docs and copy-strip idle.html to idlelib/help.html.
See https://github.com/python/cpython/issues/139707#issuecomment-3737374788
and PR #143718 message for more.
* Revert url to 'main' from '3.13'
The branch in the source links in the revised help.html
become '3.13' instead of 'main' because the html
was generated from an edited 3.13 version of idle.rst
instead being backported from main. This reversion
avoids the possibility of future backport merge conflicts.
The version makes no difference to the Help/IDLE doc display as
the url is currently neither displayed nor linked to the link title
-- 'Lib/idlelib'. If we do make the links live, we can use
sys.version_info to replace 'main' when main is no longer the source branch.
GH-139436: Remove PDF and CHM from IDLE HelpSource (GH-140418)
(cherry picked from commit c5825ff4c9e26e17224c466db6b3bd49d44c26e0)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Minor fixes to `idle.rst` and regenerate `help.html` (GH-140037)
(cherry picked from commit 4e6e208be9d1c52d1b55a8bb3a83682cb078e55e)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
gh-96491: Deduplicate version in IDLE shell title (GH-139841)
Saving to a file added both the filename and repeated the version.
---------
(cherry picked from commit d4e5802588db3459f04d4b8013cc571a8988e203)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
gh-95844: Move help_url code to a help module function (GH-129971)
---------
(cherry picked from commit 3b4cd885634abc029b409cb566e8d9a530d061f8)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Doc: Fix duplicate words in idlelib (GH-136089)
(cherry picked from commit f04d2b8819eb37d5439b7437f1e80a1e5c5c4f07)
Co-authored-by: Weilin Du <108666168+LamentXU123@users.noreply.github.com>
IDLE: Update NEWS2x.txt with 2.7.0 release date (GH-129908)
(cherry picked from commit 642e5dfc74310d15bb81f8e94167590380a5fbfb)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
gh-129876: Update IDLE News3.txt to May 2025 (GH-135139)
(cherry picked from commit 0df15d0d4d55dcf7b7a7f4b2985bf84fd092d257)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
gh-69001: Convert links to more usable buttons (GH-129591)
In Lib/idlelib/help_about.py, there are 2 links that are not underlined or colored, hence hard to tell that clicking works. All buttons might get converted to colored and underlined links in the future.
---------
(cherry picked from commit ed831b95a231ef949da13a261b40ee1ea0e126d7)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
gh-129873: IDLE: Improve help.py's method of parsing HTML (GH-129859)
In `help.copy_strip`, only copy the text `<section>`. In `help.HelpParser.handle_starttag` and elsewhere, remove code to skip the no longer present html. Add a reminder at the top of idle.rst to run copy_strip after changes.
---------
(cherry picked from commit 6fbf15f98e04f582aeccf5334a94840149ff7cd5)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
gh-129699: Add description to IDLE doc title (GH-129727)
Also extend the 'idlelib' section header. These additions affect both the displayed idle.html file and the contents.html file displayed by clicking the Complete table of contents link on the main docs.python.org page. (The module index entries are generated from the module name and synopsis within module files.)
---------
(cherry picked from commit 33a7094aa680bca66582fec4dcda7d150eb90cd8)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Replace references to boilerplate files available in About IDLE and instead suggest clicking Help menu.
(cherry picked from commit d83a8a26f5e321b26bec59f5fd47c9c46c16ab12)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Instead, anyone requesting credit should submit a PR with contribution summary.
(Also fix typo in existing name.)
(cherry picked from commit 76e018294801ab95f30756c702b63bf6b4c23310)
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Set TERM environment variable to "dumb" to disable traceback colors
in IDLE, since IDLE doesn't understand ANSI escape sequences.
(cherry picked from commit 559b0e7013f9cbf42a12fe9c86048d5cbb2f6f22)
Co-authored-by: Victor Stinner <vstinner@python.org>
Fix idlelib typos (GH-125484)
Propagate fixes in Doc/library/idle.rst to help.html.
Change 'interruptable' to 'interruptible' in run.py.
The latter was reported by ember91 in PR 125473.
(cherry picked from commit 3fea1d000ef0a74062fd3fe218ad94618b08d9f2)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
gh-122392: IDLE - Fix overlapping lines in browsers (GH-122392) (GH-124975)
Increase currently inadequate vertical spacing for the IDLE browsers (path,
module, and stack) on high-resolution monitors.
---------
(cherry picked from commit c5df1cb7bde7e86f046196b0e34a0b90f8fc11de)
Co-authored-by: Zhikang Yan <2951256653@qq.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
See #123597. The typo in Icon/README.txt was fixed
in the unmerged 3.13 backport #123608 of the
PR that added the text with the typo.
(cherry picked from commit 1f4a49e)
Co-authored-by: abstractee
gh-112938: IDLE - Fix uninteruptable hang when Shell gets rapid continuous output. (GH-124310)
https://github.com/python/cpython/issues/88496 replaced text.update with text.update_idletasks in colorizer.py and outwin.py to fix test failures on macOS. While theoretically correct, the result was Shell freezing when receiving continuous short strings to print. Test: `while 1: 1`.
The guess is that there is no idle time in which to do the screen update. Reverting the change in one of the files,
outwin, fixes the issue. Colorizer runs ever 1/20 second and seems to work fine.
When running test-outwin on macOS, alias 'update'
to 'update_idletasks on the text used for testing.
(cherry picked from commit d5f95ec07bb47a4d6554e04d13a979dbeac05f74)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
* Further revise idlelib/Icons/README.text (GH-123364)
In particular, add trademark derivative approval information.
(cherry picked from commit fe85a8291d9aa11c9ce9e207c39ea0a0c35f9625)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
* Update Lib/idlelib/Icons/README.txt
---------
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
gh-120083: Add IDLE Hovertip foreground color needed for recent macOS (GH-120605)
On recent versions of macOS (sometime between Catalina and Sonoma 14.5), the default Hovertip foreground color changed from black to white, thereby matching the background. This might be a matter of matching the white foreground of the dark-mode text. The unreadable result is shown here (GH-120083 (comment)).
The foreground and background colors were made parameters so we can pass different colors for future additional hovertips in IDLE.
---------
(cherry picked from commit 5a7f7c48644baf82988f30bcb43e03dcfceb75dd)
Co-authored-by: John Riggles <jriggles@icloud.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Currently, idle-dev@python.org and idle-dev mailing list
serve to collect spam (90+%). Change About IDLE to direct
discussions to discuss.python.org. Users are already
doing so.
(cherry picked from commit 29c04dfa2718dd25ad8b381a1027045b312f9739)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
gh-78889: Stop IDLE Shell freezes from sys.stdout.shell.xyz (GH-121876)
Problem occurred when attribute xyz could not be pickled.
Since this is not trivial to selectively fix, block all
attributes (other than 'width'). IDLE does not access them
and they are private implementation details.
(cherry picked from commit 58753f33e47fe48906883dc010771f68c13b7e52)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
gh-121008: Fix idlelib.run tests (GH-121046)
When testing IDLE, don't create a Tk to avoid side effects such as
installing a PyOS_InputHook hook.
(cherry picked from commit 44eafd66882589d4f4eb569d70c49724da3e9291)
Co-authored-by: Victor Stinner <vstinner@python.org>
gh-120417: Remove unused imports in the stdlib (GH-120420)
(cherry picked from commit 4c6d4f5cb33e48519922d635894eef356faddba2)
Co-authored-by: Victor Stinner <vstinner@python.org>
IDLE: fix url in config.py comment (GH-119198)
(cherry picked from commit 357f5a1f73684d0c126a5e8f79d76ff3641c4d52)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Callbacks registered in the tkinter module now take arguments as
various Python objects (int, float, bytes, tuple), not just str.
To restore the previous behavior set tkinter module global wantobject to 1
before creating the Tk object or call the wantobject() method of the Tk object
with argument 1.
Calling it with argument 2 restores the current default behavior.
The platform standard on macOS is to show a proxy icon for open
files in the titlebar of Windows. Make sure IDLE matches this
behaviour.
Don't use both the long and short names in the window title.
The behaviour of other editors (such as Text Editor) is to show
only the short name with the proxy icon.
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
By default, it preserves an inconsistent behavior of older Python
versions: packs the count into a 1-tuple if only one or none
options are specified (including 'update'), returns None instead of 0.
Except that setting wantobjects to 0 no longer affects the result.
Add a new parameter return_ints: specifying return_ints=True makes
Text.count() always returning the single count as an integer
instead of a 1-tuple or None.
Also fix test_mousewheel: do not skip a check which was broken due to incorrect
delta on Aqua and XQuartz, and probably not because of `.update_idletasks()`.
Tkinter is a fact, not necessarily a feature.
Reorganize editor key bindings in a logical order
and remove those that do not work, at least on Windows.
Improve shell bindings list.