diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-02-01 22:52:44 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-02-01 22:52:44 +0100 |
commit | 79da563cf9220b9abb83455a68d995684133ea56 (patch) | |
tree | 3dfe4528bb87ec725624e3e1ad8396e974538fb7 | |
parent | e5f2a075e35aa903e8d5a63bef1a438344bba5fb (diff) | |
download | vim-git-79da563cf9220b9abb83455a68d995684133ea56.tar.gz |
patch 8.0.0294: argument list is not stored correctly in a session filev8.0.0294
Problem: Argument list is not stored correctly in a session file.
(lgpasquale)
Solution: Use "$argadd" instead of "argadd". (closes #1434)
-rw-r--r-- | src/ex_docmd.c | 2 | ||||
-rw-r--r-- | src/testdir/test_mksession.vim | 12 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 1a10bb057..f93c76651 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -11790,7 +11790,7 @@ ses_arglist( s = buf; } } - if (fputs("argadd ", fd) < 0 + if (fputs("$argadd ", fd) < 0 || ses_put_fname(fd, s, flagp) == FAIL || put_eol(fd) == FAIL) { diff --git a/src/testdir/test_mksession.vim b/src/testdir/test_mksession.vim index a51180cf0..6ea3255df 100644 --- a/src/testdir/test_mksession.vim +++ b/src/testdir/test_mksession.vim @@ -110,4 +110,16 @@ func Test_mksession_winheight() call delete('Xtest_mks.out') endfunc +func Test_mksession_arglist() + argdel * + next file1 file2 file3 file4 + mksession! Xtest_mks.out + source Xtest_mks.out + call assert_equal(['file1', 'file2', 'file3', 'file4'], argv()) + + call delete('Xtest_mks.out') + argdel * +endfunc + + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index 0a5e3d329..4a796bfc2 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 294, +/**/ 293, /**/ 292, |