patch 8.2.1501: Vim9: concatenating to constant reverses order
Problem: Vim9: concatenating to constant reverses order.
Solution: Generate constant before option, register and environment
variable. (closes #6757)
diff --git a/src/vim9compile.c b/src/vim9compile.c
index f193645..b9d8caa 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -3402,19 +3402,25 @@
/*
* Option value: &name
*/
- case '&': ret = compile_get_option(arg, cctx);
+ case '&': if (generate_ppconst(cctx, ppconst) == FAIL)
+ return FAIL;
+ ret = compile_get_option(arg, cctx);
break;
/*
* Environment variable: $VAR.
*/
- case '$': ret = compile_get_env(arg, cctx);
+ case '$': if (generate_ppconst(cctx, ppconst) == FAIL)
+ return FAIL;
+ ret = compile_get_env(arg, cctx);
break;
/*
* Register contents: @r.
*/
- case '@': ret = compile_get_register(arg, cctx);
+ case '@': if (generate_ppconst(cctx, ppconst) == FAIL)
+ return FAIL;
+ ret = compile_get_register(arg, cctx);
break;
/*
* nested expression: (expression).