patch 8.2.2931: Vim9: line continuation comment uses legacy syntax
Problem: Vim9: line continuation comment still uses legacy syntax in one
place.
Solution: Check for #\ instead of "\ earlier. (closes #8316)
diff --git a/src/scriptfile.c b/src/scriptfile.c
index 15338be..bbc4156 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1788,6 +1788,8 @@
if (line != NULL && options != GETLINE_NONE
&& vim_strchr(p_cpo, CPO_CONCAT) == NULL)
{
+ int comment_char = in_vim9script() ? '#' : '"';
+
// compensate for the one line read-ahead
--sp->sourcing_lnum;
@@ -1800,7 +1802,8 @@
sp->nextline = get_one_sourceline(sp);
if (sp->nextline != NULL
&& (*(p = skipwhite(sp->nextline)) == '\\'
- || (p[0] == '"' && p[1] == '\\' && p[2] == ' ')
+ || (p[0] == comment_char
+ && p[1] == '\\' && p[2] == ' ')
|| (do_vim9_all && (*p == NUL
|| vim9_comment_start(p)))
|| (do_bar_cont && p[0] == '|' && p[1] != '|')))
@@ -1842,7 +1845,7 @@
ga_concat(&ga, p);
}
}
- else if (!(p[0] == (in_vim9script() ? '#' : '"')
+ else if (!(p[0] == (comment_char)
&& p[1] == '\\' && p[2] == ' ')
&& !(do_vim9_all && (*p == NUL || vim9_comment_start(p))))
break;
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index ee32495..d5951c6 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -3081,6 +3081,9 @@
\ start='foo'
#\ comment
\ end='bar'
+ syn region Text start='foo'
+ #\ comment
+ \ end='bar'
END
CheckScriptSuccess(lines)
diff --git a/src/version.c b/src/version.c
index f89a149..57a4dcd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2931,
+/**/
2930,
/**/
2929,