patch 8.2.3178: Vim9: the file name of an :import cannot be an expression
Problem: Vim9: the file name of an :import cannot be an expression.
Solution: Accept an expression that results in a string. Do not support
:import in a function.
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 9ae11a5..12dd198 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -4335,7 +4335,6 @@
semsg(_(e_missing_paren), *arg);
return FAIL;
}
- // TODO: base value may not be the first argument
if (compile_call(arg, p - *arg, cctx, ppconst, 1) == FAIL)
return FAIL;
}
@@ -7294,15 +7293,6 @@
}
/*
- * Compile an :import command.
- */
- static char_u *
-compile_import(char_u *arg, cctx_T *cctx)
-{
- return handle_import(arg, &cctx->ctx_imports, 0, NULL, cctx);
-}
-
-/*
* generate a jump to the ":endif"/":endfor"/":endwhile"/":finally"/":endtry".
*/
static int
@@ -9638,7 +9628,8 @@
break;
case CMD_import:
- line = compile_import(p, &cctx);
+ emsg(_(e_import_can_only_be_used_in_script));
+ line = NULL;
break;
case CMD_if: