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
This commit is contained in:
parent
b80a194531
commit
6493ade54d
|
@ -3,6 +3,10 @@ What's New in IDLE 1.2.2c1?
|
||||||
|
|
||||||
*Release date: XX-FEB-2008*
|
*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.
|
- 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
|
- OSX: Avoid crash for those versions of Tcl/Tk which don't have a console
|
||||||
|
|
|
@ -57,9 +57,10 @@ class ScriptBinding:
|
||||||
filename = self.getfilename()
|
filename = self.getfilename()
|
||||||
if not filename:
|
if not filename:
|
||||||
return
|
return
|
||||||
|
if not self.checksyntax(filename):
|
||||||
|
return
|
||||||
if not self.tabnanny(filename):
|
if not self.tabnanny(filename):
|
||||||
return
|
return
|
||||||
self.checksyntax(filename)
|
|
||||||
|
|
||||||
def tabnanny(self, filename):
|
def tabnanny(self, filename):
|
||||||
f = open(filename, 'r')
|
f = open(filename, 'r')
|
||||||
|
@ -76,9 +77,6 @@ class ScriptBinding:
|
||||||
self.editwin.gotoline(nag.get_lineno())
|
self.editwin.gotoline(nag.get_lineno())
|
||||||
self.errorbox("Tab/space error", indent_message)
|
self.errorbox("Tab/space error", indent_message)
|
||||||
return False
|
return False
|
||||||
except IndentationError:
|
|
||||||
# From tokenize(), let compile() in checksyntax find it again.
|
|
||||||
pass
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def checksyntax(self, filename):
|
def checksyntax(self, filename):
|
||||||
|
@ -139,11 +137,11 @@ class ScriptBinding:
|
||||||
filename = self.getfilename()
|
filename = self.getfilename()
|
||||||
if not filename:
|
if not filename:
|
||||||
return
|
return
|
||||||
if not self.tabnanny(filename):
|
|
||||||
return
|
|
||||||
code = self.checksyntax(filename)
|
code = self.checksyntax(filename)
|
||||||
if not code:
|
if not code:
|
||||||
return
|
return
|
||||||
|
if not self.tabnanny(filename):
|
||||||
|
return
|
||||||
shell = self.shell
|
shell = self.shell
|
||||||
interp = shell.interp
|
interp = shell.interp
|
||||||
if PyShell.use_subprocess:
|
if PyShell.use_subprocess:
|
||||||
|
|
Loading…
Reference in New Issue