patch 8.1.1822: confusing error message when range is not allowed
Problem: Confusing error message when range is not allowed.
Solution: With ADDR_NONE give e_norange. Change e_invaddr to e_invrange for
consistency.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 74adb84..6df1c31 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4208,6 +4208,15 @@
return cmd;
}
+ static void
+addr_error(cmd_addr_T addr_type)
+{
+ if (addr_type == ADDR_NONE)
+ emsg(_(e_norange));
+ else
+ emsg(_(e_invrange));
+}
+
/*
* Get a single EX address.
*
@@ -4264,10 +4273,10 @@
case ADDR_TABS:
lnum = CURRENT_TAB_NR;
break;
- case ADDR_TABS_RELATIVE:
case ADDR_NONE:
+ case ADDR_TABS_RELATIVE:
case ADDR_UNSIGNED:
- emsg(_(e_invrange));
+ addr_error(addr_type);
cmd = NULL;
goto error;
break;
@@ -4314,10 +4323,10 @@
case ADDR_TABS:
lnum = LAST_TAB_NR;
break;
- case ADDR_TABS_RELATIVE:
case ADDR_NONE:
+ case ADDR_TABS_RELATIVE:
case ADDR_UNSIGNED:
- emsg(_(e_invrange));
+ addr_error(addr_type);
cmd = NULL;
goto error;
break;
@@ -4346,7 +4355,7 @@
}
if (addr_type != ADDR_LINES)
{
- emsg(_(e_invaddr));
+ addr_error(addr_type);
cmd = NULL;
goto error;
}
@@ -4378,7 +4387,7 @@
c = *cmd++;
if (addr_type != ADDR_LINES)
{
- emsg(_(e_invaddr));
+ addr_error(addr_type);
cmd = NULL;
goto error;
}
@@ -4428,7 +4437,7 @@
++cmd;
if (addr_type != ADDR_LINES)
{
- emsg(_(e_invaddr));
+ addr_error(addr_type);
cmd = NULL;
goto error;
}
@@ -7926,7 +7935,7 @@
*/
if (n == MAXLNUM || n < 0 || n > curbuf->b_ml.ml_line_count)
{
- emsg(_(e_invaddr));
+ emsg(_(e_invrange));
return;
}