From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13363 invoked by alias); 10 Feb 2002 22:50:46 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Received: (qmail 13300 invoked from network); 10 Feb 2002 22:50:45 -0000 Received: from unknown (HELO darius.concentric.net) (207.155.198.79) by sources.redhat.com with SMTP; 10 Feb 2002 22:50:45 -0000 Received: from mcfeely.concentric.net (mcfeely.concentric.net [207.155.198.83]) by darius.concentric.net [Concentric SMTP Routing 1.0] id g1AMohk08906 ; Sun, 10 Feb 2002 17:50:43 -0500 (EST) Errors-To: Received: from Clemens.cris.com (da003d1568.sjc-ca.osd.concentric.net [64.1.6.33]) by mcfeely.concentric.net (8.9.1a) id RAA04276; Sun, 10 Feb 2002 17:50:39 -0500 (EST) Message-Id: <5.1.0.14.2.20020210144103.02846b60@pop3.cris.com> X-Sender: rrschulz@pop3.cris.com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Sun, 10 Feb 2002 14:50:00 -0000 To: Dmitry Bely , cygwin@cygwin.com From: Randall R Schulz Subject: Re: Multiple backslashes In-Reply-To: References: <5.1.0.14.2.20020210104242.02557d60@pop3.cris.com> <5.1.0.14.2.20020210095957.023d7eb0@pop3.cris.com> <5.1.0.14.2.20020210090253.00aa0608@pop3.cris.com> <5.1.0.14.2.20020210090253.00aa0608@pop3.cris.com> <5.1.0.14.2.20020210095957.023d7eb0@pop3.cris.com> <5.1.0.14.2.20020210104242.02557d60@pop3.cris.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-SW-Source: 2002-02/txt/msg00514.txt.bz2 Dmitry, I'm trying to help you, but you seem insistent on just declaring Cygwin buggy. It is not and it is possible for you to resolve the problem. I gave you all the information you need to do so. One last time, I'll answer your points... At 11:46 2002-02-10, you wrote: >Randall R Schulz writes: > > > If your XEmacs is a Windows app and not a Cygwin one, then my caveats > > apply because it is another example of a Windows process initiating a > > Cygwin program. > >It's not acceptable? How then to invoke the bash itself :-) I didn't say anything about "acceptable" or "unacceptable." Obviously, bash is being invoked. There's really just one way and it's the way XEmacs is doing it. > > From the Cygwin FAQ: > > -==- > > How does wildcarding (globbing) work? > > > > If the DLL thinks it was invoked from a DOS style prompt, it runs a > > `globber' over the arguments provided on the command line. This means > > that if you type LS *.EXE from DOS, it will do what you might expect. > > > > > > Beware: globbing uses malloc. If your application defines malloc, that > > will get used. This may do horrible things to you. > > > > -==- > >It has nothing to do with my case. There is no globs, just plain file names. It doesn't matter that the string you're passing has no glob characters, it is processed as the shell would ordinarily proccess the string _prior to invoking the program_. Because glob processing is done, escapes must be processed, too. That is the source of your problem. > > From the Cygwin User Guide (".../cygwin-ug-net/using-cygwinenv.html"): > > -==- > > (no)glob[:ignorecase] - if set, command line arguments containing > > UNIX-style file wildcard characters (brackets, question mark, > > asterisk, escaped with \) are expanded into lists of files that match > > those wildcards. This is applicable only to programs running from a > > DOS command line prompt. Default is set. > > > > -==- > >Again, no relation. Yes, it is directly related. Use the "noglob" option and your problem will be gone. You could at least have tried before writing this. > > So you see, you can tailor Cygwin's operations to your needs > >Don't see yet how to do that. Well, then I cannot help you beyond what I've already said. Learn about the tool you're using--there's no alternative other than stumbling around in the dark until you happen to get the result you want. > > (as, of course, you can alter XEmacs to your heart's content). > > > > Regardless of whether you consider this behavior a bug, it's one of > > the seams between the disparate environments (POSIX and Win32) that > > cannot be completely eradicated. I don't think you're going to get the > > Cygwin principals to agree that this is a bug. Obviously, it is a > > feature and what's more, a feature that you can control. > >Which feature? If Win32 paths are not handled properly inside bash, e.g. Which feature? The "CYGWIN=glob" feature which, as is clearly stated in the above manual excerpt, is set (on) be default. As I said, turn it off (CYGWIN=noglob) and you'll get what you want. >bash-2.05$ bash -c "c:/cygwin/bin/ls.exe" > [ ... works ... ] >bash-2.05$ bash -c "c:\\\\cygwin\\\\bin\\\\ls.exe" >bash: c:\cygwin\bin\ls.exe: command not found >bash-2.05$ > >why do you call this "a feature"? You're being obtuse. > > Lastly, don't forget that you need not disable globbing globally. You > > can always have XEmacs alter the CYGWIN environment locally so it > > applies only to those sub-processes it initiates. Note that some > > CYGWIN environment variable options apply globally and are only > > consulted when the cygwin1.dll is loaded. I don't think this is one, > > but I'm not sure (and I hope you won't think me lazy for not tracking > > down that detail!). > > > > > > Case closed? > >Not yet. It is for me. >Hope to hear from you soon, >Dmitry Randy -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/