patch 7.4.1516
Problem:    Cannot change file permissions.
Solution:   Add setfperm().
diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim
index d7718ff..857fe9a 100644
--- a/src/testdir/test_alot.vim
+++ b/src/testdir/test_alot.vim
@@ -5,6 +5,7 @@
 source test_cursor_func.vim
 source test_delete.vim
 source test_expand.vim
+source test_file_perm.vim
 source test_glob2regpat.vim
 source test_join.vim
 source test_lispwords.vim
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