From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19127 invoked from network); 1 Sep 1999 09:33:36 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 1 Sep 1999 09:33:36 -0000 Received: (qmail 1892 invoked by alias); 1 Sep 1999 09:33:28 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7597 Received: (qmail 1885 invoked from network); 1 Sep 1999 09:33:25 -0000 Date: Wed, 1 Sep 1999 11:33:24 +0200 (MET DST) Message-Id: <199909010933.LAA32746@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Peter Stephenson's message of Wed, 01 Sep 1999 10:35:46 +0200 Subject: Re: PATCH: new parameter flag? Peter Stephenson wrote: > I suspect there may be an untokenization problem in the new parameter > flags, or is the following expected for some reason? > > % print ${(%):-%~} > > % print "${(%):-%~}" > /temp/pws/zsh-beta/Src Oops. Yes, two untokenize()s missing. > (by the way, is it supposed to work like that without a parameter name, or > is it just coincidence, because it's quite convenient?) I've made it work on the final result because I wanted to be able to do just this (and I expect it will be used often together with `(%)'.). Bye Sven --- os/subst.c Wed Sep 1 09:25:20 1999 +++ Src/subst.c Wed Sep 1 11:29:03 1999 @@ -1674,6 +1674,7 @@ ap = aval; for (; *ap; ap++) { unmetafy(*ap, &len); + untokenize(*ap); *ap = unmetafy(promptexpand(metafy(*ap, len, META_NOALLOC), 0, NULL, NULL), &len); } @@ -1681,6 +1682,7 @@ if (!copied) val = dupstring(val), copied = 1; unmetafy(val, &len); + untokenize(val); val = unmetafy(promptexpand(metafy(val, len, META_NOALLOC), 0, NULL, NULL), &len); } -- Sven Wischnowsky wischnow@informatik.hu-berlin.de