components/vim/patches/7.4.2035.patch
changeset 6475 abfc9174d2f0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/vim/patches/7.4.2035.patch	Mon Jul 25 13:45:37 2016 +0200
@@ -0,0 +1,47 @@
+Patch 7.4.2035
+Problem:    On Solaris with ZFS the ACL may get removed.
+Solution:   Always restore the ACL for Solaris ZFS. (Danek Duvall)
+Files:      src/fileio.c
+
+
+*** ../vim-7.4.2034/src/fileio.c	2016-07-10 22:11:11.870751341 +0200
+--- src/fileio.c	2016-07-14 20:33:57.407544979 +0200
+***************
+*** 4709,4717 ****
+      if (perm >= 0)		/* set perm. of new file same as old file */
+  	(void)mch_setperm(wfname, perm);
+  #ifdef HAVE_ACL
+!     /* Probably need to set the ACL before changing the user (can't set the
+!      * ACL on a file the user doesn't own). */
+      if (!backup_copy)
+  	mch_set_acl(wfname, acl);
+  #endif
+  #ifdef FEAT_CRYPT
+--- 4709,4725 ----
+      if (perm >= 0)		/* set perm. of new file same as old file */
+  	(void)mch_setperm(wfname, perm);
+  #ifdef HAVE_ACL
+!     /*
+!      * Probably need to set the ACL before changing the user (can't set the
+!      * ACL on a file the user doesn't own).
+!      * On Solaris, with ZFS and the aclmode property set to "discard" (the
+!      * default), chmod() discards all part of a file's ACL that don't represent
+!      * the mode of the file.  It's non-trivial for us to discover whether we're
+!      * in that situation, so we simply always re-set the ACL.
+!      */
+! # ifndef HAVE_SOLARIS_ZFS_ACL
+      if (!backup_copy)
++ # endif
+  	mch_set_acl(wfname, acl);
+  #endif
+  #ifdef FEAT_CRYPT
+*** ../vim-7.4.2034/src/version.c	2016-07-14 20:24:59.351396346 +0200
+--- src/version.c	2016-07-14 20:34:53.154732074 +0200
+***************
+*** 760,761 ****
+--- 760,763 ----
+  {   /* Add new patch number below this line */
++ /**/
++     2035,
+  /**/
+