From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22206 invoked from network); 5 Nov 1999 15:09:25 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 5 Nov 1999 15:09:25 -0000 Received: (qmail 22110 invoked by alias); 5 Nov 1999 15:09:19 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 8569 Received: (qmail 22092 invoked from network); 5 Nov 1999 15:09:18 -0000 Date: Fri, 5 Nov 1999 16:09:15 +0100 (MET) Message-Id: <199911051509.QAA11300@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Tanaka Akira's message of 05 Nov 1999 23:52:25 +0900 Subject: Re: Bug with parameter expansion Tanaka Akira wrote: > In article <199911051251.NAA03010@beta.informatik.hu-berlin.de>, > Sven Wischnowsky writes: > > > Hm. As far as I know, even though `=' is in `SPECCHARS', it is only > > special if it is at the beginning of a word. So the patch makes it be > > quoted only then. > > It's also special just after colon or equal when magicequalsubst is > set. Jesses. I really wasn't thinking, was I? > Maybe, `~' should be treated as `='? Yep. Bye Sven diff -u oldsrc/utils.c Src/utils.c --- oldsrc/utils.c Fri Nov 5 13:52:21 1999 +++ Src/utils.c Fri Nov 5 16:07:09 1999 @@ -3073,7 +3073,10 @@ } continue; } - else if (ispecial(*u) && (*u != '=' || u == s) && + else if (ispecial(*u) && + ((*u != '=' && *u != '~') || + (u == s || (isset(MAGICEQUALSUBST) && + (u[-1] == '=' || u[-1] == ':')))) && (!instring || (isset(BANGHIST) && *u == (char)bangchar) || (instring == 2 && -- Sven Wischnowsky wischnow@informatik.hu-berlin.de