From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10361 invoked from network); 15 May 2001 09:29:28 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 15 May 2001 09:29:28 -0000 Received: (qmail 22208 invoked by alias); 15 May 2001 09:29:21 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 14347 Received: (qmail 22185 invoked from network); 15 May 2001 09:29:20 -0000 From: Sven Wischnowsky Date: Tue, 15 May 2001 11:28:50 +0200 (MET DST) Message-Id: <200105150928.LAA09646@beta.informatik.hu-berlin.de> To: zsh-workers@sunsite.dk Subject: Re: destructive list-expand In-Reply-To: <1010515053225.ZM11358@candle.brasslantern.com> Bart Schaefer wrote: > ... > > } I don't quite see where the quotes are getting stripped off, unless it's > } actually get_comp_string() that's at fault. > > Guess what ... around line 1376 of zle_tricky.c ... I'm at a loss for > what that code is meant to be doing or when it is ever the right thing. All this is so disgusting... sigh. That code is there to turn turn null tokens inside parameter expansions into their original forms (single or double quotes) so that later code can use them correctly because they won't be removed in the following loop. Unfortunately, this will only be done if we are completing *inside* the parameter expansion (the parameter name). I'll have to try if it is correct to change that part of the code to re-install quotes anywhere in a parameter expansion in the word (well, it sounds right, doesn't it?). But even with that there's still something fishy with list-expand which I haven't any further into yet. And with _expand and functions that call it: beta% e=( '${(M)${(f)"$(