summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-06-03 21:56:10 +0200
committerBram Moolenaar <Bram@vim.org>2021-06-03 21:56:10 +0200
commit5072b47a223fb044041b8e7db59a17b3b1d8a625 (patch)
treedbe8e9251fda2908ae694a21e8ca182d057305cf
parent85eee5b969485142b54337cadadd65a38e7d7396 (diff)
downloadvim-git-5072b47a223fb044041b8e7db59a17b3b1d8a625.tar.gz
patch 8.2.2931: Vim9: line continuation comment uses legacy syntaxv8.2.2931
Problem: Vim9: line continuation comment still uses legacy syntax in one place. Solution: Check for #\ instead of "\ earlier. (closes #8316)
-rw-r--r--src/scriptfile.c7
-rw-r--r--src/testdir/test_vim9_script.vim3
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 2 deletions
diff --git a/src/scriptfile.c b/src/scriptfile.c
index 15338be63..bbc415664 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1788,6 +1788,8 @@ getsourceline(
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 @@ getsourceline(
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 @@ getsourceline(
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 ee324950f..d5951c647 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -3081,6 +3081,9 @@ def Test_vim9_comment()
\ 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 f89a1490f..57a4dcd26 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2931,
+/**/
2930,
/**/
2929,