mirror of
https://github.com/python/cpython.git
synced 2025-08-23 18:24:46 +00:00
bpo-37824: Properly handle user input warnings in IDLE shell. (GH-15500)
Cease turning SyntaxWarnings into SyntaxErrors.
(cherry picked from commit 1039f39c9c
)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
parent
352a1239ff
commit
077887059a
3 changed files with 11 additions and 14 deletions
|
@ -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):
|
||||||
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):
|
||||||
"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):
|
||||||
# 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):
|
||||||
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()
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Properly handle user input warnings in IDLE shell. Cease turning
|
||||||
|
SyntaxWarnings into SyntaxErrors.
|
Loading…
Add table
Add a link
Reference in a new issue