diff options
| author | Karl Heuer <kwzh@gnu.org> | 1994-03-16 22:14:23 +0000 |
|---|---|---|
| committer | Karl Heuer <kwzh@gnu.org> | 1994-03-16 22:14:23 +0000 |
| commit | 3ace87e34c93a6b000932510d3bd3b81d4056d20 (patch) | |
| tree | a1fdfc193b83c8fe1886cffbf9e5f46d57bb0b35 /src | |
| parent | a7d40caa145f4f2a7dcb791248fe2e1b05b8cb8f (diff) | |
| download | emacs-3ace87e34c93a6b000932510d3bd3b81d4056d20.tar.gz | |
(Ffile_modes) [MSDOS]: set exec-bit based on file suffix.
Diffstat (limited to 'src')
| -rw-r--r-- | src/fileio.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/fileio.c b/src/fileio.c index 371d44050e9..4f37b392f8d 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -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); } |
