X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Tue, 14 Jul 2009 11:47:51 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: ls and wildcards Message-ID: <20090714154751.GF6942@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20090714153643 DOT GL27613 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090714153643.GL27613@calimero.vinschen.de> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Tue, Jul 14, 2009 at 05:36:43PM +0200, Corinna Vinschen wrote: >On Jul 14 15:30, Eric Blake wrote: >> Karl M hotmail.com> writes: >> >> > I just noticed while looking around after updating dash that "ls /bin/*sh" >> does not find bash and dash, but >> > it does on my Fedora core 6 machine at work. I see the issue in both 1.5 and >> 1.7, attached is an example in >> > cygwin 1.7. >> >> [http://cygwin.com/acronyms/#PCYMTWLL] >> >> The issue is not ls, but glob() and fnmatch(), which do not have the same .exe >> magic as other functions. In short, fnmatch is merely comparing the pattern >> against the values returned by readdir(). Either we could teach readdir() to >> omit .exe (similar to how open() and stat() recognize 'ash' as a synonym >> for 'ash.exe'), or teach the pattern matchers to to ignore the .exe returned by >> readdir() (but still allow searches like *.exe to work). I'm sure that >> http://cygwin.com/acronyms/#PTC > >Hmm, both ideas sound nice. Probably not for Cygwin 1.7.1, but it's >something we could explore in a later release. Both together might be >especially helpful. I don't like the idea of having readdir lie about what's actually in the directory that sounds like it will complicate things. Having Cygwin's glob function assume that ".exe" matches EOL seems like it makes more sense. I realize that will mean modifying similar functions in bash and elsewhere. Btw, some versions of cmd.exe don't work well with executables which lack extensions. I just ran into this problem recently. I don't remember exactly where, probably it was with NT 4. cgf -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple