This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Idle: better management of Shell window output
Type: enhancement Stage: test needed
Components: IDLE Versions: Python 3.10
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: terry.reedy
Priority: normal Keywords:

Created on 2014-07-19 01:16 by terry.reedy, last changed 2022-04-11 14:58 by admin.

Messages (2)
msg223454 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-07-19 01:16
Some of these ideas are in other issues, but possibly as side-thoughts. Any issues that directly address one of them can be added as dependency.

The appropriate place for menu entries would be the Shell menu, which currently has only 2, 1 of which I have never used. I don't necessarily think everything needs a key shortcut. There are already too many for me to remember.

1. Clear/restart shell. The same as restart, but also clear after. If the shell is burdened with unwanted lines of text, let someone start over without quitting and restarting.

2. Move last output to output window. Long help output, as for classes, would be a prime example use.  I am sure this idea has been mentioned, at least as a side note.

3. Delete last output. In the editor and while editing a statement, Undo undoes the effect of one or more of the last keypresses. I propose that in the shell, after <enter> submits a statement for processing, prints the output, and a new prompt, that Undo ^Z erase the new prompt, erase the output, and put the cursor at the end of the previously entered statement so it can be edited. (Idea prompted by Rick Johnson.)

One use case for this is to correct syntax and logic errors, especially when one is using Idle to prepare examples to copy and paste elsewhere. I do this constantly and manually filtering out bad input and output is a major nuisance. Another use case to simply delete unwanted output, especially if long. In the latter case, one would not want the new prompt deleted, but ^Z can only act one way, and I don't think we need two new commands.

4. We need one or more custom cut methods, as proposed in #11838 "make interactive code savable as a runnable script".  Such issues will depend on how we replace tabs in #7676.
msg370861 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-06-06 23:30
1 is a another issue.  2. was partly taken care of by squeezer.
3 is needed.  SyntaxError is often best handled by editing.
4 is still needed.  Tab replacement will happen with a sidebar.
History
Date User Action Args
2022-04-11 14:58:06adminsetgithub: 66209
2020-06-06 23:30:25terry.reedysetmessages: + msg370861
versions: + Python 3.10, - Python 3.6, Python 3.7
2017-06-19 22:58:34terry.reedysetcomponents: + IDLE
versions: + Python 3.6, Python 3.7, - Python 2.7, Python 3.4, Python 3.5
2014-07-19 01:16:49terry.reedycreate