diff options
author | Kurt B. Kaiser <kbk@shore.net> | 2008-02-14 03:25:59 +0000 |
---|---|---|
committer | Kurt B. Kaiser <kbk@shore.net> | 2008-02-14 03:25:59 +0000 |
commit | 6493ade54db699f22cb309024e1d1a93cb509484 (patch) | |
tree | ad1026be1adba4a2b3fbcd75d41b026b50b451b7 /Lib/idlelib | |
parent | b80a19453175a5e459a0aca462ddcc75e36a5df7 (diff) | |
download | cpython-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')
-rw-r--r-- | Lib/idlelib/NEWS.txt | 4 | ||||
-rw-r--r-- | Lib/idlelib/ScriptBinding.py | 10 |
2 files changed, 8 insertions, 6 deletions
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt index 42c291b4c3..178aee4710 100644 --- a/Lib/idlelib/NEWS.txt +++ b/Lib/idlelib/NEWS.txt @@ -3,6 +3,10 @@ What's New in IDLE 1.2.2c1? *Release date: XX-FEB-2008* +- 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 r52083) + - Patch 1693258: Fix for duplicate "preferences" menu-OS X. Backport of r56204. - OSX: Avoid crash for those versions of Tcl/Tk which don't have a console 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: |