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.

72defda84e
This commit is contained in:
Jurica Bradaric
2016-05-14 12:26:03 +02:00
parent d02cfe8061
commit 1573aa0b0a
3 changed files with 40 additions and 3 deletions

View File

@@ -1861,11 +1861,17 @@ void ex_argdelete(exarg_T *eap)
} else if (curwin->w_arg_idx > eap->line1) {
curwin->w_arg_idx = (int)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) {
EMSG(_(e_argreq));
else
} else {
do_arglist(eap->arg, AL_DEL, 0);
}
maketitle();
}