vim-patch:8.2.4731: the changelist index is not remembered per buffer

Problem:    The changelist index is not remembered per buffer.
Solution:   Keep the changelist index per window and buffer. (closes vim/vim#10135,
            closes vim/vim#2173)
db0ea7f2b0

Cherry-pick FOR_ALL_BUF_WININFO from patch 8.2.0500.
Cherry-pick test_changelist.vim change from patch 8.2.3795.
This commit is contained in:
zeertzjq
2022-07-23 09:15:31 +08:00
parent ed6bbc03af
commit 91c99eed54
5 changed files with 55 additions and 13 deletions

View File

@@ -2483,6 +2483,9 @@ void buflist_setfpos(buf_T *const buf, win_T *const win, linenr_T lnum, colnr_T
wip->wi_mark.view = mark_view_make(win->w_topline, wip->wi_mark.mark);
}
}
if (win != NULL) {
wip->wi_changelistidx = win->w_changelistidx;
}
if (copy_options && win != NULL) {
// Save the window-specific option values.
copy_winopt(&win->w_onebuf_opt, &wip->wi_opt);
@@ -2586,6 +2589,9 @@ void get_winopts(buf_T *buf)
} else {
copy_winopt(&curwin->w_allbuf_opt, &curwin->w_onebuf_opt);
}
if (wip != NULL) {
curwin->w_changelistidx = wip->wi_changelistidx;
}
if (curwin->w_float_config.style == kWinStyleMinimal) {
didset_window_options(curwin);