Commit 9f11f397 authored by Mark Dickinson's avatar Mark Dickinson

Merged revisions 82400 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82400 | mark.dickinson | 2010-06-30 17:27:57 +0100 (Wed, 30 Jun 2010) | 2 lines

  Issue #9125:  Update parser module for "except ... as ..." syntax.
........
parent 284bc0e7
......@@ -210,6 +210,12 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase):
self.check_suite("try: pass\nexcept: pass\nelse: pass\n"
"finally: pass\n")
def test_except_clause(self):
self.check_suite("try: pass\nexcept: pass\n")
self.check_suite("try: pass\nexcept A: pass\n")
self.check_suite("try: pass\nexcept A, e: pass\n")
self.check_suite("try: pass\nexcept A as e: pass\n")
def test_position(self):
# An absolutely minimal test of position information. Better
# tests would be a big project.
......
......@@ -73,6 +73,8 @@ C-API
Library
-------
- Issue #9125: Add recognition of 'except ... as ...' syntax to parser module.
- Issue #9085: email package version number bumped to its correct
value of 4.0.2 (same as it was in 2.5).
......
......@@ -2126,10 +2126,13 @@ validate_except_clause(node *tree)
if (res && (nch > 1))
res = validate_test(CHILD(tree, 1));
if (res && (nch == 4))
res = (validate_comma(CHILD(tree, 2))
&& validate_test(CHILD(tree, 3)));
if (res && (nch == 4)) {
if (TYPE(CHILD(tree, 2)) == NAME)
res = validate_name(CHILD(tree, 2), "as");
else
res = validate_comma(CHILD(tree, 2));
res = res && validate_test(CHILD(tree, 3));
}
return (res);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment