summaryrefslogtreecommitdiffstats
path: root/Parser/string_parser.c
diff options
context:
space:
mode:
authorMaciej Górski <36813763+macgors@users.noreply.github.com>2022-03-28 21:08:36 (GMT)
committerGitHub <noreply@github.com>2022-03-28 21:08:36 (GMT)
commit7b44ade018cfe6f54002a3cee43e8aa415d4d635 (patch)
tree07816d9022fea4b902b69026360d912167410daf /Parser/string_parser.c
parent15ba8167d78f9e66bd5b07c4e5cbb0463460310a (diff)
downloadcpython-7b44ade018cfe6f54002a3cee43e8aa415d4d635.zip
cpython-7b44ade018cfe6f54002a3cee43e8aa415d4d635.tar.gz
cpython-7b44ade018cfe6f54002a3cee43e8aa415d4d635.tar.bz2
bpo-47129: Add more informative messages to f-string syntax errors (32127)
* Add more informative messages to f-string syntax errors * 📜🤖 Added by blurb_it. * Fix whitespaces * Change error message * Remove the 'else' statement (as sugested in review) Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Diffstat (limited to 'Parser/string_parser.c')
-rw-r--r--Parser/string_parser.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Parser/string_parser.c b/Parser/string_parser.c
index fae2a36..65ddd46 100644
--- a/Parser/string_parser.c
+++ b/Parser/string_parser.c
@@ -357,7 +357,12 @@ fstring_compile_expr(Parser *p, const char *expr_start, const char *expr_end,
break;
}
}
+
if (s == expr_end) {
+ if (*expr_end == '!' || *expr_end == ':' || *expr_end == '=') {
+ RAISE_SYNTAX_ERROR("f-string: expression required before '%c'", *expr_end);
+ return NULL;
+ }
RAISE_SYNTAX_ERROR("f-string: empty expression not allowed");
return NULL;
}