Add tests and news entry about parser errors from bug #678518.
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py
index 81708b5..d78344e 100644
--- a/Lib/test/test_parser.py
+++ b/Lib/test/test_parser.py
@@ -134,6 +134,13 @@
         self.check_suite("import sys as system, math")
         self.check_suite("import sys, math as my_math")
 
+    def test_pep263(self):
+        self.check_suite("# -*- coding: iso-8859-1 -*-\n"
+                         "pass\n")
+
+    def test_assert(self):
+        self.check_suite("assert alo < ahi and blo < bhi\n")
+
 #
 #  Second, we take *invalid* trees and make sure we get ParserError
 #  rejections for them.
@@ -355,6 +362,16 @@
          (0, ''))
         self.check_bad_tree(tree, "a $= b")
 
+    def test_malformed_global(self):
+        #doesn't have global keyword in ast
+        tree = (257,
+                (264,
+                 (265,
+                  (266,
+                   (282, (1, 'foo'))), (4, ''))),
+                (4, ''),
+                (0, '')) 
+        self.check_bad_tree(tree, "malformed global ast")
 
 def test_main():
     loader = unittest.TestLoader()
diff --git a/Misc/NEWS b/Misc/NEWS
index d262b67..b0683ee 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -42,6 +42,8 @@
 Extension modules
 -----------------
 
+- Fix some bugs in the parser module.  SF bug #678518.
+
 - Thanks to Scott David Daniels, a subtle bug in how the zlib
   extension implemented flush() was fixed.  Scott also rewrote the
   zlib test suite using the unittest module.  (SF bug #640230 and