On 11/24/20 11:35 AM, sten.kristian.ivarsson@gmail.com wrote: > [snip] > >> std::filesystem POSIX mode is common to all POSIX platforms where >> backslashes are NOT directory separators. How do you make them accept your >> demands? How are you going to force POSIX platforms allow Windows specific >> code? > > I've been trying to say over and over again that our code doesn't handle any Windows specific stuff and not anywhere have I claimed that anyone else need to handle Windows specific stuff either (except for the internals of Cygwin of which Windows specific logic is already present) > > I repeat; I don't expect any of the Cygwin-Posix-functions to accept any Windows-style-paths (though some of them, as I repeatedly have said, already does so) and I only expect that I can operate according to the C++-standard on an instantiated std::filesystem::path > How do you expect std::filesystem to do that when Windows paths are not even accepted in API calls? >> Make it try to enter subdirectories every time std::filesystem is >> called? >> >> You refuse to understand that Cygwin is NOT Windows, it is a POSIX >> platform. Using Cygwin means complying with POSIX expectations and >> standards. >> >> I don't see how this conversation can continue if you still refuse to see >> Cygwin as something separate from Windows. Besides, you have already >> answered your question by ruling out MinGW, so Microsoft Visual Studio it >> is. > > I repeat (again); neither MinGW/MSVS is an option because we're trying to use Posix and C++ > > Just to be clear: > > - Our code DOESN'T handle Windows-style-paths explicitly in any way > - We DON'T expect Cygwin-Posix-file-related-functions to accept Windows-style-paths > - We WOULD like std::filesystem to work according to the C++ ISO standard Why would std::filesystem be an exception? How would it know if a backslash is part of a name and not a separator? How does it know when to apply exceptions? What about mixed paths? The C++ standard mentions separators, not specific characters, and the forward slash is used under Cygwin, not the Windows backslash. The bigger question would be how would you expect a Cygwin application to even accept a Windows paths. It should use *nix paths, as all Cygwin programs do.