aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/eval.c2
-rw-r--r--test/functional/shada/shada_spec.lua6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 937b56179d..cab9d07e56 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -13432,7 +13432,7 @@ static void f_resolve(typval_T *argvars, typval_T *rettv, FunPtr fptr)
const size_t p_len = strlen(p);
cpy = xmallocz(p_len + len);
memcpy(cpy, p, p_len + 1);
- xstrlcat(cpy + p_len, remain, len);
+ xstrlcat(cpy + p_len, remain, len + 1);
xfree(p);
p = cpy;
diff --git a/test/functional/shada/shada_spec.lua b/test/functional/shada/shada_spec.lua
index 32598fc399..ca44026852 100644
--- a/test/functional/shada/shada_spec.lua
+++ b/test/functional/shada/shada_spec.lua
@@ -180,8 +180,7 @@ describe('ShaDa support code', function()
nvim_command('undo')
nvim_command('set shada+=%')
nvim_command('wshada! ' .. shada_fname)
- local readme_fname = paths.test_source_path .. '/README.md'
- readme_fname = helpers.eval( 'resolve("' .. readme_fname .. '")' )
+ local readme_fname = funcs.resolve(paths.test_source_path) .. '/README.md'
eq({[7]=1, [8]=2, [9]=1, [10]=4, [11]=1}, find_file(readme_fname))
nvim_command('set shada+=r~')
nvim_command('wshada! ' .. shada_fname)
@@ -189,7 +188,8 @@ describe('ShaDa support code', function()
nvim_command('set shada-=r~')
nvim_command('wshada! ' .. shada_fname)
eq({[7]=1, [8]=2, [9]=1, [10]=4, [11]=1}, find_file(readme_fname))
- nvim_command('set shada+=r' .. paths.test_source_path)
+ nvim_command('set shada+=r' .. funcs.escape(
+ funcs.escape(paths.test_source_path, '$~'), ' "\\,'))
nvim_command('wshada! ' .. shada_fname)
eq({}, find_file(readme_fname))
end)