patch 8.2.2444: Vim9: compile error with combination of operator and list
Problem: Vim9: compile error with combination of operator and list.
Solution: Generate constants before parsing a list or dict. (closes #7757)
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 5b9f7f5..a9edc80 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -4121,13 +4121,17 @@
/*
* List: [expr, expr]
*/
- case '[': ret = compile_list(arg, cctx, ppconst);
+ case '[': if (generate_ppconst(cctx, ppconst) == FAIL)
+ return FAIL;
+ ret = compile_list(arg, cctx, ppconst);
break;
/*
* Dictionary: {'key': val, 'key': val}
*/
- case '{': ret = compile_dict(arg, cctx, ppconst);
+ case '{': if (generate_ppconst(cctx, ppconst) == FAIL)
+ return FAIL;
+ ret = compile_dict(arg, cctx, ppconst);
break;
/*