Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-Id: <5.1.0.14.2.20010705112435.03520c60@imap.mscha.org> X-Sender: ml AT imap DOT mscha DOT org (Unverified) X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Thu, 05 Jul 2001 11:25:15 +0200 To: "Andrej Borsenkow" , From: Michael Schaap Subject: RE: Zsh observations In-Reply-To: <000101c10517$9c432f80$21c9ca95@mow.siemens.ru> References: <5 DOT 1 DOT 0 DOT 14 DOT 2 DOT 20010704215312 DOT 0425ae78 AT imap DOT mscha DOT org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: at mscha.com by AMaViSd snapshot-20010407 (http://amavis.org/) At 07:59 5-7-2001, Andrej Borsenkow wrote: >Zsh relies on system execve to find command. Basically, it does > >for dir in path > execve dir/cmd > >until it succeeds. We recently have a brief discussion on zsh-workers about >it. Irrespectivley if you consider it a bug or feature this was around for a >very long time. So the above lets suspect problem in Cygwin exec - sometimes >it fails to execute /a/hello.exe. Can you reliably reproduce it? Yes, I've figured it out. It only happens when "setopt correct" is set, the first instance of a file in the PATH has a .exe extension, and the second doesn't. Here's how to reproduce it. I created an executable /tmp/a/dummy.exe which prints "a", and a script "/tmp/b/dummy" which prints "b". Move all zsh initialisation files (/etc/z* and ~/.z*) away, and open a new zsh window. Now type: % PATH=/usr/bin:/tmp/a:/tmp/b % dummy a Open a new zsh window, and type: % PATH=/usr/bin:/tmp/a:/tmp/b % setopt correct % dummy b Conclusion: don't use "setopt correct" under Cygwin. :-( - Michael -- 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/