Commit c426ffcd authored by Kurt B. Kaiser's avatar Kurt B. Kaiser

Some syntax errors were being caught by tokenize during the tabnanny

check, resulting in obscure error messages.  Do the syntax check
first.  Bug 1562716, 1562719
parent 54c3db55
...@@ -3,6 +3,10 @@ What's New in IDLE 2.6a1? ...@@ -3,6 +3,10 @@ What's New in IDLE 2.6a1?
*Release date: XX-XXX-200X* *Release date: XX-XXX-200X*
- Some syntax errors were being caught by tokenize during the tabnanny
check, resulting in obscure error messages. Do the syntax check
first. Bug 1562716, 1562719
- IDLE's version number takes a big jump to match the version number of - IDLE's version number takes a big jump to match the version number of
the Python release of which it's a part. the Python release of which it's a part.
......
...@@ -57,9 +57,10 @@ class ScriptBinding: ...@@ -57,9 +57,10 @@ class ScriptBinding:
filename = self.getfilename() filename = self.getfilename()
if not filename: if not filename:
return return
if not self.checksyntax(filename):
return
if not self.tabnanny(filename): if not self.tabnanny(filename):
return return
self.checksyntax(filename)
def tabnanny(self, filename): def tabnanny(self, filename):
f = open(filename, 'r') f = open(filename, 'r')
...@@ -76,9 +77,6 @@ class ScriptBinding: ...@@ -76,9 +77,6 @@ class ScriptBinding:
self.editwin.gotoline(nag.get_lineno()) self.editwin.gotoline(nag.get_lineno())
self.errorbox("Tab/space error", indent_message) self.errorbox("Tab/space error", indent_message)
return False return False
except IndentationError:
# From tokenize(), let compile() in checksyntax find it again.
pass
return True return True
def checksyntax(self, filename): def checksyntax(self, filename):
...@@ -139,11 +137,11 @@ class ScriptBinding: ...@@ -139,11 +137,11 @@ class ScriptBinding:
filename = self.getfilename() filename = self.getfilename()
if not filename: if not filename:
return return
if not self.tabnanny(filename):
return
code = self.checksyntax(filename) code = self.checksyntax(filename)
if not code: if not code:
return return
if not self.tabnanny(filename):
return
shell = self.shell shell = self.shell
interp = shell.interp interp = shell.interp
if PyShell.use_subprocess: if PyShell.use_subprocess:
......
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