From: "Tim Peters" <tim_one@msn.com>

The 1.5.1 tabnanny.py suffers an assert error if fed a script whose last
line is both indented and lacks a newline:

if 1:
    print 'oh fudge' # no newline here:

The attached version repairs that.
diff --git a/Lib/tabnanny.py b/Lib/tabnanny.py
index 6dca8af..a9bd9dc 100755
--- a/Lib/tabnanny.py
+++ b/Lib/tabnanny.py
@@ -2,9 +2,9 @@
 
 """The Tab Nanny despises ambiguous indentation.  She knows no mercy."""
 
-# Released to the public domain, by Tim Peters, 6 April 1998.
+# Released to the public domain, by Tim Peters, 15 April 1998.
 
-__version__ = "4"
+__version__ = "5"
 
 import os
 import sys
@@ -270,7 +270,13 @@
          # that when the run of DEDENTs ends, the indentation of the
          # program statement (or ENDMARKER) that triggered the run is
          # equal to what's left at the top of the indents stack
-         assert check_equal  # else no earlier NEWLINE, or an earlier INDENT
+
+         # Ouch!  This assert triggers if the last line of the source
+         # is indented *and* lacks a newline -- then DEDENTs pop out
+         # of thin air.
+         # assert check_equal  # else no earlier NEWLINE, or an earlier INDENT
+         check_equal = 1
+
          del indents[-1]
 
      elif check_equal and type not in JUNK: