From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2179 invoked from network); 23 Oct 2007 14:05:34 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 23 Oct 2007 14:05:34 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 58504 invoked from network); 23 Oct 2007 14:05:27 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 23 Oct 2007 14:05:27 -0000 Received: (qmail 44 invoked by alias); 23 Oct 2007 14:05:16 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12086 Received: (qmail 25 invoked from network); 23 Oct 2007 14:05:15 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 23 Oct 2007 14:05:15 -0000 Received: (qmail 57222 invoked from network); 23 Oct 2007 14:05:15 -0000 Received: from smtp.ctxuk.citrix.com (HELO SMTP.EU.CITRIX.COM) (62.200.22.115) by a.mx.sunsite.dk with SMTP; 23 Oct 2007 14:05:10 -0000 X-IronPort-AV: E=Sophos;i="4.21,317,1188792000"; d="scan'208";a="11488456" Received: from lonpexchmx01.citrite.net ([10.30.224.191]) by LONPIPO01.EU.CITRIX.COM with ESMTP; 23 Oct 2007 10:05:09 -0400 Received: from lonpexch01.citrite.net ([10.30.224.136]) by lonpexchmx01.citrite.net with Microsoft SMTPSVC(6.0.3790.1830); Tue, 23 Oct 2007 15:04:11 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: Completion problems on cygwin when nocaseglob is set Date: Tue, 23 Oct 2007 15:04:01 +0100 Message-ID: In-Reply-To: <200710231156.l9NBuQwA019246@news01.csr.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Completion problems on cygwin when nocaseglob is set thread-index: AcgVa7IEaqnx6hcXTIm1LClDGv1ArAADxMUg References: <20a807210710200509t43730713oa909fce4e0a57940@mail.gmail.com><20071022103452.6c0580c6@news01><20071022123128.2db6000c@news01> <20071023101151.3757a369@news01> <200710231156.l9NBuQwA019246@news01.csr.com> From: "John Cooper" To: "Peter Stephenson" , "Zsh Users" Cc: "John Cooper" X-OriginalArrivalTime: 23 Oct 2007 14:04:11.0053 (UTC) FILETIME=[95ED95D0:01C8157D] Excellent - I can confirm "mkdir /c" does provide a workaround, and "ls /c/" now works. However, with "setopt nocaseglob", I can no longer complete using "ls c:/" regardless of whether I "mount -c /" or "mount -c /cygdrive". If I "setopt caseglob", I can then complete using "ls c:/". This again also used to work fine with "setopt nocaseglob" in zsh 4.2.6 (with earlier cygwin library) on WinXP. I've tried setting the following but they don't help: $ zstyle=20 fake-files :completion:* /:c /:d /:b /:o /:w /:r /:v accept-exact :completion:*:paths c: d: b: o: w: r: v: Btw, thanks very much for all the time you've spent looking into this. --- John. -----Original Message----- From: Peter Stephenson [mailto:pws@csr.com]=20 Sent: 23 October 2007 12:56 To: Zsh Users Subject: Re: Completion problems on cygwin when nocaseglob is set "John Cooper" wrote: > Setting the fake-files zstyle doesn't help. That's very strange, since that's got nothing to do with Cygwin and it does work elsewhere. But I can see that too, and I can see that fake-files does produce files that actually aren't there (e.g. if I use "/:a b c" I get a and b). However, unfortunately the setting in question disappears into the horrors of compfiles. This looks like a bug that may or may not be associated with the other problems. > "print /*" does not include "/c" after I "mount -c /" (I don't know > whether it should?). This is likely to be the cause of why this case is different (even if the shell is doing something a bit weird, too). If globbing can't see it compfiles won't. What's more, with this knowledge I can reproduce your problem: I had a directory /c that I was using for mount c: directly and with "cygpath -c /" this was appearing for globbing an the completion system. This gives a workaround, at least: "mkdir /c". I can't see why /c wouldn't appear to globbing, but it doesn't in bash either so presumably readdir() doesn't return it. This is a question for the Cygwin people. Since, as you say > If I "mount -c /cygdrive" then "print /*" includes "/cygdrive" (and > completion works), and "print /cygdrive/*" lists all my mounted drives. this looks to me like a bug, or at the least a limitation of overlaying the drives on an existing directory. > However, with zsh 4.2.6 (and an earlier version of cygwin) on WinXP, > "print /*" also does not include "/c", but completion works here. I've no idea why this would be different. None of the changes I can see in compfiles look like they would make a difference. It ought to be possible (even easy, if you know how to do it) to add a special case so that a statable file is always added as a match. However, maybe it should be doing that anyway. If anybody understood compfiles they might be able to answer this. I hesitate to do this without more thought. It would help if I could debug this on a native Unix operating system. --=20 Peter Stephenson Software Engineer CSR PLC, Churchill House, Cambridge Business Park, Cowley Road Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070