emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110923: Fix MS-Windows emulation of


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110923: Fix MS-Windows emulation of 'faccessat' wrt directories.
Date: Sat, 17 Nov 2012 18:52:48 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110923
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2012-11-17 18:52:48 +0200
message:
  Fix MS-Windows emulation of 'faccessat' wrt directories.
  
   src/w32.c (faccessat): Pretend that directories have the execute bit
   set.  Emacs expects that, e.g., in files.el:cd-absolute.
modified:
  src/ChangeLog
  src/w32.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-11-17 16:46:45 +0000
+++ b/src/ChangeLog     2012-11-17 16:52:48 +0000
@@ -1,5 +1,8 @@
 2012-11-17  Eli Zaretskii  <address@hidden>
 
+       * w32.c (faccessat): Pretend that directories have the execute bit
+       set.  Emacs expects that, e.g., in files.el:cd-absolute.
+
        * w32proc.c (create_child): Don't clip the PID of the child
        process to fit into an Emacs integer, as this is no longer a
        restriction.

=== modified file 'src/w32.c'
--- a/src/w32.c 2012-11-14 17:22:55 +0000
+++ b/src/w32.c 2012-11-17 16:52:48 +0000
@@ -2762,7 +2762,8 @@
        }
       return -1;
     }
-  if ((mode & X_OK) != 0 && !is_exec (path))
+  if ((mode & X_OK) != 0
+      && !(is_exec (path) || (attributes & FILE_ATTRIBUTE_DIRECTORY) != 0))
     {
       errno = EACCES;
       return -1;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]