diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-01-17 18:04:33 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-01-17 18:04:33 +0100 |
commit | 72defda84eb26be9e2ade56c7877b912f818026e (patch) | |
tree | a792b22a989a61314b949f6c7c426e8b82f402e6 /src/ex_cmds2.c | |
parent | a99b90437af730dcafd9143c0942c87777a00d52 (diff) |
patch 7.4.1119v7.4.1119
Problem: argidx() has a wrong value after ":%argdelete". (Yegappan
Lakshmanan)
Solution: Correct the value of w_arg_idx. Add a test.
Diffstat (limited to 'src/ex_cmds2.c')
-rw-r--r-- | src/ex_cmds2.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 5b113668d1..012a1af222 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -2562,6 +2562,10 @@ ex_argdelete(eap) curwin->w_arg_idx -= n; else if (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) |