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);
|
||||
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;
|
||||
|
@ -725,6 +725,8 @@ func Test_address_line_overflow()
|
||||
call setline(1, range(100))
|
||||
call assert_fails('|.44444444444444444444444', 'E1247:')
|
||||
call assert_fails('|.9223372036854775806', 'E1247:')
|
||||
call assert_fails('.44444444444444444444444d', 'E1247:')
|
||||
call assert_equal(range(100)->map('string(v:val)'), getline(1, '$'))
|
||||
|
||||
$
|
||||
yank 77777777777777777777
|
||||
|
Loading…
Reference in New Issue
Block a user