From: Bram Moolenaar Date: Sat, 13 Mar 2021 12:52:33 +0000 (+0100) Subject: patch 8.2.2594: alternate buffer added to session file even when it's hidden X-Git-Tag: v8.2.2594 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0756f757edba755b75e0c9c612ab2f7e673def84;p=vim patch 8.2.2594: alternate buffer added to session file even when it's hidden Problem: Alternate buffer added to session file even when it's hidden. Solution: Check the 'buflisted' option. (closes #7951) --- diff --git a/src/session.c b/src/session.c index a734656d5..6e73bb676 100644 --- a/src/session.c +++ b/src/session.c @@ -401,11 +401,12 @@ put_view( { buf_T *alt = buflist_findnr(wp->w_alt_fnum); - // Set the alternate file. + // Set the alternate file if the buffer is listed. if ((flagp == &ssop_flags) && alt != NULL && alt->b_fname != NULL && *alt->b_fname != NUL + && alt->b_p_bl && (fputs("balt ", fd) < 0 || ses_fname(fd, alt, flagp, TRUE) == FAIL)) return FAIL; diff --git a/src/testdir/test_mksession.vim b/src/testdir/test_mksession.vim index eb8c6a5a4..6e3655373 100644 --- a/src/testdir/test_mksession.vim +++ b/src/testdir/test_mksession.vim @@ -544,6 +544,20 @@ func Test_mkview_no_balt() %bwipe endfunc +func Test_mksession_no_balt() + edit Xtestfile1 + edit Xtestfile2 + + bdelete Xtestfile1 + mksession! Xtestview + + source Xtestview + call assert_equal(0, buflisted('Xtestfile1')) + + call delete('Xtestview') + %bwipe +endfunc + " Test :mkview with a file argument. func Test_mkview_file() " Create a view with line number and a fold. diff --git a/src/version.c b/src/version.c index 45973eac2..f1b823226 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2594, /**/ 2593, /**/