diff options
| -rw-r--r-- | src/fileio.c | 2 | ||||
| -rw-r--r-- | src/sysdep.c | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/fileio.c b/src/fileio.c index 69079c6ae49..9f6de5b6ca7 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -2259,12 +2259,14 @@ This is what happens in interactive use with M-x. */) | |||
| 2259 | not worry whether NEWNAME exists or whether it is a directory, as | 2259 | not worry whether NEWNAME exists or whether it is a directory, as |
| 2260 | it is already another name for FILE. */ | 2260 | it is already another name for FILE. */ |
| 2261 | bool case_only_rename = false; | 2261 | bool case_only_rename = false; |
| 2262 | #if defined CYGWIN || defined DOS_NT | ||
| 2262 | if (!NILP (Ffile_name_case_insensitive_p (file))) | 2263 | if (!NILP (Ffile_name_case_insensitive_p (file))) |
| 2263 | { | 2264 | { |
| 2264 | newname = Fexpand_file_name (newname, Qnil); | 2265 | newname = Fexpand_file_name (newname, Qnil); |
| 2265 | case_only_rename = !NILP (Fstring_equal (Fdowncase (file), | 2266 | case_only_rename = !NILP (Fstring_equal (Fdowncase (file), |
| 2266 | Fdowncase (newname))); | 2267 | Fdowncase (newname))); |
| 2267 | } | 2268 | } |
| 2269 | #endif | ||
| 2268 | 2270 | ||
| 2269 | if (!case_only_rename) | 2271 | if (!case_only_rename) |
| 2270 | newname = expand_cp_target (Fdirectory_file_name (file), newname); | 2272 | newname = expand_cp_target (Fdirectory_file_name (file), newname); |
diff --git a/src/sysdep.c b/src/sysdep.c index 35f499c1853..2e18a419e3f 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -2693,11 +2693,13 @@ renameat_noreplace (int srcfd, char const *src, int dstfd, char const *dst) | |||
| 2693 | { | 2693 | { |
| 2694 | #if defined SYS_renameat2 && defined RENAME_NOREPLACE | 2694 | #if defined SYS_renameat2 && defined RENAME_NOREPLACE |
| 2695 | return syscall (SYS_renameat2, srcfd, src, dstfd, dst, RENAME_NOREPLACE); | 2695 | return syscall (SYS_renameat2, srcfd, src, dstfd, dst, RENAME_NOREPLACE); |
| 2696 | #elif defined RENAME_EXCL | ||
| 2697 | return renameatx_np (srcfd, src, dstfd, dst, RENAME_EXCL); | ||
| 2696 | #else | 2698 | #else |
| 2697 | #ifdef WINDOWSNT | 2699 | # ifdef WINDOWSNT |
| 2698 | if (srcfd == AT_FDCWD && dstfd == AT_FDCWD) | 2700 | if (srcfd == AT_FDCWD && dstfd == AT_FDCWD) |
| 2699 | return sys_rename_replace (src, dst, 0); | 2701 | return sys_rename_replace (src, dst, 0); |
| 2700 | #endif | 2702 | # endif |
| 2701 | errno = ENOSYS; | 2703 | errno = ENOSYS; |
| 2702 | return -1; | 2704 | return -1; |
| 2703 | #endif | 2705 | #endif |