From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4138 invoked from network); 29 Sep 1997 10:30:51 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 29 Sep 1997 10:30:51 -0000 Received: (from list@localhost) by math.gatech.edu (8.8.5/8.8.5) id GAA23599; Mon, 29 Sep 1997 06:24:48 -0400 (EDT) Resent-Date: Mon, 29 Sep 1997 06:24:48 -0400 (EDT) Message-Id: <199709291025.MAA06202@sgi.ifh.de> To: zsh-workers@math.gatech.edu (Zsh hackers list) Subject: Re: is text file? In-reply-to: ""Bart Schaefer""'s message of "Sun, 28 Sep 1997 17:06:07 MET." <970928170607.ZM7789@candle.brasslantern.com> Date: Mon, 29 Sep 1997 12:25:21 +0200 From: Peter Stephenson Resent-Message-ID: <"6EyBK2.0.gm5.l7uBq"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3535 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu "Bart Schaefer" wrote: > % ls **/*~*(${~${(j/|/)fignore}})(.) > > (Somebody tell me why the extra ${~...} is needed in that expression.) The `|' needs to be tokenised. Otherwise, it looks for the pattern '.o|~|.pro|.dvi' or whatever as a literal file name. Since the string required by j is just that, a string not a pattern, it is untokenised when used to join the array. Or do you mean, why can't I put the ~ in the same ${...}, in which case, at least in 3.0.5 and 3.1.2, I think you can. % echo *(${(j/|/)~fignore}) Makefile~ builtin.c~ builtin.o ... I think Zoltan has recently updated the substitution code, though. (Or did you mean, why doesn't it go between the { and the (, in which case the answer is `it just doesn't, but maybe it should say so in the manual'.) -- Peter Stephenson Tel: +49 33762 77366 WWW: http://www.ifh.de/~pws/ Fax: +49 33762 77413 Deutsches Elektronen-Synchrotron --- Institut fuer Hochenergiephysik Zeuthen DESY-IfH, Platanenallee 6, 15738 Zeuthen, Germany.