From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28632 invoked from network); 5 Aug 1999 14:41:38 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 5 Aug 1999 14:41:38 -0000 Received: (qmail 23727 invoked by alias); 5 Aug 1999 14:41:26 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 7382 Received: (qmail 23720 invoked from network); 5 Aug 1999 14:41:25 -0000 X-Envelope-Sender-Is: Andrej.Borsenkow@mow.siemens.ru (at relayer thoth.mch.sni.de) From: "Andrej Borsenkow" To: "Sven Wischnowsky" , Subject: RE: PATCH: parameter and quoting (was: Re: Completion problems.) Date: Thu, 5 Aug 1999 18:41:23 +0400 Message-ID: <002d01bedf50$96ba92e0$21c9ca95@mow.siemens.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) In-Reply-To: <199908051426.QAA17397@beta.informatik.hu-berlin.de> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 > Then Andrej Borsenkow wrote: > > > Unfortunately, Single UNIX requires, that quotes be matched. This > is from the > > description of double-quotes: > > > > == > > Within the string of characters from an enclosed ${ to the matching > "}", an even > > number of unescaped double-quotes or single-quotes, if any, must occur. > > == > > > > It means, that preceding example MUST be > > > > echo "${a%\'}" > > Damn, I just had the patch... but even if we decide to follow the > standard and not ksh here, it will be easier with this patch. > Ehem ... reading it a bit more closely, it is still ambiguous. Single UNIX explicitly diallows "${foo%'}" - but it does not tell us, how to actually escape single quote in this case. Another line in the same paragraph says: == The backslash retains its special meaning as an escape character (see Escape Character (Backslash) ) only when followed by one of the characters: $ ` " \ == OTOH it contains valid example: unset bar foo="${bar-\}}" This implies, that in "${...}" backslash quotes } and (probably) ' ... horrors. Anybody has better description? /andrej