]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merged revisions 59304-59312 via svnmerge from
authorGuido van Rossum <guido@python.org>
Tue, 4 Dec 2007 01:13:14 +0000 (01:13 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 4 Dec 2007 01:13:14 +0000 (01:13 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r59306 | andrew.kuchling | 2007-12-03 13:28:41 -0800 (Mon, 03 Dec 2007) | 1 line

  Grammar fix
........
  r59307 | guido.van.rossum | 2007-12-03 14:02:10 -0800 (Mon, 03 Dec 2007) | 2 lines

  Shut up a compiler warning.
........
  r59312 | martin.v.loewis | 2007-12-03 15:09:04 -0800 (Mon, 03 Dec 2007) | 3 lines

  Forward-port r59310:
  os.access now returns True on Windows for any existing directory.
........

Doc/whatsnew/2.6.rst
Modules/posixmodule.c

index 0c3c694bf21206bdf1485f55bc99f8a772f890f8..3a0096c6facd84a8d77249dd5249bc1ef538d5ae 100644 (file)
@@ -108,7 +108,7 @@ PEP 343: The 'with' statement
 
 The previous version, Python 2.5, added the ':keyword:`with`'
 statement an optional feature, to be enabled by a ``from __future__
-import with_statement`` directive.  In 2.6 the statement no longer need to
+import with_statement`` directive.  In 2.6 the statement no longer needs to
 be specially enabled; this means that :keyword:`with` is now always a
 keyword.  The rest of this section is a copy of the corresponding 
 section from "What's New in Python 2.5" document; if you read
index c36b712f7358d77560d1a80f7a2f8cc32a0ed445..92a8b281f5c90a547eeeaffda82df195fe81e498 100644 (file)
@@ -1565,8 +1565,11 @@ finish:
                /* File does not exist, or cannot read attributes */
                return PyBool_FromLong(0);
        /* Access is possible if either write access wasn't requested, or
-          the file isn't read-only. */
-       return PyBool_FromLong(!(mode & 2) || !(attr & FILE_ATTRIBUTE_READONLY));
+          the file isn't read-only, or if it's a directory, as there are
+          no read-only directories on Windows. */
+       return PyBool_FromLong(!(mode & 2) 
+                              || !(attr & FILE_ATTRIBUTE_READONLY)
+                              || (attr & FILE_ATTRIBUTE_DIRECTORY));
 #else
        int res;
        if (!PyArg_ParseTuple(args, "eti:access",