vim-patch:8.0.0439: ":%argdel" gives an error for an empty arglist

Problem:    Using ":%argdel" while the argument list is already empty gives an
            error. (Pavol Juhas)
Solution:   Don't give an error. (closes vim/vim#1546)
69a92fb5ae

Also:
vim-patch:8.0.0473
This commit is contained in:
Justin M. Keyes 2018-02-02 21:48:10 +01:00
parent 77bfbc3006
commit 6df80e8762

View File

@ -1959,8 +1959,14 @@ void ex_argdelete(exarg_T *eap)
eap->line2 = ARGCOUNT; eap->line2 = ARGCOUNT;
} }
linenr_T n = eap->line2 - eap->line1 + 1; linenr_T n = eap->line2 - eap->line1 + 1;
if (*eap->arg != NUL || n <= 0) { if (*eap->arg != NUL) {
// Can't have both a range and an argument.
EMSG(_(e_invarg)); EMSG(_(e_invarg));
} else if (n <= 0) {
// Don't give an error for ":%argdel" if the list is empty.
if (eap->line1 != 1 || eap->line2 != 0) {
EMSG(_(e_invrange));
}
} else { } else {
for (linenr_T i = eap->line1; i <= eap->line2; i++) { for (linenr_T i = eap->line1; i <= eap->line2; i++) {
xfree(ARGLIST[i - 1].ae_fname); xfree(ARGLIST[i - 1].ae_fname);