]> git.eshelyaron.com Git - emacs.git/commitdiff
(Ffile_modes) [MSDOS]: set exec-bit based on file suffix.
authorKarl Heuer <kwzh@gnu.org>
Wed, 16 Mar 1994 22:14:23 +0000 (22:14 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 16 Mar 1994 22:14:23 +0000 (22:14 +0000)
src/fileio.c

index 371d44050e9f78bab3e2fca118502cc30b6cfa60..4f37b392f8da1ca697b2da3e420bedb00e250fe8 100644 (file)
@@ -2352,6 +2352,19 @@ DEFUN ("file-modes", Ffile_modes, Sfile_modes, 1, 1, 0,
 
   if (stat (XSTRING (abspath)->data, &st) < 0)
     return Qnil;
+#ifdef MSDOS
+  {
+    int len;
+    char *suffix;
+    if (S_ISREG (st.st_mode)
+       && (len = XSTRING (abspath)->size) >= 5
+       && (stricmp ((suffix = XSTRING (abspath)->data + len-4), ".com") == 0
+           || stricmp (suffix, ".exe") == 0
+           || stricmp (suffix, ".bat") == 0))
+      st.st_mode |= S_IEXEC;
+  }
+#endif /* MSDOS */
+
   return make_number (st.st_mode & 07777);
 }