summaryrefslogtreecommitdiff
path: root/Lib/idlelib/ScriptBinding.py
diff options
context:
space:
mode:
authorKurt B. Kaiser <kbk@shore.net>2008-02-14 03:25:59 +0000
committerKurt B. Kaiser <kbk@shore.net>2008-02-14 03:25:59 +0000
commit6493ade54db699f22cb309024e1d1a93cb509484 (patch)
treead1026be1adba4a2b3fbcd75d41b026b50b451b7 /Lib/idlelib/ScriptBinding.py
parentb80a19453175a5e459a0aca462ddcc75e36a5df7 (diff)
downloadcpython-git-6493ade54db699f22cb309024e1d1a93cb509484.tar.gz
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 Backport of r52083
Diffstat (limited to 'Lib/idlelib/ScriptBinding.py')
-rw-r--r--Lib/idlelib/ScriptBinding.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/Lib/idlelib/ScriptBinding.py b/Lib/idlelib/ScriptBinding.py
index f325ad1d25..3746eb8304 100644
--- a/Lib/idlelib/ScriptBinding.py
+++ b/Lib/idlelib/ScriptBinding.py
@@ -57,9 +57,10 @@ class ScriptBinding:
filename = self.getfilename()
if not filename:
return
+ if not self.checksyntax(filename):
+ return
if not self.tabnanny(filename):
return
- self.checksyntax(filename)
def tabnanny(self, filename):
f = open(filename, 'r')
@@ -76,9 +77,6 @@ class ScriptBinding:
self.editwin.gotoline(nag.get_lineno())
self.errorbox("Tab/space error", indent_message)
return False
- except IndentationError:
- # From tokenize(), let compile() in checksyntax find it again.
- pass
return True
def checksyntax(self, filename):
@@ -139,11 +137,11 @@ class ScriptBinding:
filename = self.getfilename()
if not filename:
return
- if not self.tabnanny(filename):
- return
code = self.checksyntax(filename)
if not code:
return
+ if not self.tabnanny(filename):
+ return
shell = self.shell
interp = shell.interp
if PyShell.use_subprocess: