bpo-43823: Fix location of one of the errors for invalid dictionary literals (GH-25427)
diff --git a/Grammar/python.gram b/Grammar/python.gram
index e5baac3..d91e887 100644
--- a/Grammar/python.gram
+++ b/Grammar/python.gram
@@ -899,6 +899,7 @@
| expression ':' a='*' bitwise_or { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "cannot use a starred expression in a dictionary value") }
| expression a=':' &('}'|',') { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "expression expected after dictionary key and ':'") }
invalid_kvpair:
- | a=expression !(':') { RAISE_SYNTAX_ERROR("':' expected after dictionary key") }
+ | a=expression !(':') {
+ RAISE_ERROR_KNOWN_LOCATION(p, PyExc_SyntaxError, a->lineno, a->end_col_offset - 1, "':' expected after dictionary key") }
| expression ':' a='*' bitwise_or { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "cannot use a starred expression in a dictionary value") }
| expression a=':' {RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, "expression expected after dictionary key and ':'") }