[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27986: 26.0.50; `rename-file' can rename files without confirmation
From: |
Eli Zaretskii |
Subject: |
bug#27986: 26.0.50; `rename-file' can rename files without confirmation |
Date: |
Sun, 06 Aug 2017 20:05:09 +0300 |
> From: Philipp <p.stephani2@gmail.com>
> Date: Sun, 06 Aug 2017 17:40:18 +0200
>
> (rename-file "/tmp/emacs/ẞ" "/tmp/emacs/ß")
> nil
>
> Note how `rename-file' has silently overwritten `ß'. This is because on
> macOS, `ß' and `ẞ' are different file names, but Emacs treats them as
> equal. Probably the test for case-insensitive file names should be
> removed altogether
Which one? there are two of them.
> (it can't work correctly and introduces a filesystem race)
It cannot work correctly _because_ of a possible race or because of
some other reasons? If the latter, please elaborate. If the former,
then at least on MS-Windows we have a race anyway, because the
underlying system APIs are not atomic. So at least on MS-Windows the
feature should stay, as it introduces no new issues and supports a
valid and quite important use case (the Windows shell supports it as
well, so we really cannot do less).
> and `rename-file' should use link(2) + unlink(2) if renameat2
> isn't available.
'link' and 'unlink' accept strings as arguments, not integer numbers
such as 2.
More to the point, how can this strategy work on a case-insensitive
filesystem? What am I missing?
- bug#27986: 26.0.50; `rename-file' can rename files without confirmation, Philipp, 2017/08/06
- bug#27986: 26.0.50; `rename-file' can rename files without confirmation,
Eli Zaretskii <=
- bug#27986: 26.0.50; 'rename-file' can rename files without confirmation, Paul Eggert, 2017/08/11
- bug#27986: 26.0.50; 'rename-file' can rename files without confirmation, Paul Eggert, 2017/08/13
- bug#27986: 26.0.50; 'rename-file' can rename files without confirmation, Eli Zaretskii, 2017/08/14
- bug#27986: 26.0.50; 'rename-file' can rename files without confirmation, Paul Eggert, 2017/08/14
- bug#27986: 26.0.50; 'rename-file' can rename files without confirmation, Eli Zaretskii, 2017/08/15
- bug#27986: 26.0.50; 'rename-file' can rename files without confirmation, Paul Eggert, 2017/08/15
- bug#27986: 26.0.50; 'rename-file' can rename files without confirmation, Eli Zaretskii, 2017/08/15
- bug#27986: 26.0.50; 'rename-file' can rename files without confirmation, Paul Eggert, 2017/08/15