patch 7.4.1516
Problem: Cannot change file permissions.
Solution: Add setfperm().
diff --git a/src/testdir/test_file_perm.vim b/src/testdir/test_file_perm.vim
new file mode 100644
index 0000000..44778ee
--- /dev/null
+++ b/src/testdir/test_file_perm.vim
@@ -0,0 +1,20 @@
+" Test getting and setting file permissions.
+
+func Test_file_perm()
+ call assert_equal('', getfperm('Xtest'))
+ call assert_equal(0, setfperm('Xtest', 'r--------'))
+
+ call writefile(['one'], 'Xtest')
+ call assert_true(len(getfperm('Xtest')) == 9)
+
+ call assert_equal(1, setfperm('Xtest', 'rwx------'))
+ call assert_equal('rwx------', getfperm('Xtest'))
+
+ call assert_equal(1, setfperm('Xtest', 'r--r--r--'))
+ call assert_equal('r--r--r--', getfperm('Xtest'))
+
+ call assert_fails("setfperm('Xtest', '---')")
+
+ call assert_equal(1, setfperm('Xtest', 'rwx------'))
+ call delete('Xtest')
+endfunc