diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-04-28 22:38:32 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-04-28 22:38:32 -0400 |
commit | 43e7c40051e9a3914ea280759982df6da2bfd526 (patch) | |
tree | 87bed8e192bc3ccf7c23a2c0eee670e823874d09 | |
parent | eefcc50f2c343d95c58ffed756e5dbf4d086fa68 (diff) | |
parent | 136374ec6f2fcf285a6047b46862a0ec9a92f5d4 (diff) | |
download | rneovim-43e7c40051e9a3914ea280759982df6da2bfd526.tar.gz rneovim-43e7c40051e9a3914ea280759982df6da2bfd526.tar.bz2 rneovim-43e7c40051e9a3914ea280759982df6da2bfd526.zip |
Merge pull request #4670 from equalsraf/tb-remove-unix-guard
Remove old UNIX ifdef from buf_write()
-rw-r--r-- | src/nvim/fileio.c | 5 | ||||
-rw-r--r-- | test/functional/ex_cmds/write_spec.lua | 38 |
2 files changed, 39 insertions, 4 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index c7870b9f69..c431f721dd 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -2688,7 +2688,6 @@ buf_write ( } else if ((bkc & BKC_AUTO)) { /* "auto" */ int i; -# ifdef UNIX /* * Don't rename the file when: * - it's a hard link @@ -2699,9 +2698,7 @@ buf_write ( || !os_fileinfo_link((char *)fname, &file_info) || !os_fileinfo_id_equal(&file_info, &file_info_old)) { backup_copy = TRUE; - } else -# endif - { + } else { /* * Check if we can create a file and set the owner/group to * the ones from the original file. diff --git a/test/functional/ex_cmds/write_spec.lua b/test/functional/ex_cmds/write_spec.lua new file mode 100644 index 0000000000..d90b297ca8 --- /dev/null +++ b/test/functional/ex_cmds/write_spec.lua @@ -0,0 +1,38 @@ +-- Specs for :write + +local helpers = require('test.functional.helpers') +local eq, eval, clear, write_file, execute, source = + helpers.eq, helpers.eval, helpers.clear, helpers.write_file, + helpers.execute, helpers.source + +describe(':write', function() + it('&backupcopy=auto preserves symlinks', function() + clear('set backupcopy=auto') + os.remove('test_bkc_file.txt') + os.remove('test_bkc_link.txt') + write_file('test_bkc_file.txt', 'content0') + execute("silent !ln -s test_bkc_file.txt test_bkc_link.txt") + source([[ + edit test_bkc_link.txt + call setline(1, ['content1']) + write + ]]) + eq(eval("['content1']"), eval("readfile('test_bkc_file.txt')")) + eq(eval("['content1']"), eval("readfile('test_bkc_link.txt')")) + end) + + it('&backupcopy=no replaces symlink with new file', function() + clear('set backupcopy=no') + os.remove('test_bkc_file.txt') + os.remove('test_bkc_link.txt') + write_file('test_bkc_file.txt', 'content0') + execute("silent !ln -s test_bkc_file.txt test_bkc_link.txt") + source([[ + edit test_bkc_link.txt + call setline(1, ['content1']) + write + ]]) + eq(eval("['content0']"), eval("readfile('test_bkc_file.txt')")) + eq(eval("['content1']"), eval("readfile('test_bkc_link.txt')")) + end) +end) |