summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib
diff options
context:
space:
mode:
authorKurt B. Kaiser <kbk@shore.net>2006-10-01 21:16:45 (GMT)
committerKurt B. Kaiser <kbk@shore.net>2006-10-01 21:16:45 (GMT)
commitc426ffcdfc12cbe13e307cf3897d99a5511fc8ca (patch)
treee5a2bb02f24cd4b40388d5d0eaa620a8e80664b0 /Lib/idlelib
parent54c3db55a2845396651db8cd12f7e99ec20aab92 (diff)
downloadcpython-c426ffcdfc12cbe13e307cf3897d99a5511fc8ca.zip
cpython-c426ffcdfc12cbe13e307cf3897d99a5511fc8ca.tar.gz
cpython-c426ffcdfc12cbe13e307cf3897d99a5511fc8ca.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
Diffstat (limited to 'Lib/idlelib')
-rw-r--r--Lib/idlelib/NEWS.txt4
-rw-r--r--Lib/idlelib/ScriptBinding.py10
2 files changed, 8 insertions, 6 deletions
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 3b3d79a..a869c13 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -3,6 +3,10 @@ What's New in IDLE 2.6a1?
*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
the Python release of which it's a part.
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: