[issue23666] Add shell session logging option to IDLE

Terry J. Reedy report at bugs.python.org
Sat Aug 10 03:17:16 EDT 2019


Terry J. Reedy <tjreedy at udel.edu> added the comment:

A dirty editor must be saved before running, or discarded before closing.  Neither is true for Shell,  Making these at least an option in Shell should be the first change.  If the user has specified a savefile name, that should be used, and the user is responsible for the file.  If a file is automatically put, say, in .idlerc/shell.bak.py, there is an issue of when to delete or overwrite.

We should continue working to make automatic, versus explicit, shell logging less necessary.

If IDLE running in normal mode (user code running in a separate process) either closes by itself or locks up so that it *must* be closed, that should indicates a bug in python or IDLE that should be fixed.  There might be a couple such bugs left, I am not sure.

If the user process closes, the shell should restart one automatically. As far as I know, it dies.

If the user process hangs, control-C (Shell => Interrupt Execution) usually works,
  >>> while 1: 2+2
  KeyboardInterrupt
  >>> 
But a) beginning computer user may not know about ^C, or it may not work due to limitations in Python.  (There is an issue about the latter.)  In the latter case, one can restart with Shell => Restart Shell, but this is IDLE specific and users may not know about it.

When the shell catches ^C, it could create an after callback with a delay of, say, .5 seconds (but to be determined).  If ^C works, cancel the callback.  If not, display a message (only once per session) about using Restart.  Maybe next time, do an auto restart.

We might also think about detecting a hang (5 seconds, no output?) and printing a message about using ^C.

----------
assignee:  -> terry.reedy
stage:  -> test needed
versions: +Python 3.7, Python 3.8, Python 3.9 -Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue23666>
_______________________________________


More information about the Python-bugs-list mailing list