For any executable not dependent on msys-1.0.dll, MSYS will convert POSIX paths that are used as arguments to Win32 paths. This page attempts to document the heuristics MSYS uses to decide which arguments are POSIX paths and how they should be converted based on the source of msys_p2w in path.cc.

I am a long user of Cygwin and I always thought that Cygwin has the similar behaviour on the transition from Cygwin executables to native executables. However, it seems to not be the case (you may try using notepad.exe with POSIX path and check the CMD).

How do I have similar functionality in Cygwin - implicit path conversion? Since all Cygwin executables are supporting native Win32 paths is there a way to disable passing POSIX paths even to Cygwin executables at all?

  • The Cygwin executables get their paths converted similar to how cygpath works. – phk Jan 30 '17 at 0:10
  • @phk cygpath is purely explicit, I need implicit conversions. What do you mean? – Euri Pinhollow Jan 30 '17 at 0:36
  • Not clear what you mean. Implicit conversion of command line arguments for not cygwin programs ? Cygwin dll do not convert the command line, it is passed as it is to the program. – matzeri Feb 1 '17 at 13:03
  • @matzeri read the quote. I now know that it does not change CMD and I ask whether there is a way around it. Aditionally Cygwin does not pass command ilne to Cygwin executables though Win32 API at all, the command line does not even contain any arguments if wincmdln is not set and if it is, it will only copy the command line for convenience. – Euri Pinhollow Feb 1 '17 at 16:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.