From: Bram Moolenaar Date: Wed, 12 Mar 2014 20:28:26 +0000 (+0100) Subject: updated for version 7.4.205 X-Git-Tag: v7.4.205 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f0bdd2f28db28707385535ac9c270903e16c4637;p=vim updated for version 7.4.205 Problem: ":mksession" writes command to move to second argument while it does not exist. When it does exist the order might be wrong. Solution: Use ":argadd" for each argument instead of using ":args" with a list of names. (Nobuhiro Takasaki) --- diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 315b17076..e2c972403 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -10381,7 +10381,7 @@ makeopens(fd, dirnow) } /* the global argument list */ - if (ses_arglist(fd, "args", &global_alist.al_ga, + if (ses_arglist(fd, "argglobal", &global_alist.al_ga, !(ssop_flags & SSOP_CURDIR), &ssop_flags) == FAIL) return FAIL; @@ -10955,9 +10955,9 @@ ses_arglist(fd, cmd, gap, fullname, flagp) char_u *buf = NULL; char_u *s; - if (gap->ga_len == 0) - return put_line(fd, "silent! argdel *"); - if (fputs(cmd, fd) < 0) + if (fputs(cmd, fd) < 0 || put_eol(fd) == FAIL) + return FAIL; + if (put_line(fd, "silent! argdel *") == FAIL) return FAIL; for (i = 0; i < gap->ga_len; ++i) { @@ -10974,7 +10974,9 @@ ses_arglist(fd, cmd, gap, fullname, flagp) s = buf; } } - if (fputs(" ", fd) < 0 || ses_put_fname(fd, s, flagp) == FAIL) + if (fputs("argadd ", fd) < 0 + || ses_put_fname(fd, s, flagp) == FAIL + || put_eol(fd) == FAIL) { vim_free(buf); return FAIL; @@ -10982,7 +10984,7 @@ ses_arglist(fd, cmd, gap, fullname, flagp) vim_free(buf); } } - return put_eol(fd); + return OK; } /* diff --git a/src/version.c b/src/version.c index 5a50c2e9d..82817145b 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 205, /**/ 204, /**/