Subject: Re: bug#24441: 24.5; rename directory in dired to change case

From: Eli Zaretskii <[email-masked]>
Date: Tue, 15 Nov 2016 22:30:27 +0200

> Cc: [email-masked], Brady Trainor <[email-masked]>,
>         Eli Zaretskii <[email-masked]>, Andreas Schwab <[email-masked]>,
>         Keith David Bershatsky <[email-masked]>,
>         Michael Albinus <[email-masked]>
> From: Ken Brown <[email-masked]>
> Date: Tue, 15 Nov 2016 14:59:12 -0500
> 
> On 11/14/2016 3:33 PM, Paul Eggert wrote:
> > 1. Emacs seems to conflate whether a file system is case-sensitive, and
> > whether it is case-preserving. Darwin pathconf distinguishes between
> > _PC_CASE_SENSITIVE and _PC_CASE_PRESERVING. For example, perhaps the
> > following code in dired-do-create-files:
> >
> >                (if (and (file-name-case-insensitive-p (car fn-list))
> >                     (eq op-symbol 'move)
> >                     dired-one-file
> >
> > should also check whether (car fn-list) is on a case-preserving file
> > system (if not, there's no point going ahead, as the user can't change
> > the case anyway). I suppose this would require adding a Lisp predicate
> > for _PC_CASE_PRESERVING. (Possibly the MS-Windows code already deals
> > with this, and Cygwin and macOS are currently broken.)
> 
> I'm not aware of any reported problems on non-case-preserving 
> filesystems.  Unless someone reports such a problem, my inclination is 
> to leave things as they are.

The only case that I know of where a filesystem is case-insensitive,
but not case-preserving, is that of DOS FAT16 filesystems, and the
MSDOS port of Emacs already considers renaming a file in such a case
as a no-op that should not trigger an error.  So I think we can safely
ignore this hypothetical situation until someone actually describes
it.