mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
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:
parent
5531c95101
commit
3700d94c6f
@ -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);
|
n = getdigits_int32(&cmd, false, MAXLNUM);
|
||||||
if (n == MAXLNUM) {
|
if (n == MAXLNUM) {
|
||||||
*errormsg = _(e_line_number_out_of_range);
|
*errormsg = _(e_line_number_out_of_range);
|
||||||
|
cmd = NULL;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3641,6 +3642,7 @@ static linenr_T get_address(exarg_T *eap, char **ptr, cmd_addr_T addr_type, bool
|
|||||||
} else {
|
} else {
|
||||||
if (lnum >= 0 && n >= INT32_MAX - lnum) {
|
if (lnum >= 0 && n >= INT32_MAX - lnum) {
|
||||||
*errormsg = _(e_line_number_out_of_range);
|
*errormsg = _(e_line_number_out_of_range);
|
||||||
|
cmd = NULL;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
lnum += n;
|
lnum += n;
|
||||||
|
@ -725,6 +725,8 @@ func Test_address_line_overflow()
|
|||||||
call setline(1, range(100))
|
call setline(1, range(100))
|
||||||
call assert_fails('|.44444444444444444444444', 'E1247:')
|
call assert_fails('|.44444444444444444444444', 'E1247:')
|
||||||
call assert_fails('|.9223372036854775806', 'E1247:')
|
call assert_fails('|.9223372036854775806', 'E1247:')
|
||||||
|
call assert_fails('.44444444444444444444444d', 'E1247:')
|
||||||
|
call assert_equal(range(100)->map('string(v:val)'), getline(1, '$'))
|
||||||
|
|
||||||
$
|
$
|
||||||
yank 77777777777777777777
|
yank 77777777777777777777
|
||||||
|
Loading…
Reference in New Issue
Block a user