aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/undo.c2
-rw-r--r--test/functional/ex_cmds/wundo_spec.lua17
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)