It's not that obscure, though. With "lower", you don't preserve case:
$ rm *; touch foo; ls foo $ rm *; touch FOO; ls foo
but with "winnt" you do:
$ rm *; touch foo; ls foo $ rm *; touch FOO; ls FOO
If you want to open a particular file, both variants are clever enough to ignore case:
$ rm *; echo xx > FOO; cat foo xx $ rm *; echo xx > foo; cat FOO xx
So we don't break file access, and behaviour for lower-case and MixedCase is identical, it just fixes ls/readdir() for ALLUPPERCASE file names.
It's not that obscure, though. With "lower", you don't preserve case:
$ rm *; touch foo; ls
foo
$ rm *; touch FOO; ls
foo
but with "winnt" you do:
$ rm *; touch foo; ls
foo
$ rm *; touch FOO; ls
FOO
If you want to open a particular file, both variants are clever enough to ignore case:
$ rm *; echo xx > FOO; cat foo
xx
$ rm *; echo xx > foo; cat FOO
xx
So we don't break file access, and behaviour for lower-case and MixedCase is identical, it just fixes ls/readdir() for ALLUPPERCASE file names.