Subject: bug#22300: 25.1.50; Dired -- renaming folders/files to CamelCase/UPPERCASE/lowercase.

From: Eli Zaretskii <[email-masked]>
Date: Mon, 04 Jan 2016 17:44:37 +0200

> Date: Sun, 3 Jan 2016 16:47:32 -0800 (PST)
> From: Drew Adams <[email-masked]>
> Cc: [email-masked]
> 
> Hm.  I'm curious.  How do we know that this is not an Emacs bug?

Because we can step through the code, or just plain read it ;-)

> I do not understand why this is his error msg:
> 
>     Move '/Users/HOME/Desktop/FOO' to '/Users/HOME/Desktop/foo/FOO' failed:
>                               ^^^                          ^^^^^^^
>       (file-error Renaming Invalid argument 
>        /Users/HOME/Desktop/FOO/Users/HOME/Desktop/foo/FOO)
> 
> That looks peculiar, if all he did was hit `R' on a directory name.
> That message seems to be saying that Emacs asked the OS to move
> directory .../FOO to .../foo/FOO.  That doesn't seem like the right
> thing for Emacs to do.  Seems like Emacs should have asked the OS
> to move .../FOO to .../foo (without the trailing /FOO).

Would you still think that if the arguments were changed as below?

  Move '/Users/HOME/Desktop/FOO' to '/Users/HOME/Desktop/bar/FOO'

> Am I missing something?

Yes, you are:

  . The filesystem in question is evidently case-insensitive, so Emacs
    thinks the user wants to move a directory into another _existing_
    directory ('foo' exists because 'FOO' does)

  . When the target is an existing directory, rename-file _always_
    behaves like shown above (which is actually what the user should
    expect, don't you agree?)

  . See my other message