From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28310 invoked from network); 13 Jul 2003 17:24:28 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 13 Jul 2003 17:24:28 -0000 Received: (qmail 18571 invoked by alias); 13 Jul 2003 17:24:21 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 18843 Received: (qmail 18561 invoked from network); 13 Jul 2003 17:24:21 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 13 Jul 2003 17:24:21 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [4.64.233.9] by sunsite.dk (MessageWall 1.0.8) with SMTP; 13 Jul 2003 17:24:20 -0000 Received: (from schaefer@localhost) by candle.brasslantern.com (8.11.6/8.11.6) id h6DHOID04801 for zsh-workers@sunsite.dk; Sun, 13 Jul 2003 10:24:18 -0700 From: Bart Schaefer Message-Id: <1030713172418.ZM4800@candle.brasslantern.com> Date: Sun, 13 Jul 2003 17:24:18 +0000 In-Reply-To: <871xwvm9rf.fsf@ceramic.fifi.org> Comments: In reply to Philippe Troin "Bug in ${(Q)...}" (Jul 12, 7:38pm) References: <871xwvm9rf.fsf@ceramic.fifi.org> X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.dk Subject: Re: Bug in ${(Q)...} MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Jul 12, 7:38pm, Philippe Troin wrote: } Subject: Bug in ${(Q)...} } } % setopt extended_glob } % echo $ZSH_VERSION "<${(Q)${$(print hello)/%hello#}}>" } 4.0.6 < > } } Shouldn't that be: } 4.0.6 <> } } (no space) This is indeed a bug. No process substitution required: schaefer<501> x=(hello) schaefer<502> setopt extendedglob schaefer<503> echo $ZSH_VERSION "<${(Q)${${x}/%hello#}}>" 4.1.1-dev-1 < > But it's not arrays, either, which I initially thought it was: schaefer<505> x=hello schaefer<506> echo $ZSH_VERSION "<${(Q)${${x}/%hello#}}>" 4.1.1-dev-1 < > schaefer<507> echo $ZSH_VERSION "<${(Q)${x/%hello#}}>" 4.1.1-dev-1 < > So I'm not sure if this is really a problem with (Q) in paramsubst(), or if it's deeper, in parse_subst_string(), and it just happens that (Q) makes it visible.