Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Thu, 29 Jan 2004 17:41:15 -0500 (EST) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Graucsh cc: cygwin AT cygwin DOT com Subject: Re: Can cygwin be configured to always use mixed path output types? In-Reply-To: Message-ID: References: <20040129201608 DOT 92607 DOT qmail AT web13904 DOT mail DOT yahoo DOT com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Thu, 29 Jan 2004, Graucsh wrote: > Igor Pechtchanski wrote: > > Dan, > > > > My message was meant to say that Cygwin will accept Windows-style paths as > > input (the comment about path.cc was to make sure mixed-style paths were > > also accepted). If you want Cygwin to *generate* Win32-style paths, > > that's unlikely to happen. In fact, I can tell you right now that Cygwin > > is not going to be changed for better interoperability with either MKS or > > SFU. > > > > The best solution for you might be to create aliases (or exported > > functions) for each of the necessary commands that would invoke 'cygpath' > > on the output of the corresponding command (something like > > > > pwd() { > > cygpath -m "`command pwd`" > > } > > export pwd > > > > might do it). Hope this helps, > > Igor > > > > On Thu, 29 Jan 2004, Cohen Dan wrote: > > > > > >>Hi Igor et al., > >> > >>Here is what I am seeing the cygwin command prompt: > >> > >>$ pwd > >>/cygdrive/c/temp > >> > >>Here is what I would like to see: > >> > >>$ pwd > >>c:/temp > >> > >>I am fairly new to cygwin and am not entirely certain about the solution > >>you are proposing.. (For example, what do you mean by "check the latest > >>version of winsup/cygwin/path.cc."?) > >> > >>In any case, If there is no solution to this, then I know my course of > >>action and would only ask in the future that cygwin environment and > >>tools support the two modes (Even if that means losing some symbolic > >>link and Cygwin mounting capabilities). > >> > >>If I am wrong, I would appreciate an example of how to set this up.. > >>Thank you in advance. > >> > >>Dan > >> > >> > >>--- Igor Pechtchanski wrote: > >> > >>>On Thu, 29 Jan 2004, Cohen Dan wrote: > >>> > >>> > >>>>Hi, > >>>> > >>>>I have a project that requires me to use both cygwin and MKS.. MKS > >>>>primarily uses paths like "c:/temp" and cygwin has the path > >>>>"/cygdrive/c/temp". I know I can use cygpath (cygpath -m > >>>>/cygdrive/c/temp) to convert the cygwin path to "c:/temp" but that > >>>>solution will be very time consuming to implement in the very large > >>>>application I need to convert. I was wondering if there was a way to > >>>>configure cygwin to work with the mixed path mode instead of using > >>>>cygpath in my scripts. > >>>> > >>>>Thanks in advance. > >>>>Dan > >>> > >>>FWIW, Cygwin's file manipulation routines will understand the regular > >>>Win32-style paths (make sure to quote the backslashes in your shell). > >>>Programs that don't attempt to manipulate the paths themselves should > >>>work just fine with Windows paths. I believe (though I'm not as sure > >>>of it) that a 'single-letter-followed-by-a-colon-followed-by-a-slash' > >>>pattern is also used to indicate a Windows path and the DLL acts > >>>accordingly (i.e., mixed mode should also work). If you want to make > >>>sure, look in the latest version of winsup/cygwin/path.cc. > >>> > >>>Of course, if some program does attempt to process the path itself > >>>(e.g., walk through directories, etc), all bets are off. Also note > >>>that you will lose the benefit of Cygwin mounts and symlinks if you > >>>stick to Windows paths. > >>> Igor > > > > > Or, if you want to keep your cygwin space unix-y and only have > windows-style paths when mucking around under /cygdrive (one > line)(requires sed): > > alias pwd='pwd | sed "-es/^\/cygdrive\//:/" -eTz "-e s/\(:\)\(.\)/\2\1/" -e:a "-es/\//\\\/" -eta -e:z' > > Hope That's Of Use Hmm, I believe the OP didn't want "/home/blah", he wanted "C:/cygwin/home/blah". And for the /cygdrive/* cases, that's what cygpath does. Also, cygpath comes with the cygwin package, and sed requires installing a separate one. Besides, you can do it much simpler in sed, something like alias pwd='pwd | sed -e"s,^/cygdrive/\(.\),\1:," -eTz -e"s,/,\\\,g" -e:z' Or, since the OP wanted the mixed style ('/' instead of '\') even this alias pwd='pwd | sed -e"s,^/cygdrive/\(.\),\1:,"' :-) Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/