changeset 21475:eec2d2120cde v8.2.1288

patch 8.2.1288: Vim9: cannot use mark in range Commit: https://github.com/vim/vim/commit/13e12b8a3c0fec29017f2dbdc6f57e372f8a7efd Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jul 24 18:47:22 2020 +0200 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 https://github.com/vim/vim/issues/6528)
author Bram Moolenaar <Bram@vim.org>
date Fri, 24 Jul 2020 19:00:05 +0200
parents 0a87961c9226
children 0b980eeee05d
files src/ex_docmd.c src/testdir/test_vim9_func.vim src/version.c
diffstat 3 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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);
--- 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'
         )
--- 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,