vim-patch:9.1.0579: Ex command is still executed after giving E1247

Problem:  Ex command is still executed after giving E1247.
Solution: Indicate the error properly and set cmd to NULL.
          (zeertzjq)

closes: vim/vim#15241

d1b5ea984d
This commit is contained in:
zeertzjq
2024-07-14 06:09:53 +08:00
parent 5531c95101
commit 3700d94c6f
2 changed files with 4 additions and 0 deletions

View File

@@ -3619,6 +3619,7 @@ static linenr_T get_address(exarg_T *eap, char **ptr, cmd_addr_T addr_type, bool
n = getdigits_int32(&cmd, false, MAXLNUM);
if (n == MAXLNUM) {
*errormsg = _(e_line_number_out_of_range);
cmd = NULL;
goto error;
}
}
@@ -3641,6 +3642,7 @@ static linenr_T get_address(exarg_T *eap, char **ptr, cmd_addr_T addr_type, bool
} else {
if (lnum >= 0 && n >= INT32_MAX - lnum) {
*errormsg = _(e_line_number_out_of_range);
cmd = NULL;
goto error;
}
lnum += n;