patch 8.2.1288: Vim9: cannot use mark in range
Problem: Vim9: cannot use mark in range.
Solution: Use the flag that a colon was seen. (closes #6528)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 85747d5..5459cfd 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1773,7 +1773,7 @@
*/
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 b0bbab3..ef98583 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -405,6 +405,7 @@
("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 @@
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 8f8ebc6..1404448 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1288,
+/**/
1287,
/**/
1286,