updated for version 7.2.429
Problem:    A file that exists but access is denied may result in a "new file"
            message.  E.g. when its directory is unreadable.
Solution:   Specifically check for ENOENT to decide a file doesn't exist.
            (partly by James Vega)
diff --git a/src/fileio.c b/src/fileio.c
index 88188e5..c367969 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -595,7 +595,11 @@
 #endif
 	    if (newfile)
 	    {
-		if (perm < 0)
+		if (perm < 0
+#ifdef ENOENT
+			&& errno == ENOENT
+#endif
+		   )
 		{
 		    /*
 		     * Set the 'new-file' flag, so that when the file has
@@ -664,6 +668,9 @@
 # ifdef EFBIG
 			    (errno == EFBIG) ? _("[File too big]") :
 # endif
+# ifdef EOVERFLOW
+			    (errno == EOVERFLOW) ? _("[File too big]") :
+# endif
 						_("[Permission Denied]")), 0);
 		    curbuf->b_p_ro = TRUE;	/* must use "w!" now */
 		}