changeset 23346:2060f53b7c17 v8.2.2216

patch 8.2.2216: Vim9: range with missing colon can be hard to spot Commit: https://github.com/vim/vim/commit/6e2c2c50bada4e3f5c7234902c0bdd64f66619ac Author: Bram Moolenaar <Bram@vim.org> Date: Fri Dec 25 19:25:45 2020 +0100 patch 8.2.2216: Vim9: range with missing colon can be hard to spot Problem: Vim9: range with missing colon can be hard to spot. Solution: Include the start of the range in the error. (closes https://github.com/vim/vim/issues/7543)
author Bram Moolenaar <Bram@vim.org>
date Fri, 25 Dec 2020 19:30:03 +0100
parents 3cfaf9e39808
children e4c816576c42
files src/errors.h src/ex_docmd.c src/testdir/test_vim9_cmd.vim src/version.c src/vim9compile.c
diffstat 5 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/errors.h
+++ b/src/errors.h
@@ -133,8 +133,8 @@ EXTERN char e_item_not_found_in_script_s
 	INIT(= N_("E1048: Item not found in script: %s"));
 EXTERN char e_item_not_exported_in_script_str[]
 	INIT(= N_("E1049: Item not exported in script: %s"));
-EXTERN char e_colon_required_before_a_range[]
-	INIT(= N_("E1050: Colon required before a range"));
+EXTERN char e_colon_required_before_range_str[]
+	INIT(= N_("E1050: Colon required before a range: %s"));
 EXTERN char e_wrong_argument_type_for_plus[]
 	INIT(= N_("E1051: Wrong argument type for +"));
 EXTERN char e_cannot_declare_an_option[]
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1839,7 +1839,7 @@ do_one_cmd(
 	    // message.
 	    if (ar > ea.cmd)
 	    {
-		emsg(_(e_colon_required_before_a_range));
+		semsg(_(e_colon_required_before_range_str), ea.cmd);
 		goto doend;
 	    }
 	}
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -549,7 +549,7 @@ def Test_modifier_silent_unsilent()
 enddef
 
 def Test_range_after_command_modifier()
-  CheckScriptFailure(['vim9script', 'silent keepjump 1d _'], 'E1050:', 2)
+  CheckScriptFailure(['vim9script', 'silent keepjump 1d _'], 'E1050: Colon required before a range: 1d _', 2)
   new
   setline(1, 'xxx')
   CheckScriptSuccess(['vim9script', 'silent keepjump :1d _'])
--- 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 */
 /**/
+    2216,
+/**/
     2215,
 /**/
     2214,
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -7727,7 +7727,7 @@ compile_def_function(ufunc_T *ufunc, int
 	    {
 		if (!starts_with_colon)
 		{
-		    emsg(_(e_colon_required_before_a_range));
+		    semsg(_(e_colon_required_before_range_str), cmd);
 		    goto erret;
 		}
 		if (ends_excmd2(line, ea.cmd))