summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-07-24 18:47:22 +0200
committerBram Moolenaar <Bram@vim.org>2020-07-24 18:47:22 +0200
commit13e12b8a3c0fec29017f2dbdc6f57e372f8a7efd (patch)
tree070215930b7607ee2bd4df9213af0484b016be58
parent40f4f7a48cae491f83bd3cdbf7e9b5a23ed870ef (diff)
downloadvim-git-13e12b8a3c0fec29017f2dbdc6f57e372f8a7efd.tar.gz
patch 8.2.1288: Vim9: cannot use mark in rangev8.2.1288
Problem: Vim9: cannot use mark in range. Solution: Use the flag that a colon was seen. (closes #6528)
-rw-r--r--src/ex_docmd.c2
-rw-r--r--src/testdir/test_vim9_func.vim9
-rw-r--r--src/version.c2
3 files changed, 12 insertions, 1 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 85747d5f4..5459cfd7b 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1773,7 +1773,7 @@ do_one_cmd(
*/
cmd = ea.cmd;
#ifdef FEAT_EVAL
- starts_with_quote = vim9script && *ea.cmd == '\'';
+ starts_with_quote = vim9script && !starts_with_colon && *ea.cmd == '\'';
if (!starts_with_quote)
#endif
ea.cmd = skip_range(ea.cmd, NULL);
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index b0bbab3fd..ef98583fe 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -405,6 +405,7 @@ def Test_vim9script_call()
("some")->MyFunc()
assert_equal('some', var)
+ # line starting with single quote is not a mark
'asdfasdf'->MyFunc()
assert_equal('asdfasdf', var)
@@ -414,6 +415,14 @@ def Test_vim9script_call()
UseString()
assert_equal('xyork', var)
+ # prepending a colon makes it a mark
+ new
+ setline(1, ['aaa', 'bbb', 'ccc'])
+ normal! 3Gmt1G
+ :'t
+ assert_equal(3, getcurpos()[1])
+ bwipe!
+
MyFunc(
'continued'
)
diff --git a/src/version.c b/src/version.c
index 8f8ebc6ff..14044481a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1288,
+/**/
1287,
/**/
1286,