# HG changeset patch # User Bram Moolenaar # Date 1273856198 -7200 # Node ID 2bd29808d1f640f027ab7a4a4f2b5b6a0e6c8e38 # Parent c17a42da3920c34a75c17fe8696d2f04bf683f24 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 --- a/src/fileio.c +++ b/src/fileio.c @@ -595,7 +595,11 @@ readfile(fname, sfname, from, lines_to_s #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 @@ readfile(fname, sfname, from, lines_to_s # 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 */ } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -682,6 +682,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 429, +/**/ 428, /**/ 427,