[Python-checkins] r52083 - python/trunk/Lib/idlelib/NEWS.txt python/trunk/Lib/idlelib/ScriptBinding.py

kurt.kaiser python-checkins at python.org
Sun Oct 1 23:16:45 CEST 2006


Author: kurt.kaiser
Date: Sun Oct  1 23:16:45 2006
New Revision: 52083

Modified:
   python/trunk/Lib/idlelib/NEWS.txt
   python/trunk/Lib/idlelib/ScriptBinding.py
Log:
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



Modified: python/trunk/Lib/idlelib/NEWS.txt
==============================================================================
--- python/trunk/Lib/idlelib/NEWS.txt	(original)
+++ python/trunk/Lib/idlelib/NEWS.txt	Sun Oct  1 23:16:45 2006
@@ -3,6 +3,10 @@
 
 *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.
 

Modified: python/trunk/Lib/idlelib/ScriptBinding.py
==============================================================================
--- python/trunk/Lib/idlelib/ScriptBinding.py	(original)
+++ python/trunk/Lib/idlelib/ScriptBinding.py	Sun Oct  1 23:16:45 2006
@@ -57,9 +57,10 @@
         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 @@
             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 @@
         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:


More information about the Python-checkins mailing list