aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/shada.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2015-10-23 10:11:59 -0400
committerJustin M. Keyes <justinkz@gmail.com>2015-10-23 10:11:59 -0400
commitde4cb766ca381c09fd3f938136c1932ebf008f63 (patch)
tree70aac7d6e7abc1d0cfc0e7635c6a95dbfbe48237 /src/nvim/shada.c
parente38cbb93670272d0da15c60222a123b88ec55002 (diff)
parentfc2bb200f75ab9650c1c35463bcc2be9008632c9 (diff)
downloadrneovim-de4cb766ca381c09fd3f938136c1932ebf008f63.tar.gz
rneovim-de4cb766ca381c09fd3f938136c1932ebf008f63.tar.bz2
rneovim-de4cb766ca381c09fd3f938136c1932ebf008f63.zip
Merge pull request #3490 from ZyX-I/fix-3472
Fix local marks saving/restoring with ShaDa
Diffstat (limited to 'src/nvim/shada.c')
-rw-r--r--src/nvim/shada.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/shada.c b/src/nvim/shada.c
index 523f8db6f0..93a40fa736 100644
--- a/src/nvim/shada.c
+++ b/src/nvim/shada.c
@@ -2433,6 +2433,15 @@ static ShaDaWriteResult shada_write(ShaDaWriteDef *const sd_writer,
msgpack_packer *const packer = msgpack_packer_new(sd_writer,
&msgpack_sd_writer_write);
+ // Set b_last_cursor for all the buffers that have a window.
+ //
+ // It is needed to correctly save '"' mark on exit. Has a side effect of
+ // setting '"' mark in all windows on :wshada to the current cursor
+ // position (basically what :wviminfo used to do).
+ FOR_ALL_TAB_WINDOWS(tp, wp) {
+ set_last_cursor(wp);
+ }
+
FOR_ALL_BUFFERS(buf) {
if (buf->b_ffname != NULL && shada_removable((char *) buf->b_ffname)) {
int kh_ret;