patch 8.2.3347: check for legacy script is incomplete
Problem: Check for legacy script is incomplete. (Naohiro Ono)
Solution: Also check the :legacy modifier. Use for string concatenation
with "." and others (issue #8756)
diff --git a/src/vim9script.c b/src/vim9script.c
index 66305a3..1999109 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -34,6 +34,18 @@
#if defined(FEAT_EVAL) || defined(PROTO)
/*
+ * Return TRUE when currently in a script with script version smaller than
+ * "max_version" or command modifiers forced it.
+ */
+ int
+in_old_script(int max_version)
+{
+ return (current_sctx.sc_version <= max_version
+ && !(cmdmod.cmod_flags & CMOD_VIM9CMD))
+ || (cmdmod.cmod_flags & CMOD_LEGACY);
+}
+
+/*
* Return TRUE if the current script is Vim9 script.
* This also returns TRUE in a legacy function in a Vim9 script.
*/