delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/07/05/05:29:09

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
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" <Andrej DOT Borsenkow AT mow DOT siemens DOT ru>, <cygwin AT cygwin DOT com>
From: Michael Schaap <cygwin AT mscha DOT com>
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
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019