Three comments about that fix. 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.) 2. From my reading of the Apple documentation, the code taken from that circa-2007 website should have problems on some file systems. It does not match what Wine does in a similar situation. 3. Nowadays, I hope pathconf works on Apple; that's simpler. If not, I think the Wine approach should be better. So I installed the attached patch to try to do that. If you have access to a case-insensitive file system on macOS, please try it out as-is, or compiled with -DDARWIN_OS_CASE_SENSITIVE_FIXME=1 or -DDARWIN_OS_CASE_SENSITIVE_FIXME=2, and let me know how it works.