diff options
-rw-r--r-- | src/nvim/undo.c | 2 | ||||
-rw-r--r-- | test/functional/ex_cmds/wundo_spec.lua | 17 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/nvim/undo.c b/src/nvim/undo.c index d8158bf7cd..b0c49cbf8e 100644 --- a/src/nvim/undo.c +++ b/src/nvim/undo.c @@ -650,7 +650,7 @@ void u_compute_hash(char_u *hash) /// /// @return [allocated] File name to read from/write to or NULL. char *u_get_undo_file_name(const char *const buf_ffname, const bool reading) - FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT + FUNC_ATTR_WARN_UNUSED_RESULT { char *dirp; char dir_name[MAXPATHL + 1]; diff --git a/test/functional/ex_cmds/wundo_spec.lua b/test/functional/ex_cmds/wundo_spec.lua index d8bd8a7031..c3147e1c0f 100644 --- a/test/functional/ex_cmds/wundo_spec.lua +++ b/test/functional/ex_cmds/wundo_spec.lua @@ -1,9 +1,9 @@ --- Specs for --- :wundo +-- Specs for :wundo and underlying functions local helpers = require('test.functional.helpers') -local execute, eq, clear, eval, feed = - helpers.execute, helpers.eq, helpers.clear, helpers.eval, helpers.feed +local execute, clear, eval, feed, spawn, nvim_prog, set_session = + helpers.execute, helpers.clear, helpers.eval, helpers.feed, helpers.spawn, + helpers.nvim_prog, helpers.set_session describe(':wundo', function() @@ -16,5 +16,14 @@ describe(':wundo', function() os.remove(eval('getcwd()') .. '/foo') --cleanup end) +end) +describe('u_* functions', function() + it('safely fail on new, non-empty buffer', function() + local session = spawn({nvim_prog, '-u', 'NONE', '-i', 'NONE', '--embed', + '-c', 'set undodir=. undofile'}) + set_session(session) + execute('echo "True"') -- Should not error out due to crashed Neovim + session:exit(0) + end) end) |