forked from aniani/vim
patch 7.4.1119
Problem: argidx() has a wrong value after ":%argdelete". (Yegappan Lakshmanan) Solution: Correct the value of w_arg_idx. Add a test.
This commit is contained in:
parent
a99b90437a
commit
72defda84e
@ -2562,6 +2562,10 @@ ex_argdelete(eap)
|
|||||||
curwin->w_arg_idx -= n;
|
curwin->w_arg_idx -= n;
|
||||||
else if (curwin->w_arg_idx > eap->line1)
|
else if (curwin->w_arg_idx > eap->line1)
|
||||||
curwin->w_arg_idx = eap->line1;
|
curwin->w_arg_idx = eap->line1;
|
||||||
|
if (ARGCOUNT == 0)
|
||||||
|
curwin->w_arg_idx = 0;
|
||||||
|
else if (curwin->w_arg_idx >= ARGCOUNT)
|
||||||
|
curwin->w_arg_idx = ARGCOUNT - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (*eap->arg == NUL)
|
else if (*eap->arg == NUL)
|
||||||
|
@ -171,7 +171,8 @@ SCRIPTS_GUI = test16.out
|
|||||||
|
|
||||||
# Tests using runtest.vim.vim.
|
# Tests using runtest.vim.vim.
|
||||||
# Keep test_alot.res as the last one, sort the others.
|
# Keep test_alot.res as the last one, sort the others.
|
||||||
NEW_TESTS = test_assert.res \
|
NEW_TESTS = test_arglist.res \
|
||||||
|
test_assert.res \
|
||||||
test_cdo.res \
|
test_cdo.res \
|
||||||
test_hardcopy.res \
|
test_hardcopy.res \
|
||||||
test_increment.res \
|
test_increment.res \
|
||||||
|
22
src/testdir/test_arglist.vim
Normal file
22
src/testdir/test_arglist.vim
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
" Test argument list commands
|
||||||
|
|
||||||
|
func Test_argidx()
|
||||||
|
args a b c
|
||||||
|
last
|
||||||
|
call assert_equal(2, argidx())
|
||||||
|
%argdelete
|
||||||
|
call assert_equal(0, argidx())
|
||||||
|
|
||||||
|
args a b c
|
||||||
|
call assert_equal(0, argidx())
|
||||||
|
next
|
||||||
|
call assert_equal(1, argidx())
|
||||||
|
next
|
||||||
|
call assert_equal(2, argidx())
|
||||||
|
1argdelete
|
||||||
|
call assert_equal(1, argidx())
|
||||||
|
1argdelete
|
||||||
|
call assert_equal(0, argidx())
|
||||||
|
1argdelete
|
||||||
|
call assert_equal(0, argidx())
|
||||||
|
endfunc
|
@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1119,
|
||||||
/**/
|
/**/
|
||||||
1118,
|
1118,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user