From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12298 invoked from network); 15 Apr 1998 08:38:49 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 15 Apr 1998 08:38:49 -0000 Received: (from list@localhost) by math.gatech.edu (8.8.5/8.8.5) id EAA18881; Wed, 15 Apr 1998 04:31:16 -0400 (EDT) Resent-Date: Wed, 15 Apr 1998 04:30:57 -0400 (EDT) From: Andrew Main Message-Id: <199804150830.JAA06021@taos.demon.co.uk> Subject: Re: foo.bar(:r) doesn't work To: talley@boulder.Central.Sun.COM (Steve Talley) Date: Wed, 15 Apr 1998 09:30:40 +0100 (BST) Cc: zsh-users@math.gatech.edu In-Reply-To: <199804142334.RAA01241@ipecac.Central.Sun.COM> from "Steve Talley" at Apr 14, 98 05:34:30 pm X-Loop: zefram@tao.co.uk X-Phase: The Moon is Waning Gibbous (90% of Full) X-Stardate: [-30]1006.77 X-US-Congress: moronic fuckers X-Mouse: +++ ????? +++ Out Of Cheese Error. Redo From Start. X-Parrot: no, it's only resting. X-Personality: INTJ X-email-is-not-HTML: X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"ww6GA2.0.dc4.017Dr"@math> Resent-From: zsh-users@math.gatech.edu X-Mailing-List: archive/latest/1453 X-Loop: zsh-users@math.gatech.edu X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Steve Talley wrote: >In zsh-3.1.2, "echo foo.bar(:r)" prints out "foo", whether foo.bar >exists or not. In 3.1.2-zefram4, I get the error "zsh: no match" when >foo.bar doesn't exist. This form was always documented as working only on the names of existing files. In prior versions there was special-case code to allow modifiers to be applied to any string without performing globbing, but in the glob changes for 3.1.2-zefram4 I simplified things a bit by making this actually invoke globbing. A side effect is that things like "foo(M)" now work as expected. You can get the effect you want -- applying modifiers to an arbitrary string -- via parameter expansion: "echo ${${:-foo.bar}:r}" has always been the correct way to do this. -zefram