Mercurial > vim
diff src/session.c @ 22840:7c1e2e3f2d8d v8.2.1967
patch 8.2.1967: the session file does not restore the alternate file
Commit: https://github.com/vim/vim/commit/59d8e56e048eb5d384649284fb35363931fc3697
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Nov 7 18:41:10 2020 +0100
patch 8.2.1967: the session file does not restore the alternate file
Problem: The session file does not restore the alternate file.
Solution: Add ":balt". Works like ":badd" and also sets the buffer as the
alternate file. Use it in the session file. (closes #7269,
closes #6714)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 07 Nov 2020 18:45:04 +0100 |
parents | 0583f3e2c12e |
children | 4384c44c031a |
line wrap: on
line diff
--- a/src/session.c +++ b/src/session.c @@ -397,6 +397,19 @@ put_view( } } + if (wp->w_alt_fnum) + { + buf_T *alt = buflist_findnr(wp->w_alt_fnum); + + // Set the alternate file. + if (alt != NULL + && alt->b_fname != NULL + && *alt->b_fname != NUL + && (fputs("balt ", fd) < 0 + || ses_fname(fd, alt, flagp, TRUE) == FAIL)) + return FAIL; + } + // Local mappings and abbreviations. if ((*flagp & (SSOP_OPTIONS | SSOP_LOCALOPTIONS)) && makemap(fd, wp->w_buffer) == FAIL)