diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval.c | 3 | ||||
-rw-r--r-- | src/nvim/testdir/test_undo.vim | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index bd61925b0d..132450f7a1 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -10830,6 +10830,7 @@ static void f_has(typval_T *argvars, typval_T *rettv, FunPtr fptr) #ifdef __APPLE__ "mac", "macunix", + "osx", #endif "menu", "mksession", @@ -17669,7 +17670,7 @@ static void f_undofile(typval_T *argvars, typval_T *rettv, FunPtr fptr) // If there is no file name there will be no undo file. rettv->vval.v_string = NULL; } else { - char *ffname = FullName_save(fname, false); + char *ffname = FullName_save(fname, true); if (ffname != NULL) { rettv->vval.v_string = (char_u *)u_get_undo_file_name(ffname, false); diff --git a/src/nvim/testdir/test_undo.vim b/src/nvim/testdir/test_undo.vim index beb44f9699..0cb5dc4033 100644 --- a/src/nvim/testdir/test_undo.vim +++ b/src/nvim/testdir/test_undo.vim @@ -389,6 +389,15 @@ funct Test_undofile() " Test undofile() with 'undodir' set to a non-existing directory. " call assert_equal('', undofile('Xundofoo')) + if isdirectory('/tmp') + set undodir=/tmp + if has('osx') + call assert_equal('/tmp/%private%tmp%file', undofile('///tmp/file')) + else + call assert_equal('/tmp/%tmp%file', undofile('///tmp/file')) + endif + endif + set undodir& endfunc |