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)
diff --git a/src/session.c b/src/session.c
index 44976e8..9731bd3 100644
--- a/src/session.c
+++ b/src/session.c
@@ -397,6 +397,19 @@
}
}
+ 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)