X-Spam-Check-By: sourceware.org Message-ID: <45A7AAC8.7060001@cygwin.com> Date: Fri, 12 Jan 2007 10:35:36 -0500 From: "Larry Hall (Cygwin)" Reply-To: cygwin AT cygwin DOT com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.9) Gecko/20061221 Fedora/1.5.0.9-1.fc4.remi Thunderbird/1.5.0.9 Mnenhy/0.7.4.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: command line arg expansion References: <004d01c7364b$fa9f4ee0$300b17ac AT sanmateo DOT corp DOT akamai DOT com> In-Reply-To: <004d01c7364b$fa9f4ee0$300b17ac@sanmateo.corp.akamai.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 . Reformatted. jim wrote: >> -----Original Message----- >> From: Larry Hall (Cygwin) [mailto:reply-to-list-only-lh cygwin com] >> Sent: Thursday, January 11, 2007 12:37 PM >> To: cygwin cygwin com ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ . No one wants the spam. Thanks. >> Subject: Re: command line arg expansion >> >> jim wrote: >>> I have recently upgraded from 1.5.12 to 1.5.23 and noticed >> something that >>> has me wondering. I compiled this on 1.5.23 and have run >> it under cmd.exe >>> on on 1.5.12 and 1.5.23: >>> >>> #include >>> >>> int main(int argc, char *argv[]) >>> { >>> int i, c; >>> >>> for (i = 0; i < argc; i++) >>> printf("arg[%d]: '%s'\n", i, argv[i]); } >>> >>> On 1.5.12: >>> C:\>e '/.*/' >>> arg[0]: 'e' >>> arg[1]: '/.*/' >>> >>> On 1.5.23: >>> C:\>e '/.*/' >>> arg[0]: 'e' >>> arg[1]: '/../' >>> arg[2]: '/./' >>> arg[3]: '/.other/' >>> >>> It appears that the runtime initialization on 1.5.23 is >> doing command line >>> expansion - is this correct? If so, is this change >> documented somewhere so >>> I get the full explanation? >> See . >> Look for the "(no)glob" explanation. > Thanks Larry. I had seen that option, but nothing to indicate that it had > changed between 1.5.12 and 1.5.23. Can anyone account for the difference > between these two versions? What I'm actually seeing is a behavior change > in a perl script that does something like: > > open(LS, "ls -dF1 /c* | grep '/.*/' |"); > > One way to fix this is wrap it with bash, but I'd like to understand exactly > what changed. Replacing grep with the program below showed me a > difference in the wild card expansion and that lead to the assumption that > wild cards are expanded differently - maybe it's something else? You may want to look at Perl too. Obviously, there's a difference between the command line and the operations in Perl but you may not be chasing the same problem by looking at the command line issue. Off-hand, I don't recall a conscious change here. The glob option has been there "forever" so if you see a difference in 1.5.12 vs now, I'd say it's fair to assume that the 1.5.12 behavior indicates a bug that has since been fixed. -- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 216 Dalton Rd. (508) 893-9889 - FAX Holliston, MA 01746 _____________________________________________________________________ A: Yes. > Q: Are you sure? >> A: Because it reverses the logical flow of conversation. >>> Q: Why is top posting annoying in email? -- 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/