diff options
author | ZyX <kp-pav@yandex.ru> | 2015-08-10 01:39:50 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-10-08 22:00:37 +0300 |
commit | 4dc3bc8fc1d94f9f97ab06d030b9279e7e3b5934 (patch) | |
tree | 0d34715b3053f21223412a2b1546b978346f8730 | |
parent | c9963872ef11f536e9728bf3e709ab39fe5056ec (diff) | |
download | rneovim-4dc3bc8fc1d94f9f97ab06d030b9279e7e3b5934.tar.gz rneovim-4dc3bc8fc1d94f9f97ab06d030b9279e7e3b5934.tar.bz2 rneovim-4dc3bc8fc1d94f9f97ab06d030b9279e7e3b5934.zip |
shada,functests: Make sure that v:oldfiles list is reset on :rshada!
-rw-r--r-- | src/nvim/shada.c | 2 | ||||
-rw-r--r-- | test/functional/shada/marks_spec.lua | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/nvim/shada.c b/src/nvim/shada.c index 7ec954080b..8f731e7eda 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -1208,7 +1208,7 @@ static void shada_read(ShaDaReadDef *const sd_reader, const int flags) khash_t(bufset) cl_bufs = KHASH_EMPTY_TABLE(bufset); khash_t(fnamebufs) fname_bufs = KHASH_EMPTY_TABLE(fnamebufs); khash_t(strset) oldfiles_set = KHASH_EMPTY_TABLE(strset); - if (get_old_files && oldfiles_list == NULL) { + if (get_old_files && (oldfiles_list == NULL || force)) { oldfiles_list = list_alloc(); set_vim_var_list(VV_OLDFILES, oldfiles_list); } diff --git a/test/functional/shada/marks_spec.lua b/test/functional/shada/marks_spec.lua index 341ca2d647..8b9e70045c 100644 --- a/test/functional/shada/marks_spec.lua +++ b/test/functional/shada/marks_spec.lua @@ -102,6 +102,13 @@ describe('ShaDa support code', function() eq(testfilename_2, oldfiles[2]:sub(-#testfilename_2)) eq(tf_full, oldfiles[1]) eq(tf_full_2, oldfiles[2]) + nvim_command('rshada!') + local oldfiles = nvim('get_vvar', 'oldfiles') + eq(2, #oldfiles) + eq(testfilename, oldfiles[1]:sub(-#testfilename)) + eq(testfilename_2, oldfiles[2]:sub(-#testfilename_2)) + eq(tf_full, oldfiles[1]) + eq(tf_full_2, oldfiles[2]) end) it('is able to dump and restore jump list', function() |