shada,functests: Make sure that v:oldfiles list is reset on :rshada!

This commit is contained in:
ZyX
2015-08-10 01:39:50 +03:00
parent c9963872ef
commit 4dc3bc8fc1
2 changed files with 8 additions and 1 deletions

View File

@@ -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(bufset) cl_bufs = KHASH_EMPTY_TABLE(bufset);
khash_t(fnamebufs) fname_bufs = KHASH_EMPTY_TABLE(fnamebufs); khash_t(fnamebufs) fname_bufs = KHASH_EMPTY_TABLE(fnamebufs);
khash_t(strset) oldfiles_set = KHASH_EMPTY_TABLE(strset); 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(); oldfiles_list = list_alloc();
set_vim_var_list(VV_OLDFILES, oldfiles_list); set_vim_var_list(VV_OLDFILES, oldfiles_list);
} }

View File

@@ -102,6 +102,13 @@ describe('ShaDa support code', function()
eq(testfilename_2, oldfiles[2]:sub(-#testfilename_2)) eq(testfilename_2, oldfiles[2]:sub(-#testfilename_2))
eq(tf_full, oldfiles[1]) eq(tf_full, oldfiles[1])
eq(tf_full_2, oldfiles[2]) 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) end)
it('is able to dump and restore jump list', function() it('is able to dump and restore jump list', function()