summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/ScriptBinding.py
diff options
context:
space:
mode:
authorKurt B. Kaiser <kbk@shore.net>2008-02-14 03:25:59 (GMT)
committerKurt B. Kaiser <kbk@shore.net>2008-02-14 03:25:59 (GMT)
commit6493ade54db699f22cb309024e1d1a93cb509484 (patch)
treead1026be1adba4a2b3fbcd75d41b026b50b451b7 /Lib/idlelib/ScriptBinding.py
parentb80a19453175a5e459a0aca462ddcc75e36a5df7 (diff)
downloadcpython-6493ade54db699f22cb309024e1d1a93cb509484.zip
cpython-6493ade54db699f22cb309024e1d1a93cb509484.tar.gz
cpython-6493ade54db699f22cb309024e1d1a93cb509484.tar.bz2
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 f325ad1..3746eb8 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: