◐ Shell
clean mode source ↗

Message 349441 - Python tracker

None.get_saved is #35623.  I believe it is related to #35379, where I requested your comment on what I found so far.
---

1. Compiler warnings for shell input go to sys.__stderr, which only exists when IDLE is started from a console.  This will include SyntaxWarnings when not turned into errors.  pyshell 67+, warning_stream and idle_showwarning.  I have no idea why.  Compiler warnings for editor contents and runtime warnings go to shell.  For now, all should go to Shell. 

2. Warnings are formatted by run 42, idle_formatwarning.  Someone must have decided that "<stdin>:1: DeprecationWarning: invalid escape sequence \e" is newbie unfriendly.  When printed in an editor-derived window, the IDLE format will enable context menu 'goto file/line'.  But 4 lines is a lot and the top line only serves to imitate the 'Traceback ...' line.  I will think about this.  Perhaps

DeprecationWarning: invalid escape sequence \e
  File "<pyshell#1>", line 1
    '\e'

3. Warnings (at least this one) for shell input are printed 3 times.  I do not know why at present.  ModifiedInterpreter.runsource calls code.InteractiveInterpreter(self, source, filename (pyshell 669).  Perhaps the latter is buggy in somehow calling compile 3 times.  I will look another time.