From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from euclid.skiles.gatech.edu (list@euclid.skiles.gatech.edu [130.207.146.50]) by melb.werple.net.au (8.7.5/8.7.3) with ESMTP id WAA29842 for ; Fri, 31 May 1996 22:18:00 +1000 (EST) Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id HAA08869; Fri, 31 May 1996 07:58:19 -0400 (EDT) Resent-Date: Fri, 31 May 1996 07:58:19 -0400 (EDT) Message-Id: <199605311158.NAA11119@hydra.ifh.de> To: zsh-workers@math.gatech.edu (Zsh hackers list) Subject: Re: execcmd() reordering Date: Fri, 31 May 1996 13:58:00 +0200 From: Peter Stephenson Resent-Message-ID: <"TUN2t.0.VA2.Rxjhn"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/1239 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu One extra simplification: the special handling for wild cards in cancd(), which handles autocd, can now be removed, since this now happens after globbing. I didn't realise the problem with backgrounding recursive globs before, since I've never tried it. I can't think of a way round other than using a subshell. Bummer. (Interruption is definitely OK, though.) *** Src/exec.c.cancd Fri May 31 09:36:00 1996 --- Src/exec.c Fri May 31 10:51:52 1996 *************** *** 2470,2488 **** (s[1] == '/' || !s[1] || (s[1] == '.' && (s[2] == '/' || !s[1]))); char *t; - if (haswilds(s)) { - LinkList l = newlinklist(); - int ne = noerrs; - - noerrs = 1; - addlinknode(l, dupstring(s)); - globlist(l); - if (!errflag && nonempty(l) && !nextnode(firstnode(l))) - s = peekfirst(l); - errflag = 0; - noerrs = ne; - } - if (*s != '/') { char sbuf[PATH_MAX], **cp; --- 2470,2475 ---- -- Peter Stephenson Tel: +49 33762 77366 WWW: http://www.ifh.de/~pws/ Fax: +49 33762 77330 Deutches Electronen-Synchrotron --- Institut fuer Hochenergiephysik Zeuthen DESY-IfH, 15735 Zeuthen, Germany.