Commit 1039f39c authored by Terry Jan Reedy's avatar Terry Jan Reedy Committed by GitHub

bpo-37824: Properly handle user input warnings in IDLE shell. (GH-15500)

Cease turning SyntaxWarnings into SyntaxErrors.
parent 73e05497
...@@ -3,6 +3,12 @@ Released on 2019-10-20? ...@@ -3,6 +3,12 @@ Released on 2019-10-20?
====================================== ======================================
bpo-37824: Properly handle user input warnings in IDLE shell.
Cease turning SyntaxWarnings into SyntaxErrors.
bpo-37929: IDLE Settings dialog now closes properly when there is no
shell window.
bpo-37849: Fix completions list appearing too high or low when shown bpo-37849: Fix completions list appearing too high or low when shown
above the current line. above the current line.
......
...@@ -394,7 +394,6 @@ class ModifiedInterpreter(InteractiveInterpreter): ...@@ -394,7 +394,6 @@ class ModifiedInterpreter(InteractiveInterpreter):
self.tkconsole = tkconsole self.tkconsole = tkconsole
locals = sys.modules['__main__'].__dict__ locals = sys.modules['__main__'].__dict__
InteractiveInterpreter.__init__(self, locals=locals) InteractiveInterpreter.__init__(self, locals=locals)
self.save_warnings_filters = None
self.restarting = False self.restarting = False
self.subprocess_arglist = None self.subprocess_arglist = None
self.port = PORT self.port = PORT
...@@ -665,8 +664,6 @@ class ModifiedInterpreter(InteractiveInterpreter): ...@@ -665,8 +664,6 @@ class ModifiedInterpreter(InteractiveInterpreter):
"Extend base class method: Stuff the source in the line cache first" "Extend base class method: Stuff the source in the line cache first"
filename = self.stuffsource(source) filename = self.stuffsource(source)
self.more = 0 self.more = 0
self.save_warnings_filters = warnings.filters[:]
warnings.filterwarnings(action="error", category=SyntaxWarning)
# at the moment, InteractiveInterpreter expects str # at the moment, InteractiveInterpreter expects str
assert isinstance(source, str) assert isinstance(source, str)
#if isinstance(source, str): #if isinstance(source, str):
...@@ -677,14 +674,9 @@ class ModifiedInterpreter(InteractiveInterpreter): ...@@ -677,14 +674,9 @@ class ModifiedInterpreter(InteractiveInterpreter):
# self.tkconsole.resetoutput() # self.tkconsole.resetoutput()
# self.write("Unsupported characters in input\n") # self.write("Unsupported characters in input\n")
# return # return
try: # InteractiveInterpreter.runsource() calls its runcode() method,
# InteractiveInterpreter.runsource() calls its runcode() method, # which is overridden (see below)
# which is overridden (see below) return InteractiveInterpreter.runsource(self, source, filename)
return InteractiveInterpreter.runsource(self, source, filename)
finally:
if self.save_warnings_filters is not None:
warnings.filters[:] = self.save_warnings_filters
self.save_warnings_filters = None
def stuffsource(self, source): def stuffsource(self, source):
"Stuff source in the filename cache" "Stuff source in the filename cache"
...@@ -763,9 +755,6 @@ class ModifiedInterpreter(InteractiveInterpreter): ...@@ -763,9 +755,6 @@ class ModifiedInterpreter(InteractiveInterpreter):
if self.tkconsole.executing: if self.tkconsole.executing:
self.interp.restart_subprocess() self.interp.restart_subprocess()
self.checklinecache() self.checklinecache()
if self.save_warnings_filters is not None:
warnings.filters[:] = self.save_warnings_filters
self.save_warnings_filters = None
debugger = self.debugger debugger = self.debugger
try: try:
self.tkconsole.beginexecuting() self.tkconsole.beginexecuting()
......
Properly handle user input warnings in IDLE shell. Cease turning
SyntaxWarnings into SyntaxErrors.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment